So berechnen sie konfidenzintervalle in python


Ein Konfidenzintervall für einen Mittelwert ist ein Wertebereich, der wahrscheinlich einen Populationsmittelwert mit einem bestimmten Konfidenzniveau enthält.

Es wird wie folgt berechnet:

Konfidenzintervall = x +/- t*(s/√n)

Gold:

  • x : Stichprobenmittelwert
  • t: t-Wert, der dem Konfidenzniveau entspricht
  • s: Stichprobenstandardabweichung
  • n: Stichprobengröße

In diesem Tutorial wird erklärt, wie man Konfidenzintervalle in Python berechnet.

Konfidenzintervalle unter Verwendung der t-Verteilung

Wenn wir mit einer kleinen Stichprobe (n < 30) arbeiten, können wir die Funktion t.interval() aus der Bibliothek scipy.stats verwenden, um ein Konfidenzintervall für einen Populationsmittelwert zu berechnen.

Das folgende Beispiel zeigt, wie ein Konfidenzintervall für die tatsächliche durchschnittliche Populationshöhe (in Zoll) einer bestimmten Pflanzenart anhand einer Stichprobe von 15 Pflanzen berechnet wird:

 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)

Das 95 %-Konfidenzintervall für die tatsächliche mittlere Bevölkerungsgröße beträgt (16,758, 24,042) .

Sie werden feststellen, dass das Konfidenzintervall umso größer ist, je höher das Konfidenzniveau ist. So berechnen Sie beispielsweise ein 99 %-KI für genau dieselben Daten:

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

Das 99 %-Konfidenzintervall für die tatsächliche mittlere Bevölkerungsgröße beträgt (15,348, 25,455) . Beachten Sie, dass dieses Intervall breiter ist als das vorherige 95 %-Konfidenzintervall.

Konfidenzintervalle unter Verwendung der Normalverteilung

Wenn wir mit größeren Stichproben (n≥30) arbeiten, können wir davon ausgehen, dass die Stichprobenverteilung des Stichprobenmittelwerts normalverteilt ist (dank des zentralen Grenzwertsatzes ) und können stattdessen die Normfunktion verwenden. Interval() aus der scipy .stats-Bibliothek.

Das folgende Beispiel zeigt, wie ein Konfidenzintervall für die tatsächliche durchschnittliche Populationshöhe (in Zoll) einer bestimmten Pflanzenart anhand einer Stichprobe von 50 Pflanzen berechnet wird:

 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)

Das 95 %-Konfidenzintervall für die tatsächliche mittlere Bevölkerungsgröße beträgt (17,40, 21,08) .

Und wie bei der t-Verteilung führen höhere Konfidenzniveaus zu größeren Konfidenzintervallen. So berechnen Sie beispielsweise ein 99 %-KI für genau dieselben Daten:

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

Das 95 %-Konfidenzintervall für die tatsächliche mittlere Bevölkerungsgröße beträgt (17,82, 21,66) .

So interpretieren Sie Konfidenzintervalle

Nehmen wir an, dass unser 95 %-Konfidenzintervall für die tatsächliche durchschnittliche Höhe einer Pflanzenart wie folgt lautet:

95 %-Konfidenzintervall = (16,758, 24,042)

Dieses Konfidenzintervall lässt sich wie folgt interpretieren:

Es besteht eine Wahrscheinlichkeit von 95 %, dass das Konfidenzintervall von [16,758, 24,042] die wahre mittlere Pflanzenhöhe der Population enthält.

Anders ausgedrückt: Es besteht nur eine 5-prozentige Wahrscheinlichkeit, dass der wahre Mittelwert der Grundgesamtheit außerhalb des 95-Prozent-Konfidenzintervalls liegt. Das heißt, die Wahrscheinlichkeit, dass die tatsächliche durchschnittliche Pflanzenhöhe weniger als 16,758 Zoll oder mehr als 24,042 Zoll beträgt, beträgt nur 5 %.

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert