Erklärung der statistischen Simulation


10

Ich bin kein Statistiker. Also, bitte ertragen Sie meine Fehler, wenn überhaupt.

Würden Sie bitte auf einfache Weise erklären, wie die Simulation durchgeführt wird? Ich weiß, dass es eine zufällige Stichprobe aus einer Normalverteilung auswählt und zur Simulation verwendet. Aber verstehe nicht klar.


11
Was simulieren?! :-)
chl

Genau das Nitpicking, aber manchmal entmutigen Fragen den Fragesteller, und dies ist ein solcher Fall.
Amit

1
@phaedrus Ist das ein Kommentar zu meiner Absicht? Wenn ja, können Sie erklären, was Sie aus der obigen Frage verstanden haben?
Chl

Antworten:


27

In der Statistik wird die Simulation verwendet, um die Leistung einer Methode zu bewerten, typischerweise wenn ein theoretischer Hintergrund fehlt. Mit Simulationen kennt und kontrolliert der Statistiker die Wahrheit .

Die Simulation wird in einer Reihe von Situationen vorteilhaft eingesetzt. Dies umfasst die Bereitstellung der empirischen Schätzung von Stichprobenverteilungen, die Untersuchung der Fehlspezifikation von Annahmen in statistischen Verfahren, die Bestimmung der Leistung in Hypothesentests usw.

Simulationsstudien sollten mit viel Genauigkeit entworfen werden. Burton et al. (2006) gaben in ihrer Arbeit ' Das Design von Simulationsstudien in der medizinischen Statistik ' einen sehr schönen Überblick . Simulationsstudien, die in einer Vielzahl von Situationen durchgeführt wurden, finden sich in den Referenzen.

Einfaches veranschaulichendes Beispiel Betrachten Sie das lineare Modell

y=μ+βx+ϵ

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
> #------------------------------

Hinweis : Für das oben genannte Papier liegt ein Brief an den Herausgeber vor.


9

Erstens gibt es in der Statistik viele, viele verschiedene Arten von Simulationen und in den umliegenden Bereichen noch mehr. Nur "Simulation" zu sagen ist ungefähr so ​​nützlich wie "Modell" zu sagen - das heißt, überhaupt nicht viel.

Basierend auf dem Rest Ihrer Frage werde ich vermuten, dass Sie Monte-Carlo-Simulation meinen, aber selbst das ist ein wenig vage. Grundsätzlich werden wiederholt Stichproben aus einer Verteilung gezogen (dies muss nicht normal sein), um eine statistische Analyse einer künstlichen Population mit bekannten, aber zufälligen Eigenschaften durchzuführen.

Der Zweck hierfür besteht in zwei Kategorien:

Kann meine Methode mit X umgehen? : Im Wesentlichen simulieren Sie eine Reihe vieler zufälliger Populationen mit einer bekannten "richtigen" Antwort, um festzustellen, ob Ihre neue Technik Ihnen die richtige Antwort zurückgibt. Nehmen wir als grundlegendes Beispiel an, Sie haben eine Ihrer Meinung nach neue Methode entwickelt, um die Korrelation zwischen zwei Variablen, X und Y, zu messen. Sie würden zwei Variablen simulieren, bei denen der Wert von Y zusammen mit dem Wert von X abhängig ist etwas zufälliges Rauschen. Zum Beispiel ist Y = 0,25x + Rauschen. Sie würden dann eine Population mit einigen Zufallswerten von X erstellen, einige Werte von Y, die 0,25x + eine Zufallszahl waren, wahrscheinlich viele, viele tausend Male, und dann zeigen, dass Ihre neue Technik im Durchschnitt eine Zahl ausspuckt, die zeigt richtig, dass Y = 0,25x.

Was passiert wenn? Die Simulation kann als Sensitivitätsanalyse für eine vorhandene Studie durchgeführt werden. Nehmen wir zum Beispiel an, ich habe eine Kohortenstudie durchgeführt, aber ich weiß, dass meine Expositionsmessung nicht sehr gut ist. 30% meiner Probanden werden fälschlicherweise als exponiert eingestuft, wenn sie nicht exponiert sein sollten, und 10% meiner Probanden werden als nicht exponiert klassifiziert, wenn sie nicht exponiert sein sollten. Das Problem ist, ich habe keinen besseren Test, also weiß ich nicht, welcher welcher ist.

Ich würde meine Bevölkerung nehmen und jedem exponierten Subjekt eine 30% ige Chance geben, zu einem unbelichteten zu wechseln, und jedem unbelichteten Subjekt eine 10% ige Chance, zu einem exponierten zu wechseln. Ich würde dann Tausende neuer Populationen erstellen, zufällig bestimmen, welche Themen wechseln, und meine Analyse wiederholen. Der Bereich dieser Ergebnisse gibt mir eine gute Einschätzung darüber, wie stark sich mein Studienergebnis ändern könnte, wenn ich alle korrekt hätte klassifizieren können.

Wie immer ist die Simulation natürlich komplexer, nuancierter und nützlicher, je nachdem, wie viel Sie graben möchten.


1. Was Sie in Ihrer Antwort erklärt haben, ist die Monte-Carlo-Simulation? 2. Gibt es andere Arten von Simulationen (außer Monte-Carlo), die in der Statistik verwendet werden?
Vasili111

5

Die Simulation kann auch verwendet werden, um reale Prozesse unter theoretischen Bedingungen zu betrachten, bei denen diese Prozesse nichtlineare Eingaben haben. Beispielsweise kann ein Fertigungsunternehmen daran interessiert sein, ob das Hinzufügen einer zusätzlichen Produktionslinie kostengünstig ist, und ein Callcenter kann daran interessiert sein, wie Anrufe an Betreiber weitergeleitet werden können, um die Wartezeit und die Sperrraten für Anrufer zu verringern. Dies kann eine Notaufnahme tun Sie sind daran interessiert, wie Mitarbeiter am besten zusammengestellt und Patienten transferiert werden können, oder ein Schifffahrtshafen ist möglicherweise an der effizientesten Art und Weise interessiert, seine Containeroperationen zu gestalten. Eine diskrete Ereignissimulation kann verwendet werden, um diese Prozesse zu modellieren, und man kann die Parameter anpassen, um Fragen vom Typ "Was wäre wenn" zu beantworten.

Ein weiterer Bereich, der für die Simulation von Interesse ist, sind komplexe Systeme. Insbesondere in den Sozialwissenschaften ist die agentenbasierte Simulation eine interessante Art der Simulation, bei der immer mehr Befürworter zusammenkommen. In der agentenbasierten Simulation erhalten die Agenten (z. B. einzelne Personen) Attribute wie Persönlichkeiten und interagieren miteinander, sodass ein chaotisches System modelliert wird. Die agentenbasierte Simulation untersucht die Auswirkungen der umgebenden Agenten auf einander, und die Fernwirkung kann einbezogen werden. Obwohl ich selbst keine agentenbasierten Simulationen durchgeführt habe, habe ich gesehen, dass damit Systeme wie die geografische Verteilung der Bevölkerungsgröße in einer prähistorischen Gemeinschaft im Laufe der Zeit modelliert wurden.


Können Sie bitte einige Beispiele nennen?
Vasili111

Ich bin mir nicht sicher, was Sie mit einigen Beispielen meinen. Ich habe in meinem ersten Absatz einige Beispiele gegeben.
Michelle

2

x1,,xn

x1,,xn

F^n(x)=1ni=1nIxix
nFFEF[h(X)]ψ(X1,,Xn)F^n
σ^n2(x1,,xn)=1n+1i=1n(xix¯)2
σ2=varF(X)n x1,,xnF^n
β=σ^n2(x1,,xn)σ^n2(x1,,xn)

3
Ich halte es für nützlich, zwei wesentliche Konzepte hinter der Bootstrapping-Methode zu trennen. Der Bootstrap selbst sollte als eine Möglichkeit angesehen werden, einen Schätzer zu modifizieren, um einen anderen (hoffentlich besseren) Schätzer zu erzeugen. Sie kann theoretisch, genau und (manchmal) in geschlossener Form berechnet werden. Die Simulation ist kein fester Bestandteil des Bootstraps! In vielen Fällen ist die Simulation jedoch eine natürliche und einfache Möglichkeit, den Bootstrap-Schätzer zu approximieren . Siehe die Einführung und Kapitel 1 in Hall, The Bootstrap und Edgeworth Expansion.
whuber

1
E[β | sample]=[2/(n+1)]σ^n2(x1,,xn).
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.