Explication de la simulation statistique


10

Je ne suis pas statisticien. Alors, veuillez supporter mes erreurs, le cas échéant.

Pourriez-vous expliquer de manière simple comment se fait la simulation? Je sais qu'il prend un échantillon aléatoire dans une distribution normale et sert à la simulation. Mais, ne comprends pas clairement.


11
Simuler quoi?! :-)
chl

Exactement tatillonne, mais parfois les questions découragent le demandeur, et c'est un tel cas.
2012

1
@phaedrus Est-ce un commentaire à mon intention? Si oui, pourriez-vous expliquer ce que vous avez compris de la question ci-dessus?
chl

Réponses:


27

En statistique, la simulation est utilisée pour évaluer les performances d'une méthode, généralement en l'absence de connaissances théoriques. Avec les simulations, le statisticien connaît et contrôle la vérité .

La simulation est avantageusement utilisée dans un certain nombre de situations. Cela comprend la fourniture d'une estimation empirique des distributions d'échantillonnage, l'étude de la spécification erronée des hypothèses dans les procédures statistiques, la détermination de la puissance dans les tests d'hypothèse, etc.

Les études de simulation doivent être conçues avec beaucoup de rigueur. Burton et al. (2006) ont donné un très bon aperçu dans leur article « La conception des études de simulation en statistiques médicales ». Des études de simulation menées dans une grande variété de situations peuvent être trouvées dans les références.

Exemple illustratif simple Considérons le modèle linéaire

y=μ+βx+ϵ

où est une covariable binaire ( ou ), et . En utilisant des simulations dans R, vérifions quex = 0 x = 1 ϵ N ( 0 , σ 2 )xx=0x=1ϵN(0,σ2)

E(β^)=β.
> #------settings------
> n <- 100            #sample size                          
> mu <- 5             #this is unknown in practice                         
> beta <- 2.7         #this is unknown in practice
> sigma <- 0.15       #this is unknown in practice
> #--------------------
> 
> #------set the seed so that this example can be replicated------
> set.seed(937)
> #---------------------------------------------------------------
>
> #------generate 1000 data sets and store betaHat------
> betaHat <- numeric(1000)
> for(i in 1:1000)
+ {
+     #generate the binary covariate --> n Bernoulli trials
+   x <- sample(x=c(0, 1), size=n, replace=TRUE, prob=c(0.5, 0.5))
+     #generate the errors
+   epsilon <- rnorm(n=n, mean=0, sd=sigma)
+     #form the response variable      
+   y <- mu + beta * x + epsilon 
+     #the ith generated data set
+   data_i <- data.frame(y=y, x=x)
+     #fit the model
+   mod <- lm(y~x, data=data_i)
+     #store the estimate of beta
+   betaHat[i] <- as.numeric(coef(mod)[2])     
+ }    
> #-----------------------------------------------------
> 
> #------E(betaHat) = beta?------
> mean(betaHat)
[1] 2.698609
> #------------------------------

Remarque : Il y a une lettre à l'éditeur pour l'article référencé ci-dessus.


9

Tout d'abord, il existe de très nombreux types de simulation différents en statistique, et encore plus dans les domaines environnants. Dire simplement "Simulation" est à peu près aussi utile que dire "Modèle" - c'est-à-dire pas grand-chose du tout.

Sur la base du reste de votre question, je suppose que vous parlez de simulation de Monte Carlo, mais même cela est un peu vague. Fondamentalement, ce qui se passe, c'est que vous tirez à plusieurs reprises des échantillons d' une distribution (ce n'est pas nécessairement normal) afin de faire une analyse statistique sur une population artificielle avec des propriétés connues, mais aléatoires.

Le but de ceci a tendance à se diviser en deux catégories:

Ma méthode peut-elle gérer X? : Essentiellement, vous simulez une série de nombreuses populations aléatoires avec une «bonne» réponse connue pour voir si votre nouvelle technique vous donne la bonne réponse. Comme exemple de base, disons que vous avez développé ce que vous pensez être une nouvelle façon de mesurer la corrélation entre deux variables, X et Y. Vous simulez deux variables où la valeur de Y dépend de la valeur de X, avec du bruit aléatoire. Par exemple, Y = 0,25x + bruit. Vous créeriez ensuite une population avec des valeurs aléatoires de X, des valeurs de Y qui étaient 0,25x + un nombre aléatoire, probablement plusieurs milliers de fois, puis vous montreriez qu'en moyenne, votre nouvelle technique crache un nombre qui montre correctement que Y = 0,25x.

Ce qui se passe si? La simulation peut être effectuée comme une analyse de sensibilité pour une étude existante. Disons par exemple que j'ai mené une étude de cohorte, mais je sais que ma mesure d'exposition n'est pas très bonne. Il classe incorrectement 30% de mes sujets comme exposés alors qu'ils ne devraient pas l'être, et classe 10% de mes sujets comme non exposés alors qu'ils ne devraient pas l'être. Le problème est que je n'ai pas de meilleur test, donc je ne sais pas lequel est lequel.

Je prendrais ma population et donnerais à chaque sujet exposé 30% de chances de passer à non exposé, et chaque sujet non exposé 10% de chances de passer à exposé. Je créerais ensuite des milliers de nouvelles populations, déterminerais au hasard quels sujets changeraient et relancerais mon analyse. La gamme de ces résultats me donnera une bonne estimation de la façon dont mon résultat d'étude pourrait changer si j'aurais pu classer correctement tout le monde.

Il y a bien sûr, comme toujours, une plus grande complexité, nuance et utilité à la simulation, selon la quantité que vous voulez creuser.


1. Donc, ce que vous avez expliqué dans votre réponse, c'est la simulation Monte-Carlo? 2. Existe-t-il d'autres types de simulations (autres que Monte-Carlo) utilisées en statistique?
vasili111

5

La simulation peut également être utilisée pour examiner des processus réels dans des conditions théoriques, où ces processus ont des entrées non linéaires. Par exemple, une entreprise manufacturière peut être intéressée à savoir si l'ajout d'une ligne de production supplémentaire est rentable, un centre d'appels peut être intéressé par la façon d'acheminer les appels autour des opérateurs afin de réduire le temps d'attente et les taux de fardeau pour les appelants, un service d'urgence peut être intéressé par la meilleure façon de classer le personnel et de transférer les patients, ou un port d'expédition peut être intéressé par la manière la plus efficace d'organiser ses opérations de conteneurs. La simulation d'événements discrets peut être utilisée pour modéliser ces processus, et on peut ajuster les paramètres pour répondre aux questions de type «et si».

Un autre domaine d'intérêt en simulation est celui des systèmes complexes. En particulier en sciences sociales, la simulation basée sur les agents est un type de simulation intéressant qui commence à rassembler plus de partisans. Dans la simulation basée sur les agents, les agents (par exemple les individus) reçoivent des attributs tels que des personnalités et interagissent les uns avec les autres, de sorte qu'il modélise un système chaotique. La simulation basée sur les agents examine l'effet des agents environnants les uns sur les autres, et l'effet à distance peut être inclus. Bien que je n'aie moi-même fait aucune simulation basée sur un agent, je l'ai vu utilisé pour modéliser des systèmes tels que la répartition géographique de la taille de la population dans une communauté préhistorique au fil du temps.


Pouvez-vous donner quelques exemples?
vasili111

Je ne sais pas ce que vous entendez par quelques exemples. J'ai donné quelques exemples dans mon premier paragraphe.
Michelle

2

La simulation reproduit le caractère aléatoire inhérent à un échantillon statistique en utilisant un générateur pseudo-aléatoire (par exemple, un générateur normal comme rnorm) et utilise la reproductibilité de la génération pseudo-aléatoire pour déduire la distribution d'une procédure statistique appliqué à l'échantillon d'origine.x1,,xn

Un exemple particulièrement important de la technique statistique basée sur la simulation est lié au bootstrap , introduit par Efron (1979). Étant donné un échantillon , le cdf empirique est un convergent (en approximation) de la vraie fonction de répartition, . Par conséquent, toute quantité dépendant de , par exemple une attente, , ou la distribution d'une statistique , peut être approximée par la quantité correspondante sousx1,,xn

F^n(x)=1ni=1nIxix
nFFEF[h(X)]ψ(X1,,Xn)F^n. Qui ne peut être évalué que par simulation, sauf cas particuliers. Par exemple, déterminer le biais de comme estimateur de peut être fait par bootstrap: répliquer des échantillons de taille partir de et calculer la différence Ceci produit une évaluation bootstrap simulée du biais.
σ^n2(x1,,xn)=1n+1i=1n(xix¯)2
σ2=varF(X)n x1,,xnF^n
β=σ^n2(x1,,xn)σ^n2(x1,,xn)

3
Je pense qu'il est utile de séparer deux concepts essentiels derrière la méthode d'amorçage. Le bootstrap lui-même doit être considéré comme un moyen de modifier un estimateur pour produire un autre estimateur (espérons-le meilleur). Il peut être calculé théoriquement, exactement et (parfois) sous forme fermée. La simulation n'est pas une partie inhérente du bootstrap! Cependant, dans de nombreux cas, la simulation est un moyen naturel et facile d' approximer l'estimateur bootstrap. Voir l'introduction et le chapitre 1 dans Hall, The Bootstrap et Edgeworth Expansion.
whuber

1
Concernant l'édition: c'est en fait un bel exemple d'un cas où l'estimation du biais de bootstrap peut être calculée exactement sous forme fermée:E[β | sample]=[2/(n+1)]σ^n2(x1,,xn).
whuber
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.