我正在尝试预测未来30天的数值。我有一组时间序列数据和一些参数。我将在底部附上日期的示例。
主要的想法是Y值是我们要在未来30天内预测的目标变量。f1-f5变量是影响Y值的数值。因此,我需要使用日期和f1-f5列来预测Y。所有数据每天更新。
请推荐一些用于预测“Y”值的机器学习和深度学习方法?
我的想法。据我所知,这是时间序列数据。这是一个回归任务。但我有些失望,因为我了解到时间序列方法仅基于日期值进行预测,使用季节性等因素。但我担心如果我使用XGBoost或线性回归方法,我会失去对这些数据的时间序列效应。
Date,f1,f2,f3,f4,f5,Y2015-01-01,183,34,15,1166,50,32512015-01-02,364,173,5,739,32,81322015-01-03,83,72,38,551,49,62712015-01-04,183,81,7,937,32,33342015-01-05,324,61,73,554,71,37422015-01-06,183,97,15,337,17,55432015-01-07,38,152,83,883,32,91432015-01-08,78,72,5,551,11,64352015-01-09,183,30,21,443,92,4353...,...,...,...,...,...,...2018-06-08,924,9,53,897,88,7446
回答:
时间序列传统上使用AR(自回归)和MA(移动平均)进行建模。趋势和季节性也应考虑在内。那么为什么不使用ARIMA或Prophet呢?这里有一些关于这个主题的理论 – https://otexts.com/fpp2/
有一些基于RNN/LSTM的机器学习/深度学习实现,但它们确实复杂,通常难以解释,并且容易受到梯度消失问题的影响。如果你必须使用机器学习/深度学习,你可能需要查看LSTNet。