smartcorelib / smartcore

A comprehensive library for machine learning and numerical computing. The library provides a set of tools for linear algebra, numerical computing, optimization, and enables a generic, powerful yet still efficient approach to machine learning.
https://smartcorelib.org/
Apache License 2.0
694 stars 76 forks source link

Feature request: time series functionality #91

Open taeh98 opened 3 years ago

taeh98 commented 3 years ago

Hello, I hope this finds you well.

Please could you implement machine learning time series functionality within SmartCore? I would like to work with machine learning-based time series forecasting, classification, regression, etc in Rust. I just thought it would be useful and interesting to me for a Rust machine learning library to implement the type of time series functionality in existing Python libraries like sktime, Prophet, and Tensorflow, and that it may be the case for others as well.

There are obviously additional considerations that would take time to address and implement like making sure data are stationary and deseasonised, windowing and framing, etc. It may be useful or necessary to implement models that perform well with time series data, such as LSTM neural networks, classical models, like ARIMA, to use as a baseline against which to compare machine learning models, additional relevant evaluation metrics, etc.

Thank you for your time and consideration.

VolodymyrOrlov commented 3 years ago

Hi Tom! I was thinking about adding ARMA/ARIMA and some other simple methods from R's Tswge package, but I can't find time to do it myself. Let me know if you are interested in developing such an extension yourself. I have some basic understanding of time series analysis myself and I know a person from SMU, who might help us if we decide to implement functionality similar to Tswge in Rust.

taeh98 commented 3 years ago

Hi Tom! I was thinking about adding ARMA/ARIMA and some other simple methods from R's Tswge package, but I can't find time to do it myself. Let me know if you are interested in developing such an extension yourself. I have some basic understanding of time series analysis myself and I know a person from SMU, who might help us if we decide to implement functionality similar to Tswge in Rust.

Thanks for your reply!

Yes I would be interested in adding time series functionality to this package, but I wouldn't be able to start for a while - both because of other commitments I have now as well as that I would need to read up on time series stuff more to be able to actually implement it. But in the future, I'd definitely be interested.