-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsimulation_binomial_3.R
65 lines (60 loc) · 1.94 KB
/
simulation_binomial_3.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# libraries
library(splines)
library(MASS)
library(lattice)
library(gridBase)
library(grid)
library(caret)
library(parallel)
library(mgcv)
library(viridis)
library(scales)
library(pryr)
library(gamlss)
library(inline)
library(foreach)
library(doParallel)
# functions
source("functions.R")
source("GijbelsProsdocimiClaeskens.R")
# simulation setup
cores <- detectCores()
registerDoParallel(cores)
data_distr <- "binomial"
phi <- 1
interval_p_mu <- c(0,1)
interval_p_gamma <- c(0,1)
interval_sd_mu <- c(0,3)
interval_sd_gamma <- c(0,6)
m_mu <- 30
m_gamma <- 20
cv_draws <- 500
samplesizes <- c(250,500,1000)
replicates <- 101
X <- list()
set.seed(12345)
for(i in 1:length(samplesizes)) {
x <- matrix(data=sort(runif(samplesizes[i])),nrow=samplesizes[i])
for (j in 2:replicates) {
x <- cbind(x,sort(runif(samplesizes[i])))
}
X[[i]] <- x
}
# simulation
i <- 3
N <- 70
for (j in 1:3) {
print(paste("Model: model_",sep="",i,j,"_binomial"))
model <- paste("model_",sep="",i,j,"_binomial")
assign(model,simulation_def(data_distribution=data_distr,phi=phi,nu=1,N=N,
b=function(x){b_binomial(x,N)},Db=function(x){Db_binomial(x,N)},
Db_inv=function(x){Db_inv_binomial(x,N)},D2b=function(x){D2b_binomial(x,N)},X=X,
truemean=testfunctions_mean[[i]],truemean_index=i,truedisp=testfunctions_disp[[j]],replicates=replicates,
samplesizes=samplesizes,interval_p_mu=interval_p_mu,interval_p_gamma=interval_p_gamma,
interval_sd_mu=interval_sd_mu,interval_sd_gamma=interval_sd_gamma,
cv_draws=cv_draws,cv_folds=5,learning_rate=list(method="ADADELTA",rho=0.95),
batch_size=30,m_mu=m_mu,m_gamma=m_gamma,cores=cores,progress=TRUE))
image <- paste("model_",sep="",i,1,"_to_",i,j,"_binomial.RData")
save.image(file=image)
cat("\n\n")
}