我有带有时间序列索引的足球数据。30 秒间隔。因此,每场比赛 90 分钟以上 194 行。我有1500场比赛。数据框具有以下信息。
主场/客场:
• 总目标。
• 总投篮次数。
• 危险攻击总数和。
• XG(每场比赛的预期进球数)在比赛开始时给出,每个部分需要调整。
我需要建立一个时间序列模型来预测时间 t+1(比如目标得分)。
鉴于对于每个变量,该图显示了该时间后期的最高峰值,是否有任何机器学习算法可以使用如此小的数据集进行学习?
样本数据
g = pd.DataFrame({'TimeSlot':[0, 30000, 60000, 90000, 120000, 150000, 180000, 210000, 240000, 270000, 300000],
'xG_A':[1.5]*11, 'xG_B':[1.2]*11, 'A_DAT':[0,1,2,3,4,4,5,5,6,6,7],
'B_DAT':[0,0,1,1,2,2,2,3,3,3,4],
'A_ST':[0,0,1,1,2,2,2,3,3,3,3], 'B_ST':[0,0,0,1,1,1,1,2,2,2,2],
'A_GT':[0,0,0,0,0,0,1,1,1,1,2], 'B_GT':[0,0,0,1,1,1,1,1,1,1,1]})
g.set_index('TimeSlot', inplace=True)
The assumption is only one Goal/Shot can be scored/taken per Timeslot. So the same data per period will look like...
f= pd.DataFrame({'TimeSlot':[0, 30000, 60000, 90000, 120000, 150000, 180000, 210000, 240000, 270000, 300000],
'xG_A':[1.5]*11, 'xG_B':[1.2]*11, 'A_DATP':[0,1,1,1,1,0,1,0,1,0,1],
'B_DAP':[0,0,1,0,1,0,0,1,0,0,1],
'A_STP':[0,0,1,0,1,0,0,1,0,0,0], 'B_STP':[0,0,0,1,0,0,0,1,0,0,0],
'A_GTP':[0,0,0,0,0,0,1,0,0,0,1], 'B_GTP':[0,0,0,1,0,0,0,0,0,0,0]})
f.set_index('TimeSlot', inplace=True)
***ARIMA(2,1,0) with train, test = X[0:size], X[size:len(X)]
gives MSE:0.323 for g and MSE: 0.291 for f.***
问题
我应该使用哪个数据框?
如果有人从一些 python 代码开始,我将非常感激......