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

Erstellung 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.

OLS-Klasse

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

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

Dies entspricht:

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

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

Parameterermittlung

Nach dem Training 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)

Durchführung von Vorhersagen

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

Zusammenfassung abrufen

Wie bereits bemerkt, 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())

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

question mark

Wähle die FALSCHE Aussage aus.

Wählen Sie die richtige Antwort aus

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

Erstellung Einer Linearen Regression Mit Statsmodels

Aufbau eines linearen Regressionsmodells

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

OLS-Klasse

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

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

Dies entspricht:

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

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

Parameterermittlung

Nach dem Training 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)

Durchführung von Vorhersagen

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

Zusammenfassung abrufen

Wie bereits bemerkt, 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())

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

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 4
some-alt