myrnorm <- function(mu,s2,sample.size) {
s <- rnorm(n=sample.size,mean=mu,sd=sqrt(s2))
return(c(mean=mean(s),var=var(s)))
} # simulate means and variances of normal samples of size 'sample.size'
set.seed(123)
# pseudo-sample with stands for the actual data to be analyzed:
Sobs <- myrnorm(mu=4,s2=1,sample.size=20)
# Uniform sampling in parameter space:
npoints <- 3000
parsp <- data.frame(mu=runif(npoints,min=2.8,max=5.2),
s2=runif(npoints,min=0.4,max=2.4),sample.size=20)
# Build simulation table:
simuls <- add_reftable(Simulate="myrnorm",par.grid=parsp)
# Infer surface (nbCluster argument for fast demo only):
densv <- infer_SLik_joint(simuls,stat.obs=Sobs,nbCluster=2)
# Usual workflow using inferred suface:
slik <- MSL(densv) ## find the maximum of the log-likelihood surface
plot(slik)
# More workflow and other auxiliary functions (not run):
#slik <- refine(slik) ## refine iteratively
#profile(slik,c(mu=4)) ## profile summary logL for given parameter value
#confint(slik,"mu") ## compute confidence interval for given parameter
#plot1Dprof(slik,pars="s2",gridSteps=40) ## 1D profile
Run the code above in your browser using DataLab