Hoe betrouwbaarheidsintervallen in python te berekenen
Een betrouwbaarheidsinterval voor een gemiddelde is een reeks waarden die waarschijnlijk een populatiegemiddelde met een bepaald betrouwbaarheidsniveau bevatten.
Het wordt als volgt berekend:
Betrouwbaarheidsinterval = x +/- t*(s/√n)
Goud:
- x : steekproefgemiddelden
- t: t-waarde die overeenkomt met het betrouwbaarheidsniveau
- s: standaardafwijking van het monster
- n: steekproefomvang
In deze tutorial wordt uitgelegd hoe u betrouwbaarheidsintervallen in Python kunt berekenen.
Betrouwbaarheidsintervallen met behulp van de t-verdeling
Als we met een kleine steekproef werken (n < 30), kunnen we de functie t.interval() uit de bibliotheek scipy.stats gebruiken om een betrouwbaarheidsinterval voor een populatiegemiddelde te berekenen.
Het volgende voorbeeld laat zien hoe u een betrouwbaarheidsinterval kunt berekenen voor de werkelijke gemiddelde populatiehoogte (in inches) van een bepaalde plantensoort, met behulp van een steekproef van 15 planten:
import numpy as np import scipy.stats as st #define sample data data = [12, 12, 13, 13, 15, 16, 17, 22, 23, 25, 26, 27, 28, 28, 29] #create 95% confidence interval for population mean weight st.t.interval(alpha=0.95, df=len(data)-1, loc=np.mean(data), scale=st.sem(data)) (16.758, 24.042)
Het 95% betrouwbaarheidsinterval voor de werkelijke gemiddelde populatiegrootte is (16.758; 24.042) .
U zult merken dat hoe hoger het betrouwbaarheidsniveau, hoe breder het betrouwbaarheidsinterval. U kunt bijvoorbeeld als volgt een BI van 99% berekenen voor exact dezelfde gegevens:
#create 99% confidence interval for same sample st.t.interval(alpha= 0.99 , df=len(data)-1, loc=np.mean(data), scale=st.sem(data)) (15.348, 25.455)
Het 99% betrouwbaarheidsinterval voor de werkelijke gemiddelde populatiegrootte is (15.348, 25.455) . Merk op dat dit interval breder is dan het vorige 95% betrouwbaarheidsinterval.
Betrouwbaarheidsintervallen met behulp van de normale verdeling
Als we met grotere steekproeven werken (n≥30), kunnen we aannemen dat de steekproefverdeling van het steekproefgemiddelde normaal verdeeld is (dankzij de centrale limietstelling ) en kunnen we in plaats daarvan de normfunctie gebruiken. interval() uit de scipy .stats-bibliotheek.
Het volgende voorbeeld laat zien hoe u een betrouwbaarheidsinterval kunt berekenen voor de werkelijke gemiddelde populatiehoogte (in inches) van een bepaalde plantensoort, met behulp van een steekproef van 50 planten:
import numpy as np import scipy.stats as st #define sample data np.random.seed(0) data = np.random.randint(10, 30, 50) #create 95% confidence interval for population mean weight st.norm.interval(alpha=0.95, loc=np.mean(data), scale=st.sem(data)) (17.40, 21.08)
Het 95% betrouwbaarheidsinterval voor de werkelijke gemiddelde populatiegrootte is (17,40; 21,08) .
En net als bij de t-verdeling leiden hogere betrouwbaarheidsniveaus tot bredere betrouwbaarheidsintervallen. U kunt bijvoorbeeld als volgt een BI van 99% berekenen voor exact dezelfde gegevens:
#create 99% confidence interval for same sample st.norm.interval(alpha= 0.99 , loc=np.mean(data), scale=st.sem(data)) (16.82, 21.66)
Het 95% betrouwbaarheidsinterval voor de werkelijke gemiddelde populatiegrootte is (17,82; 21,66) .
Hoe betrouwbaarheidsintervallen te interpreteren
Stel dat ons 95% betrouwbaarheidsinterval voor de werkelijke gemiddelde hoogte van een plantensoort is:
95% betrouwbaarheidsinterval = (16,758, 24,042)
De manier om dit betrouwbaarheidsinterval te interpreteren is als volgt:
Er is een kans van 95% dat het betrouwbaarheidsinterval van [16.758, 24.042] de werkelijke gemiddelde planthoogte van de populatie bevat.
Een andere manier om hetzelfde te zeggen is dat er slechts een kans van 5% is dat het werkelijke populatiegemiddelde buiten het betrouwbaarheidsinterval van 95% ligt. Dat wil zeggen, er is slechts een kans van 5% dat de werkelijke gemiddelde planthoogte minder dan 16,758 inch of meer dan 24,042 inch zal zijn.