Spørsmål:
Forklaring av statistisk simulering
Curious
2012-02-05 17:39:29 UTC
view on stackexchange narkive permalink

Jeg er ikke statistiker. Så vær så snill å bære med feilene mine hvis noen.

Vil du forklare på en enkel måte hvordan simulering gjøres? Jeg vet at det plukker ut noen tilfeldige prøver fra en normalfordeling og bruk for simulering. Men, forstår det ikke klart.

Simulerer hva ?! :-)
Nøyaktig nitpicking, men noen ganger er spørsmål nedslående, og dette er en slik sak.
@phaedrus Er dette en kommentar til intensjonen min? Kan du i så fall forklare hva du forsto fra spørsmålet ovenfor?
Dette CV-spørsmålet kan også være av interesse: [Bruke datasimuleringer for bedre å forstå statistiske konsepter på høyere nivå] (http://stats.stackexchange.com/questions/38593/).
Fire svar:
ocram
2012-02-05 18:47:37 UTC
view on stackexchange narkive permalink

I statistikk brukes simulering for å vurdere ytelsen til en metode, vanligvis når det mangler teoretisk bakgrunn. Med simuleringer vet og kontrollerer statistikeren sannheten .

Simulering brukes med fordel i en rekke situasjoner. Dette inkluderer å gi empirisk estimering av samplingsfordelinger, studere feilspesifisering av antakelser i statistiske prosedyrer, bestemme kraften i hypotesetester osv.

Simuleringsstudier bør utformes med mye strenghet. Burton et al. (2006) ga en veldig fin oversikt i sin artikkel ' The design of simulation studies in medical statistics'. Simuleringsstudier utført i en rekke situasjoner kan bli funnet i referansene.

Enkelt illustrasjonseksempel Tenk på den lineære modellen

$$ y = \ mu + \ beta * x + \ epsilon $$

der $ x $ er et binært kovariat ($ x = 0 $ eller $ x = 1 $), og $ \ epsilon \ sim \ mathcal {N} (0, \ sigma ^ 2) $. Bruk simuleringer i R, la oss sjekke at

$$ E (\ hat {\ beta}) = \ beta. $$

  > # ------ innstillinger ------ > n <- 100 # prøvestørrelse > mu <- 5 # dette er ukjent i praksis > beta <- 2.7 # dette er ukjent i praksis> sigma <- 0.15 # dette er ukjent i praksis> # -------------------- > > # ------ sett frøet slik at dette eksemplet kan replikeres ------ > set.seed (937) > # ---------------------------- ----------------------------------- >> # ------ generere 1000 datasett og lagre betaHat ------ > betaHat <- numerisk (1000) > for (i i 1: 1000) + {+ #generere det binære kovariatet --> n Bernoulli forsøk + x <- prøve (x = c (0, 1) , størrelse = n, erstatt = SANT, prob = c (0,5, 0,5))
+ #generer feilene + epsilon <- rnorm (n = n, middel = 0, sd = sigma) + #form responsvariabelen + y <- mu + beta * x + epsilon + # det genererte datasettet + data_i <- data .ramme (y = y, x = x) + #passer modellen + mod <- lm (y ~ x, data = data_i) + # lagre estimatet av beta + betaHat [i] <- as.numeric (coef (mod) [2]) +} > # ------------------------------------------ ----------- > > # ------ E (betaHat) = beta? ------ > mean (betaHat) [1] 2.698609> # ------ ------------------------  

Merk : Det er en brev til redaktøren for papiret det er referert til ovenfor.

Fomite
2012-02-08 05:14:36 UTC
view on stackexchange narkive permalink

Først og fremst er det mange, mange forskjellige typer simuleringer i statistikk, og enda mer i de omkringliggende feltene. Bare det å si "Simulering" er omtrent like nyttig som å si "Modell" - det vil si ikke mye i det hele tatt.

Basert på resten av spørsmålet ditt, vil jeg gjette at du mener Monte Carlo simulering, men selv det er litt vagt. I utgangspunktet er det som skjer at du gjentatte ganger trekker prøver fra a distribusjon (det trenger ikke være normalt) for å gjøre noen statistiske analyser av en kunstig populasjon med kjente, men tilfeldige egenskaper.

Formålet med dette har en tendens til å falle i to kategorier:

Kan metoden min håndtere X? : I hovedsak simulerer du en serie med mange tilfeldige populasjoner med en kjent " riktig "svar for å se om den nye teknikken din gir deg tilbake det riktige svaret. La oss si at du har utviklet det du synes er en ny måte å måle sammenhengen mellom to variabler, X og Y, som et grunnleggende eksempel. Du vil simulere to variabler der verdien av Y er avhengig av verdien av X, sammen med noe tilfeldig støy. For eksempel, Y = 0,25x + støy. Deretter oppretter du en populasjon med noen tilfeldige verdier på X, noen verdier på Y som var 0,25x + et tilfeldig tall, sannsynligvis mange tusen ganger, og viser deretter at den nye teknikken din i gjennomsnitt spytter ut et tall som viser riktig at Y = 0,25x.

Hva skjer hvis? Simulering kan gjøres som en sensitivitetsanalyse for en eksisterende studie. La oss si for eksempel at jeg har kjørt en kohortstudie, men jeg vet at eksponeringsmålingen min ikke er veldig bra. Det klassifiserer 30% av fagene mine feil som utsatt når de ikke burde være, og klassifiserer 10% av fagene mine som ueksponerte når de ikke burde være. Problemet er at jeg ikke har en bedre test, så jeg vet ikke hvilken som er hvilken.

Jeg tar befolkningen min og gir hvert utsatt motiv 30% sjanse for å bytte til ueksponert, og hvert ueksponert emne 10% sjanse for å bytte til eksponert. Jeg vil da lage tusenvis av nye populasjoner, som tilfeldig bestemmer hvilke fag som bytter, og kjører analysen på nytt. Omfanget av disse resultatene vil gi meg et godt estimat av hvor mye studieresultatet mitt kan endre seg hvis jeg kunne ha klassifisert alle riktig.

Det er selvfølgelig som alltid større kompleksitet, nyanse og nytte for simulering , avhengig av hvor mye du vil grave.

1. Så det du forklarte i svaret ditt er Monte-Carlo simulering?2. Er det andre slags simuleringer (annet enn Monte-Carlo) som brukes i statistikk?
Michelle
2012-02-05 23:17:45 UTC
view on stackexchange narkive permalink

Simulering kan også brukes til å se på virkelige prosesser under teoretiske forhold, der disse prosessene har ikke-lineære innganger. For eksempel kan et produksjonsfirma være interessert i om det er kostnadseffektivt å legge til en ekstra produksjonslinje, et telefonsenter kan være interessert i hvordan man kan dirigere samtaler rundt operatører for å redusere tid-i-kø og sviktende priser for innringere, en beredskapsavdeling kan være interessert i hvordan man best kan arrangere og overføre pasienter, eller en fraktport kan være interessert i den mest effektive måten å utforme containeroperasjonen på. Diskret hendelsessimulering kan brukes til å modellere disse prosessene, og man kan justere parametrene for å svare på "hva om" -spørsmål. Disse simuleringstypene er viktige fordi man i virkelige situasjoner ofte ikke kan implementere den foreslåtte endringen og deretter se hva som skjer på grunn av kostnader, tid, kompleksitet osv.

Et annet interesseområde for simulering er komplekse systemer. Spesielt innen samfunnsvitenskap er agentbasert simulering en interessant type simulering som begynner å samle flere talsmenn. I agentbasert simulering får agentene (f.eks. Individuelle mennesker) attributter som personligheter og samhandler med hverandre, så det modellerer et kaotisk system. Agentbasert simulering ser på effekten av omkringliggende agenter på hverandre, og effekt-på-avstand kan inkluderes. Selv om jeg ikke har gjort noen agentbaserte simuleringer selv, har jeg sett det brukes til å modellere systemer som den geografiske spredningen av befolkningsstørrelse i et forhistorisk samfunn over tid.

Kan du gi noen eksempler?
Jeg er ikke sikker på hva du mener med noen eksempler.Jeg ga noen eksempler i mitt første avsnitt.
Xi'an
2012-02-05 20:55:16 UTC
view on stackexchange narkive permalink

Simulering gjengir tilfeldigheten som ligger i en statistisk prøve $ x_1, \ ldots, x_n $ ved hjelp av en pseudo-tilfeldig generator (f.eks. en normal generator som rnorm) og bruker reproduserbarheten til den pseudo-tilfeldige generasjonen for å utlede om distribusjon av en statistisk prosedyre brukt på det opprinnelige utvalget.

En spesielt viktig forekomst av simuleringsbasert statistisk teknikk er knyttet til bootstrap , introdusert av Efron (1979). Gitt et eksempel $ x_1, \ ldots, x_n $, den empiriske cdf $$ \ hat F_n (x) = \ frac {1} {n} \ sum_ {i = 1} ^ n \ mathbb {I} _ {x_i \ le x} $$ er en konvergent (i $ n $) tilnærming til den sanne cdf, $ F $. Derfor vil ethvert antall avhengig av $ F $, f.eks. en forventning, $ \ mathbb {E} _F [h (X)] $, eller fordelingen av en statistikk $ \ psi (X_1, \ ldots, X_n) $, kan tilnærmes med tilsvarende mengde under $ \ hat F_n $ . Som bare kan evalueres ved simulering, bortsett fra spesielle tilfeller. For eksempel å bestemme forspenningen til $$ \ hat \ sigma ^ 2_n (x_1, \ ldots, x_n) = \ frac {1} {n + 1} \ sum_ {i = 1} ^ n (x_i- \ bar x) ^ 2 $$ som en estimator av $ \ sigma ^ 2 = \ text {var} _F (X) $ kan gjøres med bootstrap: replikere eksempler på størrelse $ n $ $ x ^ * _ 1, \ ldots, x ^ * _ n $ fra $ \ hat F_n $ og beregne forskjellen $$ \ beta = \ hat \ sigma ^ 2_n (x ^ * _ 1, \ ldots, x ^ * _ n) - \ hat \ sigma ^ 2_n (x_1, \ ldots, x_n ) $$ Dette gir en simulert bootstrap-evaluering av skjevheten.

Jeg tror det er nyttig å skille to viktige konsepter bak bootstrapping-metoden. Bootstrap i seg selv bør betraktes som en måte å endre en estimator for å produsere en annen (forhåpentligvis bedre) estimator. Den kan beregnes teoretisk, nøyaktig og (noen ganger) i lukket form. Simuleringen er * ikke * en iboende del av bootstrap! Imidlertid er simulering i mange tilfeller en naturlig og enkel måte å * tilnærme * bootstrapestimatoren. Se introduksjonen og kapittel 1 i Hall, * The Bootstrap and Edgeworth Expansion. *
Når det gjelder redigering: dette er faktisk et fint eksempel på et tilfelle der bootstrap-skjevhetsestimatet kan beregnes nøyaktig i lukket form: $ E [\ beta \ | \ \ text {sample}] = - [2 / (n + 1) ] \ hat \ sigma ^ 2_n (x_1, \ ldots, x_n). $


Denne spørsmålet ble automatisk oversatt fra engelsk.Det opprinnelige innholdet er tilgjengelig på stackexchange, som vi takker for cc by-sa 3.0-lisensen den distribueres under.
Loading...