Natural gas consumption forecasting

Hi, I have 4000 hours of the natural gas consumption in one station. This information is the hourly consumption profile for every day during the last six months. I have information about if the day is holiday or not, the weekday and the hour of the day (1-24). Given the first 12 hour of one day, I would like to forecast the other 12 hours. How can I do this ?
My first idea, was to compare the 12 hours or part of it with all the records I have, take the top three most similar, and use their weighted profile (in function of the similarity) to forecast the other 12 hours.
for i = 1:NDias
PerfilDia_i = DiaHorario(i).data(HorasSel,VolC);
Perfil_Norm_i = (PerfilDia_i - min(PerfilDia_i))./(max(PerfilDia_i) - min(PerfilDia_i));
DistPerfiles(i) = norm(Perfil_Norm_i - PerfilNorm0);
end
[ DistOrdered, I ] = sort( DistPerfiles );
DistOrdered(1) = []; I(1) = [];
NPerfiles = 3;
Pesos = DistOrdered( 1:NPerfiles );
Pesos = 1 - Pesos / sum( Pesos );
Pesos = Pesos / sum( Pesos );
PerfilTotal = 0;
for i = 1:NPerfiles
Perfil_i = DiaHorario( I(i) ).data( :, VolC );
Perfil_i = (Perfil_i-min(Perfil_i(HorasSel))) / ...
(max(Perfil_i(HorasSel))-min(Perfil_i(HorasSel)));
PerfilTotal = PerfilTotal + Perfil_i * Pesos(i);
end
ConsumoReal = DiaHorario(DiaTest).data(:,VolC);
ForeCast = PerfilTotal * (max(PerfilDia0) - min(PerfilDia0) ) + min(PerfilDia0);
This idea has given to me good results, but I would like to use something more complex and surely, accurate. I have read that MATLAB has powerfull tools for this. What do you recommend me to do ?
Roberto E.

4 commentaires

dpb
dpb le 27 Août 2014
The obvious other variables to include would be some of those relating to demand -- like temperature is one major driver if this is a generation plant you're talking about.
Roberto
Roberto le 28 Août 2014
No, I am talking about a distribution system. This is one of the measure and regulation stations.
José-Luis
José-Luis le 28 Août 2014
There are many many ways to approach this problem. You could develop a model, you could do a regression, you could do a bayesian approach, etc... What's the best way to go? Hard to say. If you're not interested at all in understanding how the system works you could even try artificial neural networks.
dpb
dpb le 29 Août 2014
...talking about a distribution system.
Still only distributes what is demanded so the demand drivers are still going to be highly correlated and predictive...

Connectez-vous pour commenter.

Réponses (1)

Yifeng Tang
Yifeng Tang le 16 Juin 2022

0 votes

I feel like ARIMA (https://en.wikipedia.org/wiki/Autoregressive_integrated_moving_average) may be a suitable tool/model for this case. What I think may be a risk though, is whether natural gas consumption has a yearly seasonality to it, e.g. colder months see more consumption. If so, 6 months of data may not be enough, or you are likely to get the "average" part wrong.
Below are some resources I've found on MathWorks Help:
https://www.mathworks.com/help/econ/specify-arimap-d-q-models.html
https://www.mathworks.com/support/search.html/videos/creating-arima-models-using-econometric-modeler-app-1520280167404.html

Catégories

En savoir plus sur Thermal Analysis dans Centre d'aide et File Exchange

Question posée :

le 27 Août 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by