使用 LSTM(長短期記憶)模型預測幾個月內特斯拉的股價。有關特斯拉的推文用於提高預測準確性。
首先,使用LSTM 多元時間序列預測模型預測幾個月內的股價。然後,清理有關 Tesla 的推文,並使用TextBlob 計算其每日平均情緒分數。最後,將每日平均情緒分數作為特徵添加到 LSTM 模型中並用於預測。
免責聲明: LSTM 模型不能用於預測現實生活中的股票價格,因為股票市場具有很強的不可預測性。在這個專案中,驗證階段是用來測試模型的效能。此專案的目的是使用 LSTM 實現多元時間序列預測。
任務是調查有關特斯拉的推文對其股價的影響。
可以從資料資料夾存取 csvs zip 檔案和模型狀態。
Adj 收盤價作為回應,以下內容用作特徵:
由於 LSTM 模型對資料規模敏感,因此對特徵進行歸一化,然後將其轉換為張量。
LSTM模型參數:
input_size=5
batch_first=True
num_classes=1
optimizer=Adam
loss_function=MSELoss()
使用網格搜尋演算法透過Ray Tune調整後的 LSTM 模型超參數:
hidden_size=3
num_layers=1
learning_rate=0.001
num_epochs=8000
GPU得到充分利用。
MSE(均方誤差)結果:
推文透過以下方式進行清理和預處理:
然後對它們進行詞形還原,並對單字進行頻率分析。
推文的情緒分數是使用TextBlob 計算的。極性範圍為[-1.0,1.0],其中-1.0為最負極性,1.0為最正極性,0.0為中性極性。然後,對情緒分數進行頻率分析。最後,計算每日平均情緒分數。
最後,每日平均情緒分數作為一個特徵添加到我們的 LSTM 模型中。
LSTM模型參數:
input_size=6
num_classes=1
optimizer=Adam
loss_function=MSELoss()
使用網格搜尋演算法透過Ray Tune調整後的 LSTM 模型超參數:
hidden_size=5
num_layers=1
learning_rate=0.002
num_epochs=8000
GPU得到充分利用。
MSE(均方誤差)結果:
從來沒有情緒分數和情緒分數的預測的 MSE 結果來看,很明顯,將推文的日平均情緒分數作為特徵添加到 LSTM 模型中可以提高其預測準確性。這意味著有關特斯拉的推文對其股價有一定程度的影響。