Statsmodels: Statistische Analyse mit Python

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einführung in Statsmodels

Statsmodels ist eine leistungsstarke Python-Bibliothek für die statistische Datenanalyse. Sie bietet Werkzeuge zur Erstellung von Regressionsmodellen, Parameterschätzung, statistischen Hypothesentests und Zeitreihenanalyse. Statsmodels wird häufig in der Ökonometrie, Biostatistik und den Sozialwissenschaften eingesetzt und liefert eine tiefgehende statistische Interpretation der Ergebnisse.

Kernfunktionen der Statsmodels-Bibliothek

Regressionsanalyse

Statsmodels bietet umfangreiche Möglichkeiten für die Regressionsanalyse, darunter die gewöhnliche Kleinste-Quadrate-Schätzung (OLS), verallgemeinerte lineare Modelle (GLM), robuste Regression und Paneldatenmodelle. Die Bibliothek unterstützt sowohl parametrische als auch nichtparametrische Schätzverfahren.

Zeitreihenanalyse

Das Zeitreihenmodul umfasst ARIMA-, SARIMA-Modelle, exponentielle Glättung, Vektorautoregression (VAR) und viele weitere. Funktionen zur Überprüfung der Stationarität, Zerlegung von Reihen und Prognose sind ebenfalls verfügbar.

Statistische Hypothesentests

Die Bibliothek enthält eine breite Palette statistischer Tests: t-Tests, F-Tests, Normalitätstests, Varianzgleichheitstests, Autokorrelationstests und viele mehr.

Varianzanalyse (ANOVA)

Es werden ein- und mehrfaktorielle ANOVA-Modelle, ANCOVA, Messwiederholungen und Modelle mit gemischten Effekten unterstützt.

Nichtparametrische Methoden

Enthalten sind Methoden der Kerndichteschätzung, nichtparametrische Regression und rangbasierte Tests.

Installation und Import von Statsmodels

Bibliothek installieren

Die Installation erfolgt mit dem Standardbefehl:

pip install statsmodels

Für zusätzliche Funktionen kann die Installation mit allen Abhängigkeiten erfolgen:

pip install statsmodels[complete]

Notwendige Komponenten importieren

import statsmodels.api as sm
import statsmodels.formula.api as smf
import statsmodels.tsa.api as tsa
import statsmodels.stats.api as sms

Bibliotheksstruktur und Hauptmodule

Wichtige API-Schnittstellen

statsmodels.api — klassische Schnittstelle mit direkter Angabe von Datenmatrizen

statsmodels.formula.api — formelbasierte Schnittstelle, ähnlich wie in R

statsmodels.tsa — Modul für die Zeitreihenanalyse

statsmodels.stats — statistische Tests und Diagnostik

statsmodels.graphics — Visualisierung der Ergebnisse

Datenvorbereitung und -verarbeitung

Statsmodels arbeitet optimal mit pandas.DataFrame:

import pandas as pd
import numpy as np

# Daten laden
data = pd.read_csv("dataset.csv")

# Auf fehlende Werte prüfen
print(data.isnull().sum())

# Basisstatistiken anzeigen
print(data.describe())

Lineare Regression (OLS)

Klassische Schnittstelle

import statsmodels.api as sm

# Daten vorbereiten
X = data[["x1", "x2", "x3"]]
X = sm.add_constant(X)  # Konstante hinzufügen
y = data["y"]

# Modell erstellen
model = sm.OLS(y, X).fit()
print(model.summary())

# Koeffizienten extrahieren
print("Koeffizienten:", model.params)
print("P-Werte:", model.pvalues)
print("R-Quadrat:", model.rsquared)

Formelbasierte Schnittstelle

import statsmodels.formula.api as smf

# Verwendung von Formeln
model = smf.ols("y ~ x1 + x2 + x3", data=data).fit()
print(model.summary())

# Interaktion von Variablen
model_interaction = smf.ols("y ~ x1 * x2 + x3", data=data).fit()

# Kategoriale Variablen
model_cat = smf.ols("y ~ C(category) + x1", data=data).fit()

Verallgemeinerte li

Empfehlungen