12

I have taken hourly-based wind power data, by taking its periodogram after making it stationary in R. It gives me four seasonal patterns at periods of 24, 12, 08, and 06, as shown in the figure below.

Is it possible to have sub-hourly seasonality in my wind power data?

The data is given as follows:

enter image description here

User1865345
  • 8,202
Mastoi
  • 123

3 Answers3

24

TLDR; The signal period is $24$ hours, eventhough you have your power spectrum indicating components with a smaller period. The components with period $6, 8, 12$ hrs also repeat themselves every $4 \times 6 = 24, 3 \times 8 =24, 2 \times 12 =24 $ hrs. So they all have, in a way, a common period of 24 hrs.


It gives me four seasonal patterns at periods of 24, 12, 08, and 06

This sounds like you get overtones. If your periodogram is a sort of Fourier spectrum, then this is not weird. It means that the daily pattern consists of more structure than just a single sine wave.

This doesn't mean that the period of the signal is smaller than 1 day. Below is an example signal constructed with several overtones (wave lengths smaller than 1 day), and you can see that the period of the signal is 1 day. The higher frequency signals influence the shape but not the period of the signal.

example of signal with period 1 day but many higher frequency components

The period of a function that is a sum of periodic functions is the least common multiple of the periods of the functions in the sum.

### t is time for one week of data sampled every ten minutes
t = seq(0,7*24*60,10)

some example measurement of data that depends on sin waves with multiple sub-daily periods

Td = (2460)/(2pi) ### daily period y = 2 + sin((t+1000)/(Td)) + 0.4* sin((t+1200)/(Td/2)) + 0.1* sin((t+800)/(Td/3)) + 0.1* sin((t+1000)/(Td/4))

plot

plot(t/24/60,y+rnorm(7246,0,0.2), type = "l", xlab = "time in days", ylab = "signal", main = "example of signal with a daily period, but several overtones")

  • Sir thank you for your kind response, I want to check the number of seasonal patterns in my wind data, but when I take built-in mstl() function in R, it asks me to provide the frequencies at which these seasonal patterns occur. these frequencies I don't know. when I take acf plots and pacf plots to see seasonal patterns then it gives me the spikes at an integer multiple of 24 periods and above and below of this period. which is more confusing for me. that's why i tried periodogram of my wind data and I got more confused. – Mastoi Mar 15 '23 at 02:33
18

This suggests a daily periodic signal with harmonics

When looking at time-series data in the frequency domain, it is common for periodic signals in the data to consist of a main frequency and then a set of harmonics. The harmonic frequencies are integer multiples of the main frequency of the signal. This occurs because each of the spikes in the frequency domain correspond to a sinusoidal wave in the time domain, and the actual periodic signal in the time domain is often not a perfect sinusoidal wave. Thus, what you have here sugggests that your wind power data has a periodic daily signal that is not a perfect sinusoidal wave (but which can be created as a weighted sum of a main sinusoidal wave and then four harmonics that are smaller sinusoidal waves at the harmonic frequencies).

Ben
  • 124,856
  • sir thank you for your response, what I am looking for by taking the periodogram of my wind data is to find out the exact number of seasonal patterns (seasonality). which can be found by taking the mstl() function in R, but the problem with mstl() in R is to tell frequencies, which I don't know. – Mastoi Mar 15 '23 at 03:07
13

Many things are possible. (Here is one possible data-generating process that might lead to such sub-daily seasonalities, but no, I'm not really serious about that.)

I am not an expert in wind power generation as such, however, I find such a periodicity extremely unlikely. I understand that wind could have intra-daily patterns (differences between night and day), i.e., a seasonal period of 24 hours, and intra-yearly patterns (differences between summer and winter), i.e., a seasonal period of about 8766 hours. (These are examples of - you may find the tag wiki helpful.)

However, other patterns simply don't make a lot of sense from a data generation point of view. Yes, the moon might have some very weak effect on the wind, perhaps via tides, so we might have intra-monthly patterns. I see no reason why the wind itself should have intra-weekly effects. Conversely, wind power generation might actually have such patterns: since electricity demand has weekly patterns, it might be that wind farms get cycled up or down with a certain weekly influence. But subdaily patterns at all these periodicities sound like an artifact or an error to me.

I have to admit that I am a forecaster and think like one. To a forecaster, the question is not so much whether a structure is present in a time series, but whether it helps us forecast the series better. As such, I naturally turn to papers about forecasting wind power, e.g., something connected with a good journal like the International Journal of Forecasting, and then I start skimming them on whether they report this kind of seasonality. Here is a paper that sampled in 10-minute buckets and found daily seasonality ($24\times 6 = 144$) periods per cycle - nothing about the kinds of seasonality you found. The GEFCom2014 did include a competition on wind power forecasting, but the summary paper does not go into details on what seasonalities were modeled by the winning methods. You might be able to get a better idea of what other people have found with a deeper literature search.

Stephan Kolassa
  • 123,354
  • The apt xkcd reference and the precious statement: To a forecaster, the question is not so much whether a structure is present in a time series, but whether it helps us forecast the series better. Thank you. $+1.$ – User1865345 Mar 13 '23 at 07:52
  • 2
    @User1865345: I like to say that the proof of the pudding is in the eating, and the proof of the model is in the prediction or forecast. I would not assume everyone here to agree. – Stephan Kolassa Mar 13 '23 at 07:59
  • 2
    If this is in a coastal area, patterns during the day (initially the water is warmer, then the land warms up faster etc. changing the wind patterns - vs. night where things cool down) are certainly a known thing and might be in ~ 6 to 8 hour periods. Would not hold in all locations (on average, I guess this gets water down). – Björn Mar 13 '23 at 11:57
  • 2
    @Björn: I would expect effects like that to lead to intra-daily patterns. but not subdaily ones with two or more cycles per day. But then, I'm not an expert in coastal wind dynamics... – Stephan Kolassa Mar 13 '23 at 12:03
  • 1
    As well as any small daily and annual pattern, you may also need to consider the much larger impact of very short-term autocorrealtion (if it is very windy now then it is likely to be windy in an hour's time) - it is surprising that the $0.041667$ uptick is not the highest. The whole shape of the chart looks strange, and I almost wonder if it is a mix of data collected with different time intervals. – Henry Mar 14 '23 at 23:45
  • sir thank you for your detailed answer, I have also searched for research articles, about whether or not this kind of seasonality reported earlier, but I also couldn't be able to find anything like this. I am trying to find out the exact number of seasonality present in my wind data. – Mastoi Mar 15 '23 at 15:17
  • I would think that the other answers that point to likely harmonics of your intra-daily patterns as a possible explanation, are almost certainly right. Take a look at an STL decomposition of your data, which is not limited to highly regular sine/cosine seasonal patterns, for potential enlightenment. – Stephan Kolassa Mar 15 '23 at 17:23