Afsnit 2.3: Illustration af konfidensinterval ved simulering
I python kan man simulere observationer fra en fordeling ved at sætte
.rvs efter fordelingsnavnet. Således vil
kommandoen st.binom.rvs(34,0.5,0,100) simulere 100 uafhængige
udfald fra en binomialfordeling med antalsværdi og
sandsynlighedsparameter
Ved at benytte simulerede værdier
kan det undersøges, hvor ofte et konfidensinterval indeholder den
sande værdi af parameteren. Det "smarte" ved at simulere er, at vi
netop kender den sande værdi af parameteren, nemlig den værdi af
parameteren vi selv vælger ved kaldet af simulationsfunktionen.
Kør nedenstående kode og svar på de efterfølgende spørgsmål.
Hvilken binomialfordeling simuleres der fra i kodevinduet ?
Hvor mange observationer bliver der simuleret ?
Hvad beregnes i lower ?
Hvad repræsenterer værdien, der skrives ud ?
Prøv at køre koden et par gange og se variationen i resultatet.
Prøv dernæst at ændre til og kør koden nogle gange.
Er der noget, der undrer dig ved resultaterne for de to situationer ?
Her beregnes de nedre grænser i 95%-konfidensintervallerne
hørende til alle de simulerede observationer.
Den udskrevne værdi er frekvensen blandt de simulerede observationer,
hvor konfidensintervallet indeholder den sande værdi af parameteren.
De værdier, man får ud med
ser ud til at svinge mellem 0.965 og 0.966.
Når ændres til 0.71 svinger værdierne mellem 0.947 og 0.948.
I begge tilfælde får vi noget, der ligger tæt på det ønskede 0.95,
men da 0.70 og 0.71 er tæt på hinanden, kunne man umiddelbart tro,
at de to frekvenser ville være tæt på hinanden. Når vi kan se en tydelig
forskel mellem de to frekvenser, skyldes det den diskrete natur af
binomialfordelingen (kan kun antage heltallige værdier mellem 0 og )
og dermed også den diskrete natur af de mulige konfidensintervaller.