CommencezCommencez gratuitement

Variation autour de la tendance

Les données n'ont pas besoin d'être parfaitement linéaires, et il peut y avoir une certaine variation aléatoire ou une « dispersion » dans les mesures, ce qui se traduit par une variation des paramètres du modèle. Cette variation d'un paramètre est quantifiée par l'« erreur type » et elle s'interprète comme l'« incertitude » sur l'estimation du paramètre du modèle.

Dans cet exercice, vous utiliserez ols de statsmodels pour construire un modèle et extraire l'erreur type pour chacun des paramètres de ce modèle.

Cette activité fait partie du cours

Introduction aux modèles linéaires en Python

Voir le cours

Instructions de l’exercice

  • Placez les données préchargées dans un DataFrame df, en renommant x_data en times et y_data en distances.
  • Utilisez model_fit = ols().fit() pour ajuster un modèle linéaire de la forme formula="distances ~ times" aux data=df.
  • Extrayez l'ordonnée à l'origine estimée avec model_fit.params['Intercept'] et l'erreur type de l'ordonnée à l'origine avec model_fit.bse['Intercept'].
  • Répétez pour la pente, puis affichez les 4 valeurs avec des noms explicites.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Store x_data and y_data, as times and distances, in df, and use ols() to fit a model to it.
df = pd.DataFrame(dict(____=x_data, ____=y_data))
model_fit = ols(____="distances ~ times", data=____).____()

# Extact the model parameters and their uncertainties
a0 = model_fit.____['Intercept']
e0 = model_fit.____['Intercept']
a1 = model_fit.____['times']
e1 = model_fit.____['times']

# Print the results with more meaningful names
print('Estimate    of the intercept = {:0.2f}'.format(____))
print('Uncertainty of the intercept = {:0.2f}'.format(____))
print('Estimate    of the slope = {:0.2f}'.format(____))
print('Uncertainty of the slope = {:0.2f}'.format(____))
Modifier et exécuter le code