## 3 Proposed Methodology
### Model Training  
#### 3.3.1 Multi-LSTM-Sentiment  
A sequential LSTM architecture was developed first to predict Bitcoin price movements using multiple input features. We named the model Multi-LSTM-Sentiment and describe its training and validation in this section.  
Figure 1: Correlation heatmap illustrating the relationships between features. Values range from \(-1\) to \(1\), with \(-1\) indicating a strong negative correlation and \(1\) indicating a strong positive correlation.  
The features used included historical Bitcoin price data and Twitter sentiment scores, as these features were hypothesised to impact price dynamics significantly. Twitter sentiment scores, derived from the textual data of Bitcoin-related tweets, were aggregated to provide a sentiment index reflecting market mood. Historical prices were preprocessed to ensure temporal alignment with the sentiment scores, and all features were normalised using MinMax scaling for optimal model performance.  
The architecture consisted of three LSTM layers, each containing 50 neurons. Outputs from each LSTM layer were sequentially fed into the next, ensuring that the model captured long-term temporal dependencies across the multivariate input data. The input sequence length was set to 48 time steps, corresponding to a two-day window (assuming hourly intervals), which provided sufficient historical context for the model to learn meaningful patterns. The final dense layer, containing a single neuron, provided the price prediction.  
The choice of 50 neurons per LSTM layer balanced the need to model complexity with the risk of overfitting. Fewer neurons might have limited the model's ability to capture intricate patterns, while more neurons could have increased computational demands and the risk of overfitting. The input sequence length of 48 captured two days' worth of data, aligning with the hypothesis that recent historical trends were more predictive. The Adam optimiser was selected for its ability to handle sparse gradients efficiently, crucial for training deep architectures like LSTM. Using three layers allowed the model to progressively extract complex patterns while maintaining computational efficiency.  
The Adam optimiser and MSE were employed to guide the training process. The training spanned 50 epochs with a batch size of 25. A validation split of 20% ensured a robust evaluation of the model's generalisation ability. Figure 2 depicts the training and validation error trends for the Multi-LSTM-Sentiment model across MSE, MAE, and MAPE metrics, showing that the model effectively learned the training data.  
The metrics dropped significantly over the epochs, showing that the model effectively learned the training data. By the 50 th epoch, the MAE was very low, indicating minimal prediction errors on the training set. The low MAPE showed the predictions were accurate across different scales of the target variable.  
Figure 2: Training and validation error trends for the Multi-LSTM-Sentiment model across metrics: MSE, MAE, and MAPE. The decreasing trends indicate effective learning and generalisation.  
Similarly, the validation metrics also decreased over time. By the 50 th epoch, both MAE and MAPE were very low, reflecting the model's effective prediction accuracy on unseen data.  
Overall, the model performed well on both training and validation datasets. The low MAE and MAPE values, along with consistent metrics across training and validation, indicated that the model was not overfitting and had generalised effectively.