Data Science – Linearer Regressionsfall


Fall: Verwenden Sie Duration + Average_Pulse, um Calorie_Burnage vorherzusagen

Erstellen Sie eine lineare Regressionstabelle mit Average_Pulse und Duration als erklärende Variablen:

Beispiel

import pandas as pd
import statsmodels.formula.api as smf

full_health_data = pd.read_csv("data.csv", header=0, sep=",")

model = smf.ols('Calorie_Burnage ~ Average_Pulse + Duration', data = full_health_data)
results = model.fit()
print(results.summary())

Beispiel erklärt:

  • Importieren Sie die Bibliothek statsmodels.formula.api als smf. Statsmodels ist eine statistische Bibliothek in Python.
  • Verwenden Sie den Datensatz full_health_data.
  • Erstellen Sie mit smf.ols() ein Modell basierend auf gewöhnlichen kleinsten Quadraten. Beachten Sie, dass die erklärende Variable zuerst in die Klammer geschrieben werden muss. Verwenden Sie den Datensatz full_health_data.
  • Durch den Aufruf von .fit() erhalten Sie die variablen Ergebnisse. Dies enthält viele Informationen über das Regressionsmodell.
  • Rufen Sie summary() auf, um die Tabelle mit den Ergebnissen der linearen Regression zu erhalten.

Ausgabe:

Fall der linearen Regressionstabelle

Die lineare Regressionsfunktion kann mathematisch umgeschrieben werden als:

Calorie_Burnage = Average_Pulse * 3.1695 + Duration * 5.8424 - 334.5194

Auf zwei Dezimalstellen gerundet:

Calorie_Burnage = Average_Pulse * 3.17 + Duration * 5.84 - 334.52


Definieren Sie die lineare Regressionsfunktion in Python

Definieren Sie die lineare Regressionsfunktion in Python, um Vorhersagen durchzuführen.

Was ist Calorie_Burnage, wenn:

  • Der durchschnittliche Puls liegt bei 110 und die Dauer der Trainingseinheit beträgt 60 Minuten?
  • Der durchschnittliche Puls liegt bei 140 und die Dauer der Trainingseinheit beträgt 45 Minuten?
  • Der durchschnittliche Puls liegt bei 175 und die Dauer der Trainingseinheit beträgt 20 Minuten?

Beispiel

def Predict_Calorie_Burnage(Average_Pulse, Duration):
 return(3.1695*Average_Pulse + 5.8434 * Duration - 334.5194)

print(Predict_Calorie_Burnage(110,60))
print(Predict_Calorie_Burnage(140,45))
print(Predict_Calorie_Burnage(175,20))

Die Antworten:

  • Durchschnittlicher Puls ist 110 und Dauer der Trainingseinheit ist 60 Minuten = 365 Kalorien
  • Durchschnittlicher Puls ist 140 und Dauer der Trainingseinheit ist 45 Minuten = 372 Kalorien
  • Durchschnittlicher Puls ist 175 und Dauer der Trainingseinheit ist 20 Minuten = 337 Kalorien

Greifen Sie auf die Koeffizienten zu

Schauen Sie sich die Koeffizienten an:

  • Calorie_Burnage steigt um 3,17, wenn Average_Pulse um eins steigt.
  • Calorie_Burnage erhöht sich um 5,84, wenn Duration um eins erhöht wird.

Greifen Sie auf den P-Wert zu

Betrachten Sie den P-Wert für jeden Koeffizienten.

  • Der P-Wert ist 0,00 für Average_Pulse, Duration und the Intercept.
  • Der P-Wert ist für alle Variablen statistisch signifikant, da er kleiner als 0,05 ist.

Hier können wir also schließen, dass Average_Pulse und Duration eine Beziehung zu Calorie_Burnage haben.


Bereinigtes R-Quadrat

Es gibt ein Problem mit R-Quadrat, wenn wir mehr als eine erklärende Variable haben.

R-Quadrat wird fast immer zunehmen, wenn wir weitere Variablen hinzufügen, und wird niemals abnehmen.

Dies liegt daran, dass wir weitere Datenpunkte um die lineare Regressionsfunktion herum hinzufügen.

Wenn wir Zufallsvariablen hinzufügen, die Calorie_Burnage nicht beeinflussen, riskieren wir, fälschlicherweise zu schließen, dass die lineare Regressionsfunktion gut passt. Angepasste R-Quadrat-Anpassungen für dieses Problem.

Es ist daher besser, den angepassten R-Quadrat-Wert zu betrachten, wenn wir mehr als eine erklärende Variable haben.

Das angepasste R-Quadrat beträgt 0,814.

Der Wert von R-Squared liegt immer zwischen 0 und 1 (0 % bis 100 %).

  • Ein hoher R-Squared-Wert bedeutet, dass viele Datenpunkte nahe an der Linie der linearen Regressionsfunktion liegen.
  • Ein niedriger R-Quadrat-Wert bedeutet, dass die Linie der linearen Regressionsfunktion nicht gut zu den Daten passt.

Fazit: Das Modell passt gut zum Datenpunkt!

Herzliche Glückwünsche! Sie haben nun das letzte Modul der Data Science Library abgeschlossen.