I am trying to forecast hourly wind speeds for a couple of years. My dataset contained trends and seasonality so a applied a difference of 24 to remove seasonality and then another difference to remove trends. This is the resulting autocorrelation and partial autocorrelation function. I would like to know how to determine the order of the SARIMA model= (p,d,q)*(P,D,Q)[s]?
1 Answers
My best suggestion would be to feed your series into R as a ts
object and then let auto.arima()
from the forecast
package select an appropriate seasonality. This is an established piece of software that will almost certainly do a better job than if you applied something you read about here. (If you do want to "roll your own", you can read up on the OCSB test for seasonality that auto.arima()
uses.
However, and more importantly, you may have multiple-seasonalities, since wind speeds may not only show day-over-day patterns, but also year-over-year ones, so you have cycles of length both $24$ and $365.25\times 24=8766$. Multiple seasonalities can be modeled and forecasted using the bats()
and tbats()
function in the forecast
package. See also the multiple-seasonalities tag info.

- 95,027
- 13
- 197
- 357
-
My dataset only consists of a year & a half hourly wind speeds, would that mean that there is a monthly seasonality? – L N Mar 13 '18 at 20:43
-
There is probably no intra-month seasonality, since months are human constructs and not tied into natural cycles, in contrast to years, where there is the summer-winter cycle. I don't know how `bats/tbats` deals with having seen less than two full outer cycles. Try it! – Stephan Kolassa Mar 13 '18 at 20:48