Modelling hourly wind speeds for forecasting using arma and arima model

5 views (last 30 days)
Hey I have a dataset that consist of hourly wind speed data that is from January 2000 to December 2007 and I am trying to model the data to fit an arma & arima model. I first transformed the data to make it more gaussian shaped. I am trying to remove the seasonalities now and after i remove the daily seasonality, the acf still shows that the data has periods. How do I go about fixing this? Do I apply a yearly seasonality now?

Answers (1)

Aman
Aman on 1 Oct 2024
When dealing with timeseries data like hourly wind data, we majorly have to deal with three types of seasonalities: daily, weekly, and yearly. Since you have mentioned you are still noticing periods even after removing daily seasonality, meaning your data still may have weekly or yearly seasonality. In order to remove them, you can follow the below-mentioned steps:
  • In order to remove the weekly seasonality, you need to subtract 168 (24*7) from your data to make it weekly deseasonalized. You can do this like mentioned in the below code.
% Assuming 'data' is your wind speed time series
weekly_diff = 168; % 168 hours in a week
data_weekly_deseasonalized = data - [NaN(weekly_diff, 1); data(1:end-weekly_diff)];
  • In order to remove the yearly seasonality, you need to subtract 8760 (365*24) from your data to make it yearly deseasonalized. You can do this like mentioned in the below code.
% Remove yearly seasonality
yearly_diff = 8760; % 8760 hours in a year
data_yearly_deseasonalized = data_weekly_deseasonalized - [NaN(yearly_diff, 1); data_weekly_deseasonalized(1:end-yearly_diff)];
After performing the above steps you can finally train you ARMA/ARIMA model with the deseasonalized data.
I hope it helps to proceed ahead with your workflow.

Categories

Find more on Conditional Mean Models in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!