NumPy Konfidenzintervall

NumPy Konfidenzintervall

  1. Konfidenzintervall
  2. Verwendung der T-Verteilung zur Berechnung von Konfidenzintervallen in Python
  3. Verwendung der Normalverteilung zur Berechnung von Konfidenzintervallen in Python

Ein Konfidenzintervall für einen Mittelwert ist ein wesentlicher Bestandteil von Statistiken, die häufig für Daten in den Bereichen Datenanalyse verwendet werden. Python ist eine der beliebtesten Programmiersprachen, die von Fachleuten auf dem Gebiet der Datenanalyse verwendet wird, und ermöglicht die Implementierung von Konfidenzintervallen auf Arrays.

Dieses Tutorial behandelt das Konfidenzintervall und demonstriert die verschiedenen verfügbaren Ansätze, um es in Python zu implementieren.

Konfidenzintervall

Ein Konfidenzintervall für einen Mittelwert kann als ein Bereich von Werten definiert werden, für den wir davon ausgehen, dass wir den Wert ermitteln können, der die Grundgesamtheit genau widerspiegeln kann.

Die Formel zur Berechnung des Konfidenzintervalls ist unten zu sehen.

Confidence Interval =  x̄  +/-  t*(s/√n)

Die Parameter dieser Formel werden unten erklärt.

  1. - Der Mittelwert der Stichprobendaten.
  2. t - Der entsprechende t-Wert für das Konfidenzniveau.
  3. s - Standardabweichung für die Probendaten.
  4. n - Die Größe der Beispieldaten.

Kommen wir nun zu den verschiedenen Ansätzen, die zur Berechnung von Konfidenzintervallen in Python verwendet werden können. Es können zwei Hauptmethoden verwendet werden, die beide Funktionen benötigen, die aus der SciPy-Bibliothek in Python stammen.

Die Bibliothek SciPy in Python ist eine Abkürzung für Scientific Python und wird verwendet, um verschiedene Funktionen bereitzustellen, die beim technischen und wissenschaftlichen Rechnen helfen. Das Submodul SciPy.stats der Bibliothek stellt verschiedenste Funktionen bereit, die sich mit Statistiken in Python befassen.

Verwendung der T-Verteilung zur Berechnung von Konfidenzintervallen in Python

Die Bibliothek SciPy.stats stellt eine t.interval()-Funktion bereit, die zur Berechnung von Konfidenzintervallen unter Verwendung des t-Verteilungsansatzes verwendet werden kann.

Der t-Verteilungsansatz kann verwendet werden, wenn es um kleinere Datensätze geht, normalerweise wenn die Daten weniger als 30 Elemente haben (n<30).

Nachfolgend sind die Syntax und die Parameterbeschreibung für die Funktion t.interval() beschrieben.

scipy.stats.t.interval(alpha, length, loc, scale)
  1. alpha - Definiert die Wahrscheinlichkeit, eine Zufallsvariable aus dem ausgewählten Bereich zu erhalten.
  2. length - Zeigt die Länge des gegebenen Datensatzes an.
  3. loc – Zeigt den Standortparameterwert an.
  4. scale - Zeigt den Skalenparameterwert an.

Der folgende Code nimmt die von 20 Fußballern in einem Kalenderjahr erzielten Tore auf und berechnet mit Hilfe des t-Verteilungsansatzes die 90%-Konfidenzintervalle für die gegebenen Daten.

import numpy as np
import scipy.stats as st
# data of goals scored by 20 footballers in a calendar year
fb_data = [10, 11, 10, 14, 16, 24, 10, 6, 8, 10,
            11, 27, 28, 21, 13, 10, 6, 7, 8, 10]
# create 90% confidence interval
print(st.t.interval(alpha=0.90, df=len(fb_data)-1,
              loc=np.mean(fb_data),
              scale=st.sem(fb_data)))

Der obige Code liefert die folgende Ausgabe.

(10.395704943723088, 15.60429505627691)

Verwendung der Normalverteilung zur Berechnung von Konfidenzintervallen in Python

Dieselbe SciPy.stats-Bibliothek bietet auch eine norm.interval()-Funktion, die zur Berechnung von Konfidenzintervallen unter Verwendung des Normalverteilungsansatzes verwendet werden kann.

Dieser Ansatz wird im Allgemeinen in den Fällen verwendet, in denen der Datensatz vergleichsweise größer ist; das heißt, die Anzahl der Elemente ist größer als 30 (n>30).

Nachfolgend wird die Syntax und Parameterbeschreibung für die Funktion norm.interval() beschrieben.

scipy.stats.norm.interval(alpha, loc, scale)
  1. alpha - Definiert die Wahrscheinlichkeit, eine Zufallsvariable aus dem ausgewählten Bereich zu erhalten.
  2. loc – Zeigt den Standortparameterwert an.
  3. scale - Zeigt den Wert des Skalenparameters an.

Der folgende Code nimmt ein Beispiel eines Datensatzes mit 80 Elementen und berechnet die 90% Konfidenzintervalle darauf mit Hilfe des Normalverteilungsansatzes.

import numpy as np
import scipy.stats as st
fb_data = np.random.randint(15, 20, 80)
# create 90% confidence interval
print(st.norm.interval(alpha=0.90,
                 loc=np.mean(fb_data),
                 scale=st.sem(fb_data)))

Der obige Code liefert die folgende Ausgabe.

(16.763325839308074, 17.286674160691923)