beac_inflation_app / utils.py
Arvador237's picture
Upload 4 files
43aadf1 verified
import pandas as pd
import numpy as np
def apply_scenarios(data, taux_directeur_change, pib_change, m2_change):
"""
Applique les scénarios de modification des variables macroéconomiques
"""
modified_data = data.copy()
modified_data['Taux directeur'] = modified_data['Taux directeur'] * (1 + taux_directeur_change/100)
modified_data['Taux de croissance du PIB'] = modified_data['Taux de croissance du PIB'] * (1 + pib_change/100)
modified_data['Masse monétaire M2'] = modified_data['Masse monétaire M2'] * (1 + m2_change/100)
return modified_data
def calculate_metrics(y_true, y_pred):
"""
Calcule les métriques d'évaluation du modèle
"""
from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score
mae = mean_absolute_error(y_true, y_pred)
rmse = np.sqrt(mean_squared_error(y_true, y_pred))
r2 = r2_score(y_true, y_pred)
return {
'mae': mae,
'rmse': rmse,
'r2': r2
}
def prepare_prediction_results(dates, y_true, y_pred):
"""
Prépare les résultats de prédiction pour l'affichage
"""
results = pd.DataFrame({
'Date': dates,
'Inflation réelle': y_true,
'Inflation prédite': y_pred
})
return results