This repository contains a comprehensive analysis and forecasting of Bitcoin prices using various machine learning and statistical models. The project includes data preparation, model building, evaluation, and comparison of different forecasting techniques.
- Data Preparation: Loading and preprocessing Bitcoin price data from CSV files.
- Naive Model: Implementation and evaluation of a naive forecasting model.
- Feedforward Neural Network (FNN): Building, training, and evaluating a feedforward neural network for time series forecasting.
- LSTM Model: Implementation of a Long Short-Term Memory (LSTM) model for sequential data prediction.
- ARIMA Model: Building and fitting an ARIMA model with optimal parameters for time series forecasting.
- CNN Model: Construction and evaluation of a Convolutional Neural Network (CNN) for forecasting.
- N-BEATS Algorithm: Implementation of the N-BEATS algorithm for time series forecasting.
- Ensemble Learning: Combining predictions from multiple models to improve forecasting accuracy.
- Model Comparison: Evaluating and comparing the performance of different models using metrics such as MAE, RMSE, MAPE, and MASE.
mae | mse | rmse | mape | mase | |
---|---|---|---|---|---|
Naive | 1386.977173 | 3616419.00 | 1901.688477 | 2.040159 | 0.999604 |
FNN | 2642.769043 | 12584399.00 | 3547.449707 | 3.944340 | 1.907970 |
LSTM | 1377.588135 | 3615433.75 | 1901.429443 | 2.026795 | 7.650260 |
ARIMA | 949.575195 | 2158218.50 | 1469.087646 | 1.735869 | 0.993598 |
CNN | 1386.468262 | 3633649.75 | 1906.213501 | 2.041856 | 7.655732 |
NBEATS | 951.653442 | 2157803.75 | 1468.946533 | 1.746844 | 0.993082 |
Ensemble | 942.140320 | 2116802.50 | 1454.923584 | 1.724649 | 0.983155 |
Best results showed Ensemble Learning model with the lowest metrics values. ARIMA model and NBEATS algorithm also performed well in terms of forecasting accuracy. NAIVE, LSTM and CNN models showed higher errors compared to other models. And FNN showed the highest errors due to the long prediction horizon.