0% ont trouvé ce document utile (0 vote)
5 vues16 pages

Prévision de production éolienne MATLAB

Ce projet de recherche vise à développer un modèle de prévision de la production éolienne en France en utilisant des méthodes statistiques telles que SARIMA, le lissage exponentiel de Holt et la régression polynomiale. Les résultats montrent que ces approches offrent des solutions complémentaires pour anticiper la variabilité de la production éolienne, essentielle pour l'intégration des énergies renouvelables dans les réseaux électriques. Une approche hybride combinant ces méthodes est recommandée pour améliorer la précision des prévisions.

Transféré par

Ben Marthys
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOC, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues16 pages

Prévision de production éolienne MATLAB

Ce projet de recherche vise à développer un modèle de prévision de la production éolienne en France en utilisant des méthodes statistiques telles que SARIMA, le lissage exponentiel de Holt et la régression polynomiale. Les résultats montrent que ces approches offrent des solutions complémentaires pour anticiper la variabilité de la production éolienne, essentielle pour l'intégration des énergies renouvelables dans les réseaux électriques. Une approche hybride combinant ces méthodes est recommandée pour améliorer la précision des prévisions.

Transféré par

Ben Marthys
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOC, PDF, TXT ou lisez en ligne sur Scribd

RÉPUBLIQUE DU BENIN

UNIVERSITÉ D’ABOMEY-CALAVI

FACULTÉ DES SCIENCES ET TECHNIQUES

DÉPARTEMENT DE PHYSIQUES

MASTER 1 ÉNERGIES RENOUVELABLES ET SYSTÈMES ÉNERGÉTIQUES

UE: MÉTHODES NUMÉRIQUES

PROJET DE RECHERCHE: PRÉVISION DE LA PRODUCTION ÉOLIENNE À PARTIR DE


DONNÉES HISTORIQUES (INTERPOLATION ET SÉRIES TEMPORELLES) DANS MATLAB

Étudiants Enseignant

GBEDJI B. Ben-Marthys Junior Gabin KOTO N’GOBI

YERIMA Khadidja (Maître de Conférences, CAMES)


PLAN

Introduction

1. Méthodes de prévision
 Méthode 1: Modèle SARIMA
 Méthode 2: Lissage Exponentiel de Holt
 Méthode 3: Régression Polynomiale
2. Résultats

Conclusion
Introduction

Depuis quelques années, on constate un intérêt de plus en plus


grandissant pour l'énergie éolienne, pilier essentiel de la transition
énergétique. Cependant, la nature intermittente et variable de cette
énergie pose d'importants défis pour son intégration optimale dans les
réseaux électriques. Ce projet vise à développer un modèle de prévision de
la production éolienne en utilisant des techniques d’interpolation et
d’analyse des séries temporelles dans MATLAB. Plus précisément, nous
aborderons trois objectifs spécifiques correspondant aux différentes
méthodes de prévision (Modèle SARIMA, Lissage Exponentiel de Holt,
Régression Polynomiale). Ces trois approches complémentaires
permettront d'établir une comparaison systématique des performances
prédictives selon la nature des données, tout en fournissant des solutions
adaptées aux différents besoins opérationnels des gestionnaires de
réseaux électriques.
1. Méthodes

Données sur la production éolienne en France (2000-2024):

Source: Ministère de la Transition Écologique et RTE - Graphique : Selectra

Année Production (TWh)


2000 0.06
2001 0.15
2002 0.3
2003 0.42
2004 0.63
2005 0.99
2006 2.22
2007 4.13
2008 5.76
2009 7.98
2010 10
2011 12.37
2012 15.18
2013 16.13
2014 17.32
2015 21.42
2016 21.38
2017 24.61
2018 28.6
2019 34.72
2020 39.86
2021 36.83
2022 38.067
2023 50.8
2024 46.6

Mhéthode 1: Modèle SARIMA


Définition
SARIMA (Seasonal AutoRegressive Integrated Moving Average) est une extension du modèle ARIMA
qui prend en compte la saisonnalité des données. C'est une méthode puissante pour prévoir des
séries temporelles avec des motifs saisonniers.

Un modèle SARIMA est noté SARIMA(p,d,q)(P,D,Q)s où:

 p: ordre de la partie autorégressive (AR)


 d: degré de différenciation
 q: ordre de la moyenne mobile (MA)
 P: ordre AR saisonnier
 D: degré de différenciation saisonnière
 Q: ordre MA saisonnier
 s: période saisonnière (ex: 12 pour des données mensuelles avec saisonnalité annuelle)

Formules mathématiques
Modèle ARIMA non saisonnier (p,d,q)

(1 - Φ₁B - ... - ΦₚBᵖ)(1 - B)ᵈXₜ = (1 + θ₁B + ... + θ_qB^q)εₜ

Modèle SARIMA complet (p,d,q)(P,D,Q)s

(1 - Φ₁B - ... - ΦₚBᵖ)(1 - ϕ₁Bˢ - ... - ϕₚB^(Pˢ))(1 - B)ᵈ(1 - Bˢ)ᴰXₜ = (1 + θ₁B + ... + θ_qB^q)(1 + ϑ₁Bˢ + ... +
ϑ_QB^(Qˢ))εₜ

Où:

 B est l'opérateur de retard (BXₜ = Xₜ₋₁)


 εₜ est le bruit blanc
 Φ, ϕ, θ, ϑ sont les coefficients à estimer

Étapes d'implémentation sur MATLAB


1. Préparation des données
2. Test de stationnarité

3. Différenciation et identification du modèle

4. Estimation du modèle SARIMA

5. Validation du modèle
6. Prévision avec le modèle SARIMA

Applications dans MATLAB avec les données de la production éolienne

en France (2000-2024) :

Code (Voir ANNEXES page 12)

Mhétode 2 : Lissage Exponentiel de Holt


Définition

Le lissage exponentiel de Holt (ou méthode de Holt) est une extension de la méthode de lissage
exponentiel simple qui permet de prendre en compte à la fois la tendance (mais pas la saisonnalité)
dans les prévisions. C'est particulièrement utile pour les séries temporelles présentant une
tendance mais pas de composante saisonnière.

Le modèle de Holt utilise trois équations:

1. Une équation pour le niveau (composante moyenne)

2. Une équation pour la tendance

3. Une équation de prévision

Formules mathématiques
Composantes du modèle

1. Niveau (Lₜ):
Lₜ = αYₜ + (1 - α)(Lₜ₋₁ + Tₜ₋₁)

2. Tendance (Tₜ):
Tₜ = β(Lₜ - Lₜ₋₁) + (1 - β)Tₜ₋₁

3. Prévision (Ŷₜ₊ₕ):
Ŷₜ₊ₕ = Lₜ + hTₜ

Où:
 Yₜ: observation à la période t

 Lₜ: niveau estimé

 Tₜ: tendance estimée

 α: paramètre de lissage pour le niveau (0 ≤ α ≤ 1)

 β: paramètre de lissage pour la tendance (0 ≤ β ≤ 1)

 h: horizon de prévision

Étapes d'implémentation sur MATLAB


1. Préparation des données
2. Initialisation des paramètres

3. Application du lissage de Holt

4. Prévisions

5. Optimisation des paramètres (α et β)

6. Utilisation de la fonction intégrée de MATLAB (Econometrics Toolbox)

Applications dans MATLAB avec les données de la production éolienne

en France (2000-2024) :

Code (Voir ANNEXES page 12)

Mhétode 3: Régression Polynomiale


Définition

La régression polynomiale est une extension de la régression linéaire qui modélise la relation entre
une variable indépendante xx et une variable dépendante yy comme un polynôme de degré n.
Contrairement à la régression linéaire simple (y=ax+b), la régression polynomiale permet de
capturer des relations non linéaires en utilisant une équation du type :

y=β0+β1.x+β2.x²+⋯+β[Link]+ϵ
où :

 β0,β1,…,βn sont les coefficients à estimer,


 n est le degré du polynôme,
 ϵ est l’erreur résiduelle.

Quand l’utiliser ?

 Lorsque la relation entre x et y est non linéaire (courbée).


 Pour modéliser des tendances complexes dans les données.
 En prévision lorsque les modèles linéaires sont inadéquats.

Formules Mathématiques
Modèle Polynomial

y=Xβ+ϵ

où :

 Xest la matrice de conception (contenant x,x2,…,xn),


 β est le vecteur des coefficients,
 ϵ est le bruit (erreur résiduelle).

Estimation des Coefficients (Méthode des Moindres Carrés)

β=(XTX)-1XTy
Cette formule minimise l’erreur quadratique.

Implémentation MATLAB (Étapes)


1. Génération ou Chargement des Données
2. Construction de la Matrice Polynomiale
3. Estimation des Coefficients

4. Prédiction et Visualisation

5. Évaluation du Modèle

6. Optimisation du Degré du Polynôme (Validation Croisée)

Applications dans MATLAB avec les données de la production éolienne

en France(2000-2024) :

Code (Voir ANNEXES page 12)

2. Résultas
C’

Conclusion
La prévision de la production éolienne est un enjeu crucial pour optimiser
l'intégration des énergies renouvelables dans les réseaux électriques. Les méthodes
statistiques telles que SARIMA, le lissage exponentiel (Holt-Winters) et la régression
polynomiale offrent des approches complémentaires pour modéliser et anticiper la
variabilité de cette production. Pour une prévision optimale, une approche
hybride combinant SARIMA et d’autres methods de prévision est souvent
recommandée, éventuellement enrichie par des techniques d’apprentissage
automatique pour améliorer la précision.

ANNEXES (code):
%% 1. Chargement des données (2000-2024)
years = (2000:2024)';
production = [0.06; 0.15; 0.3; 0.42; 0.63; 0.99; 2.22; 4.13; 5.76; 7.98;10;
12.37; 15.18; 16.13; 17.32; 21.42; 21.38; 24.61;28.6;34.72;39.86; 36.83; 38.067;
50.8; 46.6]; % 2020-2024

future_years = (2025:2030)'; % Prévisions pour 6 ans

%% 2. Méthode 1: SARIMA (Box-Jenkins)


% Modèle ARIMA(1,1,1) - le plus adapté pour tendance non-stationnaire
model_sarima = arima('ARLags', 1, 'D', 1, 'MALags', 1);
fit_sarima = estimate(model_sarima, production);
[forecast_sarima, MSE_sarima] = forecast(fit_sarima, 6, 'Y0', production);
CI_sarima = [forecast_sarima - 1.96*sqrt(MSE_sarima), ...
forecast_sarima + 1.96*sqrt(MSE_sarima)];

%% 3. Méthode 2: Lissage Exponentiel de Holt (sans saisonnalité)


alpha = 0.3; % Lissage du niveau
beta = 0.1; % Lissage de la tendance

% Initialisation avec les 5 premières années


level = production(1);
trend = mean(diff(production(1:6))); % Tendance initiale moyenne

% Algorithme de lissage
for t = 2:length(production)
prev_level = level;
level = alpha * production(t) + (1 - alpha) * (level + trend);
trend = beta * (level - prev_level) + (1 - beta) * trend;
end

% Prévision (6 ans)
forecast_holt = zeros(6,1);
for h = 1:6
forecast_holt(h) = level + h * trend;
end

%% 4. Méthode 3: Régression Polynomiale (Ordre 2)


% Modèle: production = a + b*year + c*year^2
X = [ones(size(years)), years - 2000, (years - 2000).^2];
coeff = X \ production;

% Prévision
X_future = [ones(6,1), (future_years - 2000), (future_years - 2000).^2];
forecast_poly = X_future * coeff;

%% 5. Visualisation des résultats


figure('Position', [100, 100, 900, 600])
plot(years, production, 'bo-', 'LineWidth', 2, 'MarkerSize', 8, ...
'MarkerFaceColor', 'b', 'DisplayName', 'Données Historiques')
hold on
grid on

% Tracé des prévisions


h1 = plot(future_years, forecast_sarima, 'rs-', 'LineWidth', 2, ...
'MarkerSize', 8, 'DisplayName', 'SARIMA (ARIMA(1,1,1))');
h2 = plot(future_years, forecast_holt, 'g^-', 'LineWidth', 2, ...
'MarkerSize', 8, 'DisplayName', 'Lissage de Holt');
h3 = plot(future_years, forecast_poly, 'mv-', 'LineWidth', 2, ...
'MarkerSize', 8, 'DisplayName', 'Régression Quadratique');

% Intervalle de confiance SARIMA


fill([future_years; flipud(future_years)], ...
[CI_sarima(:,1); flipud(CI_sarima(:,2))], ...
'r', 'FaceAlpha', 0.2, 'EdgeColor', 'none', ...
'DisplayName', 'IC 95% (SARIMA)')

% Configuration graphique
title('Prévision de Production Éolienne en France (2025-2030)', ...
'FontSize', 16, 'FontWeight', 'bold')
xlabel('Année', 'FontSize', 14)
ylabel('Production (TWh)', 'FontSize', 14)
xlim([2000 2030])
ylim([0 80])
legend('Location', 'northwest')
set(gca, 'FontSize', 12, 'GridLineStyle', '--', 'XMinorTick', 'on', 'YMinorTick',
'on')

% Ajout des valeurs de prévision


text(2029.5, forecast_sarima(end), sprintf('%.1f TWh', forecast_sarima(end)), ...
'Color', 'r', 'FontSize', 11, 'HorizontalAlignment', 'left',
'VerticalAlignment', 'middle')
text(2029.5, forecast_holt(end), sprintf('%.1f TWh', forecast_holt(end)), ...
'Color', 'g', 'FontSize', 11, 'HorizontalAlignment', 'left',
'VerticalAlignment', 'top')
text(2029.5, forecast_poly(end), sprintf('%.1f TWh', forecast_poly(end)), ...
'Color', 'm', 'FontSize', 11, 'HorizontalAlignment', 'left',
'VerticalAlignment', 'bottom')

%% 6. Validation des modèles (2015-2019 comme période de test)


train_years = (2000:2014)';
test_years = (2015:2019)';
train_data = production(1:15);
test_data = production(16:20);

% SARIMA
model_train = arima('ARLags', 1, 'D', 1, 'MALags', 1);
fit_train = estimate(model_train, train_data);
[forecast_test, MSE_test] = forecast(fit_train, 5, 'Y0', train_data);
rmse_sarima = sqrt(mean((test_data - forecast_test).^2));

% Holt
level = train_data(1);
trend = mean(diff(train_data(1:min(6,length(train_data)))));
forecast_holt_test = zeros(5,1);
for h = 1:5
prev_level = level;
level = alpha * train_data(end) + (1 - alpha) * (level + trend);
trend = beta * (level - prev_level) + (1 - beta) * trend;
forecast_holt_test(h) = level + h * trend;
end
rmse_holt = sqrt(mean((test_data - forecast_holt_test).^2));

% Regression
X_train = [ones(15,1), train_years - 2000, (train_years - 2000).^2];
coeff_train = X_train \ train_data;
X_test = [ones(5,1), test_years - 2000, (test_years - 2000).^2];
forecast_poly_test = X_test * coeff_train;
rmse_poly = sqrt(mean((test_data - forecast_poly_test).^2));

% Affichage des performances


fprintf('=== Performance sur la période 2015-2019 (RMSE) ===\n')
fprintf('SARIMA: %.3f TWh\n', rmse_sarima)
fprintf('Lissage de Holt: %.3f TWh\n', rmse_holt)
fprintf('Régression Quadratique: %.3f TWh\n', rmse_poly)

%% 7. Export des prévisions


results = table(future_years, forecast_sarima, forecast_holt, forecast_poly, ...
'VariableNames', {'Annee', 'SARIMA', 'Holt', 'Regression_Quadratique'});
writetable(results, 'previsions_eoliennes_2030.csv');

%% 8. Analyse des résidus SARIMA


res = infer(fit_sarima, production);
figure;
subplot(2,1,1)
plot(res)
title('Analyse des Résidus SARIMA')
ylabel('Résidus')
grid on

subplot(2,1,2)
autocorr(res)
title('Autocorrélation des Résidus')
Références

Application du modèle SARIMA(1,0,0)(0,1,1)12 pour prédire les cas d'hépatite B


en Chine. Source : PMC - SARIMA for Hepatitis B Prediction

Utilisation de SARIMA pour prédire les tendances criminelles en Arabie Saoudite,


avec comparaison aux modèles de régression linéaire et XGBoost.
Source : MDPI - SARIMA for Crime Analysis

Titre : Lissage exponentiel de Holt avec exemple - Statistiques


URL : [Link]

Titre : Polynomial Multiple Regression - Which function to use and how


URL :[Link]
multiple-regression-which-function-to-use-and-how

Titre : Prévision par lissage exponentiel (Exploration des modèles spatio-


temporels) URL : [Link]
time-pattern-mining/[Link]

Titre : Chapitre 3 Lissage Exponentiel


URL : [Link]
[Link]

Vous aimerez peut-être aussi