Visualisierung der Modellanpassung

Einführung in Regression mit statsmodels in Python

Maarten Van den Broeck

Content Developer at DataCamp

Resteigenschaften einer guten Passform

  • Die Residuen sind normal verteilt.
  • Der Mittelwert der Residuen ist Null.
Einführung in Regression mit statsmodels in Python

Wieder Brassen und Barsche

Bream: das „gute“ Modell

mdl_bream = ols("mass_g ~ length_cm", data=bream).fit()

Das Streudiagramm der Degenfischgewichte im Vergleich zu ihrer Länge mit einer Trendlinie, das schon mal gezeigt wurde.

Barsch: das „schlechte“ Modell

mdl_perch = ols("mass_g ~ length_cm", data=perch).fit()

Das Streudiagramm der Gewichte von Barschen im Verhältnis zu ihrer Länge mit einer Trendlinie, das schon mal gezeigt wurde.

Einführung in Regression mit statsmodels in Python

Residuen vs. angepasste Werte

Brassen

Ein Streudiagramm der Residuen des Brassenmodells gegenüber den angepassten Werten, mit einer LOWESS-Trendlinie. Die Trendlinie bleibt nah an der x-Achse.

Barsch

Ein Streudiagramm der Residuen des Perch-Modells im Vergleich zu den angepassten Werten, mit einer LOWESS-Trendlinie. Die Trendlinie sieht aus wie ein V.

Einführung in Regression mit statsmodels in Python

Q-Q-Diagramm

Brassen

Ein Q-Q-Diagramm der standardisierten Residuen des Brassenmodells im Vergleich zu den theoretischen Quantilen. Die Punkte folgen ziemlich genau der Linie, wo die Residuen und Quantile gleich sind, bis auf zwei Ausreißer.

Barsch

Ein Q-Q-Diagramm der standardisierten Residuen des Perch-Modells im Vergleich zu den theoretischen Quantilen. Die Punkte folgen nicht genau der Linie, wo die Residuen und Quantile gleich sind, vor allem auf der rechten Seite des Diagramms.

Einführung in Regression mit statsmodels in Python

Skalen-Ort-Diagramm

Brassen

Ein Streudiagramm der quadratischen Standardabweichungen des Brachsenmodells im Vergleich zu den angepassten Werten, mit einer LOWESS-Trendlinie. Die Trendlinie geht leicht nach oben, wenn die angepassten Werte steigen.

Barsch

Ein Streudiagramm der quadratischen Standardabweichungen des Perch-Modells im Vergleich zu den angepassten Werten, mit einer LOWESS-Trendlinie. Die Trendlinie geht ein paar Mal rauf und runter, wenn die angepassten Werte höher werden.

Einführung in Regression mit statsmodels in Python

residplot()

sns.residplot(x="length_cm", y="mass_g", data=bream, lowess=True)
plt.xlabel("Fitted values")
plt.ylabel("Residuals")

![Ein Streudiagramm der Residuen des Brassenmodells gegenüber den angepassten Werten, mit einer LOWESS-Trendlinie. Die Trendlinie bleibt nah an der x-Achse. (https://assets.datacamp.com/production/repositories/5857/datasets/0d67a3a9cc657645944deb8961d9ad01b8d81d72/residplot%20bream.png =45)

Einführung in Regression mit statsmodels in Python

qqplot()

from statsmodels.api import qqplot
qqplot(data=mdl_bream.resid, fit=True, line="45")

Bream QQ-Diagramm, wie zuvor gezeigt

Einführung in Regression mit statsmodels in Python

Skalen-Ort-Diagramm

model_norm_residuals_bream = mdl_bream.get_influence().resid_studentized_internal

model_norm_residuals_abs_sqrt_bream = np.sqrt(np.abs(model_norm_residuals_bream))
sns.regplot(x=mdl_bream.fittedvalues, y=model_norm_residuals_abs_sqrt_bream, ci=None, lowess=True)
plt.xlabel("Fitted values") plt.ylabel("Sqrt of abs val of stdized residuals")

Standortkarte für Brassen, wie zuvor gezeigt

Einführung in Regression mit statsmodels in Python

Lass uns üben!

Einführung in Regression mit statsmodels in Python

Preparing Video For Download...