Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Erstellung Einer Linearen Regression Mit Statsmodels | Einfache Lineare Regression
Lineare Regression mit Python

bookErstellung Einer Linearen Regression Mit Statsmodels

Aufbau eines linearen Regressionsmodells

In statsmodels kann die OLS-Klasse verwendet werden, um ein lineares Regressionsmodell zu erstellen.

Zunächst muss ein Objekt der OLS-Klasse initialisiert werden mit sm.OLS(y, X_tilde). Anschließend erfolgt das Trainieren mit der Methode fit().

model = sm.OLS(y, X_tilde)
model = model.fit()

Dies ist äquivalent zu:

model = sm.OLS(y, X_tilde).fit()
Note
Hinweis

Der Konstruktor der OLS-Klasse erwartet ein bestimmtes Array X_tilde als Eingabe, wie bereits in der Normalengleichung gezeigt. Daher muss das X-Array in X_tilde umgewandelt werden. Dies ist mit der Funktion sm.add_constant() möglich.

Parameterermittlung

Nach dem Trainieren des Modells können die Parameter einfach über das Attribut params abgerufen werden.

123456789
import statsmodels.api as sm import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv') X, y = df['Father'], df['Height'] X_tilde = sm.add_constant(X) model = sm.OLS(y, X_tilde).fit() beta_0, beta_1 = model.params print(beta_0, beta_1)
copy

Vorhersagen erstellen

Neue Instanzen können einfach mit der Methode predict() vorhergesagt werden, jedoch muss auch für diese die Eingabe vorverarbeitet werden:

12345
import numpy as np X_new = np.array([65, 70, 75]) X_new_tilde = sm.add_constant(X_new) print(model.predict(X_new_tilde))
copy

Zusammenfassung abrufen

Wie Sie wahrscheinlich bemerkt haben, ist die Verwendung der OLS-Klasse nicht so einfach wie die Funktion polyfit(). Die Nutzung von OLS bietet jedoch Vorteile. Während des Trainings werden zahlreiche statistische Informationen berechnet. Auf diese Informationen kann mit der Methode summary() zugegriffen werden.

1
print(model.summary())
copy

Das sind viele Statistiken. Die wichtigsten Teile der Tabelle werden wir in späteren Abschnitten besprechen.

question mark

Wählen Sie die FALSCHE Aussage aus.

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 4

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

bookErstellung Einer Linearen Regression Mit Statsmodels

Swipe um das Menü anzuzeigen

Aufbau eines linearen Regressionsmodells

In statsmodels kann die OLS-Klasse verwendet werden, um ein lineares Regressionsmodell zu erstellen.

Zunächst muss ein Objekt der OLS-Klasse initialisiert werden mit sm.OLS(y, X_tilde). Anschließend erfolgt das Trainieren mit der Methode fit().

model = sm.OLS(y, X_tilde)
model = model.fit()

Dies ist äquivalent zu:

model = sm.OLS(y, X_tilde).fit()
Note
Hinweis

Der Konstruktor der OLS-Klasse erwartet ein bestimmtes Array X_tilde als Eingabe, wie bereits in der Normalengleichung gezeigt. Daher muss das X-Array in X_tilde umgewandelt werden. Dies ist mit der Funktion sm.add_constant() möglich.

Parameterermittlung

Nach dem Trainieren des Modells können die Parameter einfach über das Attribut params abgerufen werden.

123456789
import statsmodels.api as sm import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv') X, y = df['Father'], df['Height'] X_tilde = sm.add_constant(X) model = sm.OLS(y, X_tilde).fit() beta_0, beta_1 = model.params print(beta_0, beta_1)
copy

Vorhersagen erstellen

Neue Instanzen können einfach mit der Methode predict() vorhergesagt werden, jedoch muss auch für diese die Eingabe vorverarbeitet werden:

12345
import numpy as np X_new = np.array([65, 70, 75]) X_new_tilde = sm.add_constant(X_new) print(model.predict(X_new_tilde))
copy

Zusammenfassung abrufen

Wie Sie wahrscheinlich bemerkt haben, ist die Verwendung der OLS-Klasse nicht so einfach wie die Funktion polyfit(). Die Nutzung von OLS bietet jedoch Vorteile. Während des Trainings werden zahlreiche statistische Informationen berechnet. Auf diese Informationen kann mit der Methode summary() zugegriffen werden.

1
print(model.summary())
copy

Das sind viele Statistiken. Die wichtigsten Teile der Tabelle werden wir in späteren Abschnitten besprechen.

question mark

Wählen Sie die FALSCHE Aussage aus.

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 4
some-alt