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

created a new udf for multivariate #1058

Closed
wants to merge 1 commit into from
Closed

Conversation

IshSiva
Copy link
Contributor

@IshSiva IshSiva commented Sep 6, 2023

time series forecasting

time series forecasting
@xzdandy
Copy link
Collaborator

xzdandy commented Sep 7, 2023

Hi Ish, what is the difference between the forecasting in this PR and existing forecasting in EvaDB?

@IshSiva
Copy link
Contributor Author

IshSiva commented Sep 7, 2023

Hi Ish, what is the difference between the forecasting in this PR and existing forecasting in EvaDB?

Hi Andy, this is for multivariate forecasting. The previous PR works for univariate forecasting only.

@xzdandy
Copy link
Collaborator

xzdandy commented Sep 7, 2023

Hi Ish, what is the difference between the forecasting in this PR and existing forecasting in EvaDB?

Hi Andy, this is for multivariate forecasting. The previous PR works for univariate forecasting only.

Thanks Ish! Does multivariate subsume univariate? If so, we can direclty change the existing function instead of creating a new one.

@xzdandy xzdandy added this to the v0.3.5 milestone Sep 8, 2023
@xzdandy xzdandy added the Integrations 🧩 Pull requests that update an integration label Sep 8, 2023
@IshSiva
Copy link
Contributor Author

IshSiva commented Sep 8, 2023

Hi Ish, what is the difference between the forecasting in this PR and existing forecasting in EvaDB?

Hi Andy, this is for multivariate forecasting. The previous PR works for univariate forecasting only.

Thanks Ish! Does multivariate subsume univariate? If so, we can direclty change the existing function instead of creating a new one.

Hi Andy, Prophet works for univariate also. I think we can update to having a single function.
CREATE FUNCTION MultivariateForecast IMPL 'evadb/functions/multivariate_forecast.py' train_end_date '2005-02-07' type 'MULTIVARIATE' model 'PROPHET' horizon 365 frequency 'd' ;

Will this syntax work?
we can have default parameters for univariate (ARIMA) and multivariate (PROPHET) types.

@americast can you also share your thoughts on this

@americast
Copy link
Member

Hi @IshSiva, thanks for the PR. I think for multivariate forecasting, the user would have to also provide multiple columns that need to be considered for forecasting. Thus, the user would have to provide the target column, as well as columns that would be considered as additional regressors.

You can check out statsforecast's implementation at this link. If you would like to directly use prophet, it's even simpler as they have an add_regressor option..

@IshSiva
Copy link
Contributor Author

IshSiva commented Sep 8, 2023

this link

Hi @americast , I have used this statsforecast implementation of Prophet for the multivariate forecasting. The target column can be given as an additional argument in the create udf function. So can we just update this new function to support univariate also? (because it is just an extension).

@americast
Copy link
Member

@IshSiva I think we can give statsforecast's Prophet Holiday a try. The only change that might be needed is support for more columns as user input while creating the UDF that would act as a reference for forecasting. The model option is also a parameter already implemented (I think I missed adding it to the docs), so the user can simply choose AutoARIMAProphet if they need multivariate forecasting. Or, we can create an alias for the same.

@jarulraj
Copy link
Member

Let's go with just statsforecast and neuralforecast.

@jarulraj jarulraj closed this Sep 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Integrations 🧩 Pull requests that update an integration
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants