Afsnit 5.5: Simulationsbaseret metode

Ophobningsloven, som præsenteret i de to foregående afsnit, giver en simpel approksimation til beregning af standard error på en transformeret måling. Approksimationen bygger på, at funktionen, der indgår i beregningen, næsten er lineær i et område, der dækker det meste af variationsområdet for input til funktionen. I dette afsnit vil jeg beskrive en simuleringsmetode, der kan bruges, når vi ikke stoler på approksimationen.
Jeg starter med et simpelt eksempel for at illustrere ideerne. Udgangspunktet er en måling af parameteren og en tilhørende standard error . I forbindelse med ophobningsloven forestiller vi os, at vi approksimativt har, at er normalfordelt med middelværdi og en varians hvor er et skøn over Vores primære interesse er ikke parameteren men derimod parameteren For denne parameter har vi skønnet og da har vi fra ophobningsloven, at Lad os som et konkret numerisk eksempel sige, at og så får vi og fra ophobningsloven, at For at undersøge om denne værdi rammer rigtigt, ville det være optimalt at simulere et stort antal (nSim) observationer fra en -fordeling og beregne spredningen (RMSE) på de kvadrerede værdier det vil sige med Denne optimale tilgang kan vi ikke gennemføre, da og er ukendte. Vi gør i stedet det, at i simulationsprocessen erstatter vi med og med Vi simulerer således observationer fra en -fordeling og beregner med Hvis antallet af simulationer er stort, får man en simuleret standard error omkring , som er 4 procent over værdien 6.0 fra ophobningsloven.
Lad os fortsætte med et andet simpelt eksempel, hvor parameteren vi er interesseret i er , og hvor både parameter og måling altid er positive. Lad os betragte samme numeriske eksempel som ovenfor med og Da giver ophobningsloven Simulerer vi nu igen nye målinger som ovenfor, og beregner simuleret spredning som med får vi tal, der varierer kraftigt ved gentagelse af simuleringseksperimentet. Den følgende tabel viser dette i den øverste del, hvor der for hver værdi af nSim er lavet fire gentagelser af simuleringseksperimentet.
Grunden til den kraftige variation er, at der blandt de nSim simulerede værdier af vil være nogle få, der kommer tæt på nul, hvorved vi får meget store værdier af (enten store positive eller store negative). I simuleringen bliver vi nødt til at sikre os, at vi ikke får værdier, der kommer for tæt på nul (alle værdier skal være positive og holde sig borte fra nul). Her vil jeg implementere dette krav ved kun at betragte situationer, hvor , og i simuleringen tager jeg kun værdier med, for hvilke Alle de simulerede værdier vil således være over Med dette valg vil der cirka være procent af de oprindelige simulerede værdier fra en -fordeling, der frasorteres. Den nederste del i ovenstående tabel viser resultatet, når der simuleres som just beskrevet. Vi kan se, at vi får et stabilt resultat med en standard error på omkring 0.20. Dette er noget over (relativt set) værdien 0.11 fra ophobningsloven, og simuleringen giver her et vigtig korrektiv til resultatet fra ophobningsloven. Den store forskel skyldes, at standard error for er forholdsvis stor. Hvis vi ændrer denne fra 1.0 til 0.1, giver ophobningloven og simuleringseksperimentet giver også denne værdi.

5.5.1 Simuleret konfidensinterval

I de to eksempler ovenfor blev simuleringerne brugt til at forbedre skønnet over standard error for det transformerede skøn i tilfælde, hvor ophobningsloven ikke er præcis. I tilfælde hvor ophobningsloven ikke er præcis, vil det approksimative 95%-konfidensinterval fra Resultat 5.1.1 ofte heller ikke være præcist. Heldigvis kan vi bruge simuleringerne til også at forbedre konfidensintervallet. For at forstå dette lad os først bemærke, at konfidensintervallet ovenfor fremkommer ved at tage de værdier af , for hvilke
Grunden til dette er, at fordelingen af approksimativt er en standard normalfordeling. Forbedringen består i at erstatte og med værdier fundet ved simuleringen, således at der cirka er sandsynlighed 2.5 procent for at få værdier udenfor til hver sin side.
Til proceduren skal vi for hver simuleret værdi , beregne standard error via ophobninsloven, hvor vi bruger I det første eksempel ovenfor med giver dette og i det andet eksempel med får vi For hver simuleret værdi kan vi nu konstruere en standardiseret -værdi på formen
Ideen er nu, at fordelingen af disse -værdier forhåbentligt ligner fordelingen af Vi finder derfor 2.5% og 97.5% fraktilerne, og , blandt -værdierne, og laver et nyt konfidensinterval bestående af de værdier af for hvilke
Gennemføres proceduren i eksemplet med , og får vi og og det forbedrede konfidensinterval bliver Dette skal sammenlignes med det oprindelige konfidensinterval og med konfidensintervallet, hvor vi bruger den simulerede værdi for standard error,
Resultat 5.5.1. (Simuleret konfidensinterval)
Lad og være 2.5% og 97.5% fraktilerne blandt det vil sige, at 2.5% af værdierne ligger under og 2.5% af værdierne ligger over . Så er
et forbedret approksimativt 95%-konfidensinterval.
Ovenstående procedure til at forbedre henholdsvis standard error og konfidensinterval for en transformeret måling kan også gennemføres i et generelt setup, hvor er en funktion af underliggende parametere, . Jeg vil kun beskrive proceduren i situationen, hvor målingerne er uafhængige, således at nye målinger kan simuleres uafhængigt af hinanden som beskrevet ovenfor for en enkelt måling. Følgende Resultat beskriver simulationsmetoden trin for trin.
Resultat 5.5.2. (Algoritme til simulationsbaseret ophobninglov)
  1. Til rådighed er målte værdier og deres standard errors , , samt en parameterfunktion Det antages at de målinger er uafhængige.
  2. Beregn og standard error via ophobningsloven (hertil skal bruges de partielt afledede af , , udregnet i ).
  3. For simuleres nye "målte" værdier Den 'te værdi simuleres fra en -fordeling, eller fra denne fordeling begrænset til værdier større end hvis den 'te måling kun kan være positiv og der divideres med denne i funktionen
  4. Udregn, for , de målte transformerede værdier og deres tilhørende standard error via ophobningsloven (hertil indgår de partielt afledede af udregnet i , og standard errors ).
  5. Udregn simuleret standard error
  6. Udregn standardiserede -værdier,
    Find 2.5% og 97.5% fraktilerne, og , blandt Konstruer det simulerede approksimative 95%-konfidensinterval for som

5.5.2 Implementering af simuleret konfidensinterval

Koden nedenfor kan bruges generelt til at lave et simulationsbaseret konfidensinterval når de indgående variable er uafhængige. Man skal to steder indsætte eksempelspecifikke dele. I den første del angiver man først hvilke variable, der skal begrænses nedadtil, i form af en liste med 1 og 0, hvor 1 betyder, at variablen skal begrænses. Dernæst angiver man de målte værdier og deres standard errors. Formlen for den transformerede værdi skal så angives, og de afledede af denne med hensyn til de indgående variable, udregnet i de målte ærdier, skal angives. I den anden eksempelspecifikke del skal igen angives formlen for den transformerede værdi, nu udregnet for de simulerede værdier.
Den generelle kode eksemplificeres med Ohms lov fra afsnit 5.2, Dette svarer i det generelle setup til , målinger, og . Vi betragter situationen med målte værdier som i følgende tabel.

MATLAB-kode

Prøv at bruge den ovenstående generelle kode på det simple eksempel ovenfor med , og

Svar: Bruge kode

Da vi i dividerer med , ønsker vi at simulere denne således, at den holder sig positiv. Vi tager derfor poslist=[1]. De målte værdier indskrives i vektoren mu som [3], og de tilhørende standard errors indskrives i vektoren stds som [1.0]. Den transformerede værdi er hatTheta=1/mu, og den afledede er dthetaDmu=np.array([-1/mu**2]) (MATLAB: dthetaDmu=[-1/mu^2]).
I den anden eksempelspecifikke del af koden bliver de transformerede værdier tildeTheta=1/muSim[:,0] (MATLAB: tildeTheta=1./muSim(:,1)), og de afledede beregnes som dtildeDmu=np.array([-1/mu[:,0]**2]) (MATLAB: dtildeDmu=[-1./mu(:,1).^2]').

En web-version af et mere omfattende program kan findes via The NIST Uncertainty Machine.
ForegåendeNæste