How to determine seasonality of a time series

TripartioTripartio Member Posts: 37 Maven
Hello,
Does RapidMiner have any operator that can determine the seasonality of a time series? My idea is that the input is a dataset with an attribute specified as the target, and the output (perhaps among other things) figures out the seasonality pattern (e.g. 12 for annual seasonality on monthly data, 7 for weekly seasonality on daily data, 168 for weekly seasonality on hourly data, etc.).
I know that R can do this with auto.arima, but does RapidMiner have such a feature built in? (If not, I know that I could use the R Scripting extension to run the R function.)
Regards,
Chitu
Tagged:

Best Answer

Answers

  • MartinLiebigMartinLiebig Administrator, Moderator, Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert, University Professor Posts: 3,503 RM Data Scientist
    Hi,

    @yyhuang may correct me here, but to the best of my knowledge auto-arima is just a grid optimization around normal arima optimized on BIC/AIC. You can easily build this with operators.

    Best,
    Martin
    - Sr. Director Data Solutions, Altair RapidMiner -
    Dortmund, Germany
  • TripartioTripartio Member Posts: 37 Maven
    edited November 2020
    Here is a brief description to how R's auto.arima works, summarized by one of its creators: 8.7 ARIMA modelling in R. I'm not quite expert enough in RapidMiner to "easily build this with operators".
    In any case, do I take it, then, that RapidMiner does not have an operator that outputs the seasonality, especially in ARIMA terms? As I said, I could work around it with the R Scripting extension, but with the recent Forecasting extension, I was wondering if auto.arima functionality was integrated (or on the roadmap).
    By the way, I've been playing around recently with the new Forecasting extension, and it is very impressive. Even though it is still quite rudimentary, it produces great results easily. Thanks for your work on that.
    Regards,
    Chitu


  • MartinLiebigMartinLiebig Administrator, Moderator, Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert, University Professor Posts: 3,503 RM Data Scientist
    Hi,
    thats a great link :). As far as I know there is no out-of-the box method for this, but I am not our internal ARIMA expert. Those are @David_A and @yyhuang . So i leave the stage for them.

    Best,
    Martin
    - Sr. Director Data Solutions, Altair RapidMiner -
    Dortmund, Germany
  • TripartioTripartio Member Posts: 37 Maven
    @yyhuang Thanks for the pointer to the Auto ARIMA process. That's the kind of thing I'm looking for. It is disappointing that it does not support seasonality, but I hope that might come soon.

    @mschmitz, it seems that the new Forecasting extension operators Forecast (Univariate) and Forecast (Multivariate) do this kind of thing. But the main difference between what they currently do (version 0.1.6) and what I am looking for is that they do not report the ARIMA p, d, q parameters, or the parameters for other models (Holt-Winters or Functional and Seasonal Forecasting). Could they be updated to report the optimized parameters?
    Regards,
    Chitu
  • MartinLiebigMartinLiebig Administrator, Moderator, Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert, University Professor Posts: 3,503 RM Data Scientist
    we could do it. But I would like to have Univariate Forcast as simple as possible. Why don't you just use the process as an execute process and edit it in the way you need it?

    Best,
    Martin
    - Sr. Director Data Solutions, Altair RapidMiner -
    Dortmund, Germany
  • TripartioTripartio Member Posts: 37 Maven
    Sorry, but I don't understand your suggestion at all: "Why don't you just use the process as an execute process and edit it in the way you need it?" Could you please explain what you are suggesting?
    Regards,
    Chitu

  • MartinLiebigMartinLiebig Administrator, Moderator, Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert, University Professor Posts: 3,503 RM Data Scientist
    you can just open the underlying process and store the process. Afterwards you can drag and drop this said process and use it as a function-type thing. This allows you to edit this process to do the things you want to do.

    I just got the idea of adding the best p-q-d used as an annotation to the resulting example set. that way we would keep it simple and you can see whats being used. How does this sound?

    Best,
    Martin
    - Sr. Director Data Solutions, Altair RapidMiner -
    Dortmund, Germany
  • TripartioTripartio Member Posts: 37 Maven
    @mschmitz, Sorry for the very late response. Your idea sounds quite helpful ("I just got the idea of adding the best p-q-d used as an annotation to the resulting example set"). Would that be possible for an update to the operators?

    Thanks,
    Chitu

Sign In or Register to comment.