Binomialmodellen beskriver situationen, hvor der laves n
uafhængige delforsøg, og i hvert af disse er der to mulige udfald.
Til sidst tælles der op, hvor mange af de n delforsøg der giver et bestemt af
de to udfald. Hvis sandsynligheden for dette udfald i det enkelte
delforsøg er p, og antallet af denne type udfald betegnes med den
stokastiske variabel X, skriver vi X∼binom(n,p).
Generelt kan man sige, at binomialmodellen beskriver situationen,
hvor vi kaster en skæv mønt n gange, hvor sandsynligheden for
krone er p, og tæller op, hvor mange gange vi fik krone.
Udover at p er sandsynligheden i det enkelte kast, kan
p 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), kalder vi n for
antalsværdien og p 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 ∼ og statistisk model)
Hvis X er en stokastisk variabel, angiver vi fordelingen
ved at skrive X∼fordelingsnavn. Stokastiske variable
angives som hovedregel ved store bogstaver. Når der er indsamlet
data, bruges et lille bogstav x 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 X angive antallet ud af n delforsøg med
et bestemt udfald, hvor der er sandsynlighed p for dette udfald.
Binomialmodellen til beskrivelse af dette skrives som
X∼binom(n,p),0≤p≤1.
For binomialmodellen kender I fra jeres calculuskursus følgende resultater:
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 fra en stokastisk
variabel Dkrystal∼binom(34,p),0≤p≤1. Hypotesen
om en bestemt andel af D-krystaller
er på formen H:p=p0, hvor p0 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 p=p0. I nogle
situationer kan man også være interesseret i ensidede alternativer
som for eksempel p>p0.Jeg formulerer nu generelt test i
binomialfordelingen og tilhørende p-værdi.
Resultat 1.2.3.
(P-værdi for test af andel)
Betragt den statistiske model X∼binom(n,p),0≤p≤1, og
hypotesen p=p0 mod alternativet p=p0. Som teststørrelse bruger vi
T(X)=∣X−np0∣, og p-værdien for en observation x med
tilhørende teststørrelse
t=T(x) er
I python beregnes sandsynligheder P(X=x) og fordelingsfunktionen P(X≤x) i
tilfældet X∼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 p-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), altså x er ikke inkluderet;
sf står for survival function).I kodevinduet nedenfor beregnes
p-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 (n) 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?
I eksemplet er det forventede antal 17, og p-værdien er sandsynligheden
for værdier ≤13 og ≥21. Hvis imidlertid vi skriver
binom.sf(21,34,0.5), får vi sandsynligheden P(X>21), og
ikke P(X≥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.