Skip to content

Repository files navigation

Overview

This project revolves around comparing different models' performance in regard to predicting the prices of cryptocurrencies.

Objectives

We will try to assert the accuracy of various models when doing analysis on crypto prices. We had gathered four datasets from CoinDesk: ADA, ETH, DOGE, and SOL, each having differnt trends and volitility. We will conduct weekly forecasting analysis on said datasets using 5 approches listed below:

  • Baseline - a simple model that predicts based on prices from a specific window of time prior.

  • Polynomial regression - a linear or polynomial regression line use predict future values.

  • KNN (k-nearest neighbors) regression - uses similar traits of a given day to determine prices.

  • ARIMA (Autoregressive integrated moving average) - consider correlation of lags (passed values) to predicts values.

  • AdaBoost (Adaptive boost) regression - a collection of weak learners that cover each other weaknesses.

Implementation will be done using python in Jupyter Notebook in combination with third party libraries: pandas, NumPy, Matplotlib, scikit-learn and statsmodels. We will measure accuracy by measuring the mean absolute precentage error (MAPE) on a 70:30 train-test-split ratio datasets with rolling forecasting - refitting modes every time a new day is predicted with that day's values.

Results

Mean absolute percentage error chart using 70:30 train-test ratio with rolling forecast.

Coin ADA ETH DOGE SOL
ARIMA 3.46% 4.0% 3.62% 3.46%
Polynomial Regression 3.89% 4.87% 4.47% 4.68%
KNN Regression 1.36% 1.83% 1.44% 1.93%
Adaboost Regression * ~ 3.95% ~ 5.58% ~ 7.64% ~ 4.55%
Baseline 4.94% 6.38% 8.93% 6.80%

* Adaboost models' accuracy changes everytime a model is created; even with the same training data.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages