我是时间序列机器学习的新手,有一个可能有些简单的问题。
我想预测某个特定区域的温度。我可以使用一周前六天的每小时数据点来训练一个模型,然后在最后一天下评估其性能。因此,训练集将有144个数据点(6*24),测试集将有24个数据点(24*1)。同样,我可以为B-Z区域训练新的模型,并评估每个区域的个别表现。我的问题是,能否训练一个单一模型来预测多个不同区域的温度?当然,区域标签应该作为输入,因为它会影响温度的变化。
您能否训练一个单一模型来预测多个轨迹的温度,而不仅仅是一个?另外,评估其性能的良好指标是什么?我原本打算使用平均绝对误差,但也许相关性更好?
回答:
是的,您可以使用来自不同区域的多个数据系列进行训练,您提出的问题是深度学习的终极目标,即创建一个模型来做所有事情,正确预测每个区域等等。然而,如果您想使模型如此通用,通常需要一个非常庞大的模型,我说的是1亿多个参数,并且要训练这些数据,您还需要大量的数据,可能需要几TB或PB的数据,因此您还需要一个超级强大的计算机来训练它,比如谷歌数据中心。关于您的下一个问题,评估指标,您可以使用简单的均方根误差或平均绝对误差,这些都会很好地工作。
您需要关注的是训练数据,没有超级模型可以将垃圾变成黄金,这里也是如此,垃圾进,垃圾出。您需要一个能够代表您试图解决的整个环境的相当好的数据集。例如,您想创建一个模型来预测如果用锤子敲击玻璃,它是否会破裂,那么您可能有每种玻璃10个数据,并且所有这些在您敲击时都破裂了。因此,您训练模型,它每次都预测破裂,然后您尝试用防弹玻璃进行预测,它没有破裂,所以您的模型是错误的。因此,您需要不同类型玻璃的完整数据集,然后您的模型可能会正确预测。将此与您的144个数据点进行比较,我很确定这对您的案例不起作用。
因此,我会说,是的,您可以构建一个适合所有情况的单一模型,但需要付出巨大的代价。