我正在研究时间序列数据。
如果你查看迄今为止运行的示例中的时间序列数据,它们都只有两个相似的列。一个是日期,另一个是任意数值。
例如,在预测股票价格上涨的情况下,我们预测的是‘单一’股票。
那么,在时间序列数据分析中,是否可以同时预测多个股票呢?
例如,在受试者服用影响肝功能的药物后,他们得到了迄今为止的肝功能数据。这些数据是按日期记录的。基于这些数据,我想尝试预测未来肝功能水平的上升或下降点。此时,我需要同时预测多个患者,而不是单个患者。在这种情况下,我应该如何指定数据集呢?
是否可以通过添加一列来标记?还是我根本没有真正理解时间序列数据分析的本质?
如果有人知道相关信息,我将非常感激您能给我一些建议或提供参考网站。
回答:
你应该为每个患者分别进行预测。你可能不希望对一个患者的预测因为其他患者同时发生的情况而有所变化。
机器学习不仅仅是将数据输入模型并获得结果,你还需要考虑模型的设计,输入和输出在这里应该是什么。对于时间序列数据,你可能会输入患者在前几天的观察数据,并尝试预测接下来一天会发生什么。对于一个患者,你不需要其他患者的数据,如果你将这些数据提供给模型,它会试图利用这些数据并从训练数据中捕捉一些噪声,这不是你想要的。
然而,正如你所期望的,每个患者可能会有相似的行为,你可以为所有患者构建一个模型,而不是为每个患者构建一个模型。典型的输入形式将是:
[X(t – k, i), X(t – k + 1, i), …, X(t – 1, i)]
其中X(t, i)是在时间t对患者i的观察,用于预测X(t, i)。用所有患者的数据训练你的模型。
由于你给出了一个医学例子,如果你有一些协变量,如患者的体重或性别,你可以将它们包含在模型中,以捕捉他们的个体特征。在这种情况下,用于预测X(t, i)的模型输入将是:
[X(t – k, i), X(t – k + 1, i), …, X(t – 1, i), C1(i), …, Cp(i)]
其中C1(i)…Cp(i)是患者的协变量。如果你没有这些协变量,这不是问题,它们在某些情况下只是改善结果的因素。请注意,并不是所有协变量都一定有用。