黄金价格预测:如何将时序数据处理成监督学习数据
背景概述
今天介紹下如何將時序數據處理成監督學習可用的訓練樣本。比較典型的場景是黃金的原始數據,一般黃金走勢數據是由兩個字段組成,分別是時間字段和價格字段。
走勢圖如下:
順便安利一個黃金數據的下載網址:
https://fred.stlouisfed.org/series/GOLDAMGBD228NLBM
數據滑動窗口原理
那這種時序數據如何轉換成包含特征和目標列的監督學習訓練樣本呢?今天介紹一個叫“數據滑動窗口”的方法。在數據滑動窗口這個方法中,把當前日期叫做t,前一天是t-1,后一天用t+1表示。也就是說假設要預測t+1天的黃金價格的走勢,可以把t、t-1、t-2、t-3...這些日期的數據作為特征,t+1天的數據作為目標列去建模。
舉個例子,假設要構建2個特征,1個目標列這樣的訓練樣本,使用如下數據集。
訓練集可以構建成如下模式,最后一列是目標列:
1125,1121,120.85
1121,1120.85,1122.3
1120.85,1122.3,1107.75
........
代碼示例
基于上述網址下載的數據,我用DataFrame的shift函數實現了一個數據處理的示例,原始數據:
處理后的數據:
?
from pandas import DataFrame
df = DataFrame()
getTex=open('goldPrice.csv')
rawData=[]
for line in getTex.readlines():
? ?index=line.strip().split(',')
? ?if index[1]=='.':?
? ? ?continue? ?#filter dirty data? ?
? ?rawData.append(index[1])
df['t-1'] = rawData
df['t'] = df['t-1'].shift(-1)
df['t+1'] = df['t-1'].shift(-2)
print(df)
?
接下來做預測就很簡單了,可以用xgboost這樣的回歸算法去基于過去兩天的數據預測接下來一天的價格,最終價格可以通過MAE這樣的回歸算法評估方法去評估。
總結
以上是生活随笔為你收集整理的黄金价格预测:如何将时序数据处理成监督学习数据的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 微信公众号文章质量评分算法详解
- 下一篇: 浅谈湖仓一体化对上层机器学习业务的促进
