Simulazione de novo di dati da un frame di dati di progettazione sperimentale.
Con un focus su R (anche se la soluzione di un'altra lingua sarebbe ottima).
Nel progettare un esperimento o un sondaggio, simulare i dati e condurre un'analisi su questi dati simulati può fornire una visione eccezionale dei vantaggi e dei punti deboli del progetto.
Tale approccio può anche essere essenziale per la comprensione e l'uso corretto dei test statistici.
Tuttavia, questo processo tende ad essere un po 'noioso e molti sono portati a saltare questo importante passaggio in un esperimento o in un sondaggio.
I modelli statistici e i test contengono la maggior parte delle informazioni richieste per simulare i dati (incluso un presupposto o una dichiarazione esplicita della distribuzione).
Dato un modello di analisi (e le ipotesi associate, ad es. Normalità ed equilibrio), i livelli di un fattore e una misura di significatività (come il valore p), vorrei ottenere dati simulati (idealmente con una funzione generalizzata simile a print (), predict (), simulate ()).
È possibile un tale quadro di simulazione generalizzato?
In tal caso, tale quadro è attualmente disponibile?
Esempio, vorrei una funzione, come ad esempio:
sim(aov(response~factor1+factor2*factor3),
p.values=list(factor1=0.05,
factor2=0.05,
factor3=0.50,
factor2:factor3=0.05),
levels=list(factor1=1:10,
factor2=c("A", "B", "C"),
factor3=c("A", "B", "C")))
cioè una versione generalizzata di:
sim.lm<-function(){
library(DoE.base)
design<-fac.design(nlevels=c(10,3,3),
factor.names=c("factor1", "factor2", "factor3"),
replications=3,
randomize=F)
response<-with(design, as.numeric(factor1)+
as.numeric(factor2)+
as.numeric(factor3)+
as.numeric(factor2)*as.numeric(factor3)+
rnorm(length(factor1)))
simulation<-data.frame(design, response)}
O
sim(glm(response~factor1+factor2*factor3, family=poisson),
p.values=list(factor1=0.05,
factor2=0.05,
factor3=0.50,
factor2:factor3=0.05),
levels=list(factor1=1:10,
factor2=c("A", "B", "C"),
factor3=c("A", "B", "C")))
O
library(lme4)
sim(lmer(response~factor1+factor2 + (factor2|factor3)),
F_value=list(factor1=50,
factor2=50),
levels=list(factor1=1:10,
factor2=c("A", "B", "C"),
factor3=c("A", "B", "C")))
che creerebbe un data.frame corrispondente completo
potenziali esempi di funzioni specifiche (modificare a piacere)
- arima.sim
esiste una funzione per creare un data.frame dei livelli di fattore, senza la risposta modellata:
ad es. conf.design
http://cran.r-project.org/web/views/ExperimentalDesign.html