LoslegenKostenlos loslegen

Lineare Regression

Wir nehmen an, dass die Fertilität eine lineare Funktion der weiblichen Analphabetenrate ist. Also gilt: \(f = a i + b\), wobei \(a\) die Steigung und \(b\) der Achsenabschnitt ist. Den Achsenabschnitt können wir als minimale Fertilitätsrate auffassen, wahrscheinlich irgendwo zwischen eins und zwei. Die Steigung zeigt, wie sich die Fertilität mit der Analphabetenrate verändert. Die am besten passende Gerade finden wir mit np.polyfit().

Stelle die Daten und die Best-Fit-Gerade dar. Gib die Steigung und den Achsenabschnitt aus. (Überlege: Welche Einheiten haben sie?)

Diese Übung ist Teil des Kurses

Statistical Thinking in Python (Teil 2)

Kurs anzeigen

Anleitung zur Übung

  • Berechne die Steigung und den Achsenabschnitt der Regressionsgeraden mit np.polyfit(). Denk daran: fertility steht auf der y-Achse und illiteracy auf der x-Achse.
  • Gib die Steigung und den Achsenabschnitt der linearen Regression aus.
  • Um die Best-Fit-Gerade zu plotten, erstelle ein Array x, das aus 0 und 100 besteht, mit np.array(). Berechne dann die theoretischen y-Werte anhand deiner Regressionsparameter, also y = a * x + b.
  • Zeichne die Daten und die Regressionsgerade im selben Plot. Vergiss nicht, die Achsen zu beschriften.
  • Klicke auf Antwort senden, um deinen Plot anzuzeigen.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Plot the illiteracy rate versus fertility
_ = plt.plot(illiteracy, fertility, marker='.', linestyle='none')
plt.margins(0.02)
_ = plt.xlabel('percent illiterate')
_ = plt.ylabel('fertility')

# Perform a linear regression using np.polyfit(): a, b
a, b = ____

# Print the results to the screen
print('slope =', a, 'children per woman / percent illiterate')
print('intercept =', b, 'children per woman')

# Make theoretical line to plot
x = ____
y = ____ * ____ + ____

# Add regression line to your plot
_ = plt.plot(____, ____)

# Draw the plot
plt.show()
Code bearbeiten und ausführen