IPMVP — Exemple complet (Option C)
Code à copier
import pandas as pd
from datetime import datetime
from IPMVP.IPMVP import Mathematical_Models
# --- Données mensuelles livrées avec le paquet : consommation + DJU ---
df = pd.read_excel("src/IPMVP/IPMVP_input.xlsx")
df["Mois"] = pd.to_datetime(df["Mois"])
df = df.set_index("Mois")
col_conso = [c for c in df.columns if c.lower().startswith("consommation")][0]
X, y = df[["DJU"]], df[col_conso]
# --- Ajustement baseline + calcul des économies (tuple de 9 éléments) ---
(y_pred, df_bl, conformite, table_inc,
y_pred_report, df_report, conformite_report, table_inc_report,
df_savings) = Mathematical_Models(
y, X,
datetime(2016, 9, 1), datetime(2021, 5, 1), # période de référence
datetime(2021, 10, 1), datetime(2022, 10, 1), # période de suivi
degree=1, seuil_z_scores=3, site="exemple_site",
imposed_intercept=None, # None = constante libre ; 0 = régression par l'origine
niveau_confiance=0.8, # niveau de confiance de l'incertitude
print_report=True, # génère le rapport .docx + les figures matplotlib
)
# --- Prints de revue de chaque sortie ---
print("=== MODÈLE BASELINE (df_bl) ==="); print(df_bl)
print("\n=== CONFORMITÉ IPMVP (conformite) ==="); print(conformite)
print("\n=== INCERTITUDE MODÈLE (table_inc) ===");print(table_inc)
print("\n=== ÉCONOMIES (df_savings) ==="); print(df_savings)
Résultats
df_bl — coefficients, qualité d’ajustement, erreurs types, statistiques de Student :
ANTE-POST
coef_const -320568.488196
coef_DJU 3564.640541
r2 0.810000
rmse 236260.000000
cv_rmse 0.530000
ddof 42.000000
serr_const 66779.500000
serr_DJU 262.400000
stat_t_const -4.800000
stat_t_DJU 13.600000
conformite — verdict IPMVP :
valeur conformité IPMVP
r2 0.81 True
cv_remse 0.53 False
stat_t_const -4.80 False
stat_t_DJU 13.60 True
table_inc — incertitude du modèle (niveau de confiance 80 %) :
valeurs
gamma 0.10
niveau_confiance 0.80
stat_t_normale 1.30
Erreur type (rmse) 236260.04
precision_absolue +/- 307618.95
precision_relative 0.69
df_savings — économies (détaillées au chapitre Mesure des économies) :
ANTE-POST POST-ANTE
Relevé de consommation 3914387.73 19655625.79
Prédiction 4624795.55 16156026.80
pourcentage d'économie>0 18.15 17.80
Interprétation
Le modèle de référence est Conso = 3564,64 × DJU − 320568,49 : il explique
81 % de la variance (r2 = 0,81) et la variable DJU est très significative
(stat_t_DJU = 13,6). Le cv_remse (0,53) dépasse le seuil IPMVP de 0,20 —
dispersion résiduelle à réduire (variables explicatives supplémentaires ou
meilleure granularité). Le calcul des économies est traité au chapitre suivant,
Mesure des économies.
Note
Mathematical_Models retourne un tuple de 9 éléments ; il n’existe pas
d’objet model avec attributs .r2 ou méthodes plot_*. Les figures
et les tables baseline et reporting sont produites dans le rapport
.docx généré par print_report=True (via docx_report).