Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add exogenous variables support for SARIMA and UnobservedComponents #258

Open
guilhermebodin opened this issue Apr 15, 2021 · 5 comments
Open

Comments

@guilhermebodin
Copy link
Member

No description provided.

@detrin
Copy link

detrin commented Aug 5, 2023

Hello,

would you be open on adding X into SARIMA model to get also SARIMAX? The only option as of now is statsmodels in python. I don't count using R as an option. https://www.statsmodels.org/stable/generated/statsmodels.tsa.statespace.sarimax.SARIMAX.html
Which is alright, but it is terribly slow, because the whole implementation is just in python. I was thinking about writing SARIMAX from scratch in rust language, but that would be indeed nontrivial amount of work. I found your package and it looks very well, except missing the input for exogenous variables.

image
Source: https://towardsdatascience.com/time-series-forecasting-with-arima-sarima-and-sarimax-ee61099e78f6

Would you be open to this feature?

@guilhermebodin
Copy link
Member Author

Hi @detrin we would be totally open to this feature. Would you be willing to make a PR in the SARIMA model to extend it to be a SARIMAX?

There are two ways of doing it: one is to add state variables that represent the betas and another is to make a linear regression and then try to estimate the SARIMAX on the noises. Ideally, we could use R and Python as benchmarks to develop some tests for smaller models

@detrin
Copy link

detrin commented Aug 7, 2023

@guilhermebodin thanks for the response

I could make a PR, however it will take me a while to understand the codebase, I might have some questions.

one is to add state variables that represent the betas

This seems to me as better especially if the exogenous variables would be weakly coupled to the target variable and the time series are rather short (40-100 time points).

Benchmarking against python pkgs or R pkgs is great idea.

@guilhermebodin
Copy link
Member Author

I would be happy to guide you if you are available, one option to speed things up is to talk to me via the Julia slack https://julialang.org/slack/

@detrin
Copy link

detrin commented Aug 10, 2023

As soon as I have some time to spare I will get into reading your codebase. Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants