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