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

Online training narx #7

Open
q138ben opened this issue Oct 2, 2020 · 5 comments
Open

Online training narx #7

q138ben opened this issue Oct 2, 2020 · 5 comments

Comments

@q138ben
Copy link

q138ben commented Oct 2, 2020

Hi, the package looks very fantastic to predict time series data. I was wondering if it is possible to implement it in an online training.

@jxx123
Copy link
Owner

jxx123 commented Oct 8, 2020

Can you elaborate on online training? Do you mean updating the model parameters at each time step as new data come in?

@q138ben
Copy link
Author

q138ben commented Oct 8, 2020 via email

@jxx123
Copy link
Owner

jxx123 commented Oct 8, 2020

I see. What you can do is calling fit(X[:t], y[:t]) (considering t is the current time step) at each time step, but this could be slow since you retrain the model at each time step.

I know there are very efficient way to do this online update for linear models (https://www.mathworks.com/help/ident/ref/recursivearx.html), but I don't think there are such efficient algorithm for nonlinear models.

@q138ben
Copy link
Author

q138ben commented Oct 8, 2020 via email

@jxx123
Copy link
Owner

jxx123 commented Oct 8, 2020

Yeah, it is possible to reinitialize the weights (depending on the underlying model you are using, say RandomForest or any neural networks) each time you call fit, but is has nothing to do with the fireTS package (it is caused by the underlying model). You might be able to tweak around for deep neural networks by initializing the weight using the previously trained weights (like transfer learning), but not sure if other sklearn models support this custom initial weights or not.

On a high level, if all the machine learning packages have a good API for initializing weights, maybe I can do something in fireTS. I will leave this issue open and maybe add more details once I find out more.

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