Afsnit 1.2: Binomialmodellen

Binomialmodellen beskriver situationen, hvor der laves nn uafhængige delforsøg, og i hvert af disse er der to mulige udfald. Til sidst tælles der op, hvor mange af de nn delforsøg der giver et bestemt af de to udfald. Hvis sandsynligheden for dette udfald i det enkelte delforsøg er p,p, og antallet af denne type udfald betegnes med den stokastiske variabel X,X, skriver vi Xbinom(n,p).X\sim\text{binom}(n,p). Generelt kan man sige, at binomialmodellen beskriver situationen, hvor vi kaster en skæv mønt nn gange, hvor sandsynligheden for krone er p,p, og tæller op, hvor mange gange vi fik krone. Udover at pp er sandsynligheden i det enkelte kast, kan pp også tolkes som andelen af krone i uendelig mange kast af mønten, eller som andelen af krone i "populationen" af møntkast. I binomialfordelingen, binom(n,p),\text{binom}(n,p), kalder vi nn for antalsværdien og pp for sandsynlighedsparameteren. Et vigtigt element i Statistisk Datananalyse med Python er at vænne jer til at beskrive et eksperiment gennem en statistisk model. En statistisk model involverer en eller flere stokastiske variable, og det er vigtigt at I vænner jer til dette begreb. En stokastisk variabel repræsenterer udfaldet af et eksperiment før dette gennemføres, og vil give en ny værdi hver gang eksperimentet gentages.
Definition 1.2.1. (Fordelingsnotation \sim og statistisk model)
Hvis XX er en stokastisk variabel, angiver vi fordelingen ved at skrive Xfordelingsnavn.X\sim\mathit{fordelingsnavn}. Stokastiske variable angives som hovedregel ved store bogstaver. Når der er indsamlet data, bruges et lille bogstav xx til at angive den målte værdi.
I en statistisk model til beskrivelse af et eksperiment angives de stokastiske variable, der måles, og man angiver deres fordelinger. Disse fordelinger vil typisk indeholde ukendte parametre, som man netop ønsker at sige noget om gennem eksperimentet. Variationsområdet for parametrene er en del af den statistiske model.
For at kunne referere til binomialmodellen kommer her en formel angivelse.
Statistisk Model 1.2.2. (Binomialmodellen)
Lad den stokastiske variabel XX angive antallet ud af nn delforsøg med et bestemt udfald, hvor der er sandsynlighed pp for dette udfald. Binomialmodellen til beskrivelse af dette skrives som
Xbinom(n,p),0p1. X\sim\text{binom}(n,p),\enspace 0\leq p\leq 1.
For binomialmodellen kender I fra jeres calculuskursus følgende resultater:
P(X=x)=(nx)px(1p)nx,x=0,1,,n,E(X)=np,Var(X)=np(1p).(1.2.1)\begin{aligned} & P\big(X=x\big)=\binom{n}{x}p^x(1-p)^{n-x},\enspace x=0,1,\ldots,n, \\ & E(X)=np,\quad \text{Var}(X)=np(1-p). \end{aligned}\tag{1.2.1}
Vi kan nu vende tilbage til Kipping og Popes krystaleksperiment fra afsnit 1.1 og beskrive situationen således, at vi har observationen dkrystal=13\text{dkrystal}=13 fra en stokastisk variabel Dkrystalbinom(34,p),\text{Dkrystal}\sim\text{binom}(34,p), 0p1.0\leq p\leq 1. Hypotesen om en bestemt andel af D-krystaller er på formen H:p=p0,H:\enspace p=p_0, hvor p0p_0 er den værdi, vi ønsker at undersøge. Når man tester en hypotese, bør det også overvejes, hvad er alternativet, hvis hypotesen ikke er sand. I de fleste tilfælde i disse noter vil alternativet blot være alle mulige andre værdier af parameteren, her pp0.p\neq p_0. I nogle situationer kan man også være interesseret i ensidede alternativer som for eksempel p>p0.p>p_0.
Jeg formulerer nu generelt test i binomialfordelingen og tilhørende pp-værdi.
Resultat 1.2.3. (PP-værdi for test af andel)
Betragt den statistiske model Xbinom(n,p),X\sim\text{binom}(n,p), 0p1,0\leq p\leq 1, og hypotesen p=p0p=p_0 mod alternativet pp0.p\neq p_0. Som teststørrelse bruger vi T(X)=Xnp0,T(X)=|X-np_0|, og pp-værdien for en observation xx med tilhørende teststørrelse t=T(x)t=T(x) er
p-værdi=P(Xnp0t)+P(Xnp0+t). p\text{-værdi}=P(X\leq np_0-t)+P(X\geq np_0+t).

1.2.4 Beregning i python af p-værdi for test af andel

I python beregnes sandsynligheder P(X=x)P(X=x) og fordelingsfunktionen P(Xx)P(X\leq x) i tilfældet Xbinom(n,p)X\sim\text{binom}(n,p) med kommandoerne st.binom.pmf(x,n,p) og st.binom.cdf(x,n,p) (efter at scipy.stats modulet er importeret som st; pmf står for point mass function; cdf står for cumulative distribution function). Til beregning af pp-værdien skal vi også bruge 1-st.binom.cdf(x,n,p) som i python kan beregnes med kommandoen st.binom.sf(x,n,p) (bemærk, at dette er sandsynligheden P(X>x)P(X>x), altså xx er ikke inkluderet; sf står for survival function).
I kodevinduet nedenfor beregnes pp-værdien for test af Kipping og Popes hypotese for data i det foregående afsnit. Koden kan bruges generelt, hvis man selv indskriver det observerede antal (xobs), antal forsøg (nn) og værdien af sandsynlighedsparameteren (p0), der ønskes testet.
Prøv at køre koden som den står. Prøv dernæst at fjerne linjerne med if-delen i udregningen af pval og kør koden igen. Kan du forklare, hvorfor det er nødvendigt at medtage if-delen i beregningen?

Svar: Binomial p-værdi

I eksemplet er det forventede antal 17, og pp-værdien er sandsynligheden for værdier 13\leq 13 og 21\geq 21. Hvis imidlertid vi skriver binom.sf(21,34,0.5), får vi sandsynligheden P(X>21),P(X>21), og ikke P(X21).P(X\geq 21). Derfor må vi skrive et tal lidt under 21, som gøres i programmet ved at trække 0.5 fra. Dog skal vi kun trække noget fra, hvis den øvre grænse xupper er et heltal, hvorfor der i koden er brugt et "if"-statement.

ForegåendeNæste