Sorry of a similar question has been asked before but I did not get my answer.

I have some TV viewership (which I can not provide, I am sorry) that I am pretty sure has 3 periodicities: daily, weekly and yearly. I know this because I can see that in the graphs when I plot the viewership every half an hour throughout the year.

This can be very clearly seen in the picture below: there are peaks at prime time every day, there is a dip every weekend (more drop on Sundays, there are outliers for different events when the viewership falls but we are not interested in that right now). When plotted for the whole year, I can see there is a fast fall in April-May and a slow rise towards the year end.

Impressions every hour

However, I want to confirm these numbers (1, 7, 366) for the msts function in R are correct.

ts1 <- ts(channel_views$Impressions)
acf(ts1, lag.max = 1000)

When I plot The ACF, I can see peaks at multiples of 7 indicating weekly seasonality. But how do I know from ACF there are more seasonalities in the data?

  • $\begingroup$ by simply using 1-7-366 your are leaning on memory rather than possible deterministic structure like day-of-the-week , week-of-the-month , month-of-the-year, day-of-the-month, month-end effects, long-weekend effects , lead , contemporaneous and lag effects of individual holidays , known events etc. Post your data or an artifact of your data (coded etc ) and I will try and be more specific $\endgroup$
    – IrishStat
    Mar 22, 2017 at 17:00
  • $\begingroup$ and of course anomalous values and level shifts and deterministic trends . $\endgroup$
    – IrishStat
    Mar 22, 2017 at 17:22

1 Answer 1


Hourly data and/or daily data often include day-of-the-week effects , weekly effects , holiday effects et al and of course possible outliers/level shifts/time trends.. Looking at acf plots (symptoms) in order to deduce "causes" can be useful but many times insufficient to identify a useful model.

ARIMA ( any model ! ) identification is an iterative process not a one-and-done. The anachronistic view that you can assume that there are no outliers and form a model that subsequentially detects outliers suggests possible (probable )sub-optimization because your first assumption has been proven to be wrong. The modern approach requires a comprehensive/simultaneous/global approach which yields a holistic model combining both memory (ARIMA) and needed dummy variables.

Model identification is an iterative , self-checking process . By examining the residuals we can often identify/suggest other "causes" but they are often NOT purely autoprojective ( found by their acf ) but reflect unknown but waiting to be discovered deterministic structure like particular days-of-the-month or particular week-of-the=month effects. If you wish to post your data (starting date and country of origin), I might play Santa Claus and give you a small present. Here is an example of finding the hidden layers http://www.autobox.com/cms/index.php/afs-university/intro-to-forecasting/doc_download/53-capabilities-presentation (slide 47) using AUTOBOX which I helped to develop to solve problems like the one you ask.

  • $\begingroup$ Thank you very much for your reply sir. Unfortunately, as much as I wish to, I can NOT post the data :( $\endgroup$
    – kskp
    Dec 24, 2016 at 12:58
  • $\begingroup$ perhaps you can code/normalize the data to mask it . $\endgroup$
    – IrishStat
    Dec 24, 2016 at 13:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.