Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Machine learning models for time series analysis
| Date | Stars |
|---|---|
| 2026-07-24 | 374 |
| 2026-07-25 | 374 |
| 2026-07-28 | 374 |
| 2026-07-30 | 374 |
| 2026-07-31 | 374 |
| 2026-08-06 | 374 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# Time Series Prediction with Machine Learning A collection of different Machine Learning models predicting the time series, concretely the market price for given the currency chart and target. <p align="center"> <img src=".images/btc_eth_prediction.png" alt="BTC_ETH chart" width="100%"/> <img src=".images/btc_ltc_prediction.png" alt="BTC_LTC chart" width="100%"/> </p> Requirements ------------ Required dependency: `numpy`. Other dependencies are optional, but to diversify the final models ensemble, it's recommended to install these packages: `tensorflow`, `xgboost`. Tested with python versions: 2.7.14, 3.6.0. Fetching data ------------- There is one built-in data provider, which fetches the data from [Poloniex exchange](https://poloniex.com/exchange). Currently, all models have been tested with crypto-currencies' charts. Fetched data format is standard security [OHLC trading info](https://en.wikipedia.org/wiki/Open-high-low-close_chart): date, high, low, open, close, volume, quoteVolume, weightedAverage. But the models are agnostic of the particular time series features and can be trained with sub- or superset of these features. To fetch the data, run [`run_fetch.py`](run_fetch.py) script from the root directory: ```sh # Fetches the default tickers: BTC_ETH, BTC_LTC, BTC_XRP, BTC_ZEC for all time periods. $ ./run_fetch.py ``` By default, the data is fetched for all time periods available in Poloniex (day, 4h, 2h, 30m, 15m, 5m) and is stored in `_data` directory. One can specify the tickers and periods via command-line arguments. ```sh # Fetches just BTC_ETH ticker data for only 3 time periods. $ ./run_fetch.py BTC_ETH --period=2h,4h,day ``` **Note**: the second and following runs *won't* fetch all charts from scratch, but just the update from the last run till now. Training the models ------------------- To start training, run [`run_train.py`](run_train.py) script from the root directory: ```sh # Trains all models until stopped. # The defaults: # - tickers: BTC_ETH, BTC_LTC, BTC_XRP, BTC_ZEC # - period: day # - target: high $ ./run_train.py # Trains the models for specified parameters. $ ./run_train.py --period=4h --target=low BTC_BCH ``` By default, the script trains all available methods (see below) with random hyper-parameters, cross-validates each model and saves the result weights if the performance is better than current average (the limit can be configured). All models are placed to the `_zoo` directory (note: it is possible that early saved models will perform much worse than later ones, so you're welcome to clean-up the models you're definitely not interested in, because they can only spoil the final ensemble). **Note 1**: specifying multiple periods and targets will force the script to train all combinations of those. Currently, the models *do not* reuse weights for different targets. In other words, if set `--target=low,high`, it will train *different* models particularly for `low` and for `high`. **Note 2**: under the hood, the models work with transformed data, in particular `high`, `low`, `open`, `close`, `volume` are transform to *percent changes*. Hence, the prediction for these columns is also *percent changes*. Machine Learning methods ------------------------ Currently supported methods: - Ordinary linear model. Even though it's very simple, as it turns out, the linear regression shows pretty good results and compliments the more complex models in the final ensemble. - Gradient boosting (using `xgboost` implementation). - Deep neural network (in `tensorflow`). - Recurrent neural network: LSTM, GRU, one or multi-layered (in `tensorflow` as well). - Convolutional neural network for 1-dimensional data (in `tensorflow` as well). All models take as input a window of certain size (named `k`) and predict a single target value for the next time step. Example: window size `k=10` means that the model accepts `(x[t-10], x[t-9], ..., x[t-1])` array to predict `x[t].target`.
Excerpt of 7,447 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:6c97751d244099fa, topic:deep-learning, topic:neural-network, topic:tensorflow