Jak obliczyć przedziały ufności w pythonie


Przedział ufności dla średniej to zakres wartości, który prawdopodobnie będzie zawierał średnią populacji przy pewnym poziomie ufności.

Oblicza się go w następujący sposób:

Przedział ufności = x +/- t*(s/√n)

Złoto:

  • x : średnia próbki
  • t: wartość t, która odpowiada poziomowi ufności
  • s: odchylenie standardowe próbki
  • n: wielkość próbki

W tym samouczku wyjaśniono, jak obliczyć przedziały ufności w języku Python.

Przedziały ufności przy użyciu rozkładu t

Jeśli pracujemy z małą próbą (n < 30), możemy użyć funkcji t.interval() z biblioteki scipy.stats do obliczenia przedziału ufności dla średniej populacji.

Poniższy przykład pokazuje, jak obliczyć przedział ufności dla rzeczywistej średniej wysokości populacji (w calach) określonego gatunku roślin na próbie 15 roślin:

 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)

95% przedział ufności dla prawdziwej średniej wielkości populacji wynosi (16,758; 24,042) .

Zauważysz, że im wyższy poziom ufności, tym szerszy przedział ufności. Oto jak na przykład obliczyć 99% CI dla dokładnie tych samych danych:

 #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)

99% przedział ufności dla prawdziwej średniej wielkości populacji wynosi (15,348; 25,455) . Należy zauważyć, że ten przedział jest szerszy niż poprzedni przedział ufności 95%.

Przedziały ufności przy użyciu rozkładu normalnego

Jeśli pracujemy z większymi próbami (n≥30), możemy założyć, że rozkład próbkowania średniej próbki ma rozkład normalny (dziękicentralnemu twierdzeniu granicznemu ) i zamiast tego możemy skorzystać z funkcji normy. interwał() z biblioteki scipy .stats.

Poniższy przykład pokazuje, jak obliczyć przedział ufności dla rzeczywistej średniej wysokości populacji (w calach) określonego gatunku roślin na próbie 50 roślin:

 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)

95% przedział ufności dla prawdziwej średniej wielkości populacji wynosi (17,40; 21,08) .

Podobnie jak w przypadku rozkładu t, wyższe poziomy ufności prowadzą do szerszych przedziałów ufności. Oto jak na przykład obliczyć 99% CI dla dokładnie tych samych danych:

 #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)

95% przedział ufności dla prawdziwej średniej wielkości populacji wynosi (17,82; 21,66) .

Jak interpretować przedziały ufności

Załóżmy, że nasz 95% przedział ufności dla prawdziwej średniej wysokości gatunku rośliny wynosi:

95% przedział ufności = (16,758; 24,042)

Sposób interpretacji tego przedziału ufności jest następujący:

Istnieje 95% szans, że przedział ufności [16,758, 24,042] zawiera prawdziwą średnią wysokość rośliny w populacji.

Innym sposobem powiedzenia tego samego jest stwierdzenie, że istnieje tylko 5% szans, że prawdziwa średnia populacji leży poza 95% przedziałem ufności. Oznacza to, że istnieje tylko 5% szans, że faktyczna średnia wysokość rośliny będzie mniejsza niż 16,758 cala lub większa niż 24,042 cala.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *