我读过的大多数时间序列分析教程/教科书,无论是单变量还是多变量时间序列数据,通常都处理连续的数值变量。
我目前有一个处理多元时间序列数据的问题,但这些字段都是分类变量。因此,我想知道是否有任何方法可以使用标准时间序列分析技术(例如 ARIMA、ARMA 等)
具体来说,我的数据是一个警报数据流,在每个时间戳中,警报监控系统、问题位置等信息都存储在警报中。这些字段都是分类变量。
我读过的大多数时间序列分析教程/教科书,无论是单变量还是多变量时间序列数据,通常都处理连续的数值变量。
我目前有一个处理多元时间序列数据的问题,但这些字段都是分类变量。因此,我想知道是否有任何方法可以使用标准时间序列分析技术(例如 ARIMA、ARMA 等)
具体来说,我的数据是一个警报数据流,在每个时间戳中,警报监控系统、问题位置等信息都存储在警报中。这些字段都是分类变量。
根据定义,时间序列 ARIMA 模型假设,给定时间的数值观测 , 数值变量的值 有时 可以近似为
在这些情况下处理分类变量的标准方法是使用 one-hot 编码,即您为类别的每个级别引入虚拟变量,并根据该类别是否存在于 1 或 0 来拟合虚拟变量时间. 此处提出了类似的问题,您可能想看看。
您可能想问自己的另一件事是时间序列是否真的是您正在寻找的,而不仅仅是提供给定一组类别和季节性变量的预测的任何分类模型。
@布莱恩日元,
由于声誉点的阻碍,我正在回答而不是发表评论。
@couturierc 的上述回答并没有解决这个问题,令人惊讶的是人们经常使用它来回复,而不仅仅是......压制他们的想法。
回归量是用作输出影响因素的自变量。你的情况——还有我的!— 是预测分类变量,这意味着类别本身就是输出。你是绝对正确的,Brian,99.7% 的 TSA 文献专注于预测连续值,例如温度或库存值。
我的问题是预测传感器数据,它可以完全打开或关闭。完全,我的意思是我有一组传感器,在任何给定时间,只有一个可以打开。所以,我的数据本质上是单热的。更有趣的是,我的时间戳不是均匀分布的。
我能做的最远的事情是使用traces和一些玩Prophet,但到目前为止,我能想出的只是独立的类别价值预测。事实上,Prophet 非常明显地表明一次只分析一个值。
向我建议的替代方案包括使用 scikit-learn 进行标签编码(注意!使用 执行此操作的新方法from sklearn.compose import ColumnTransformer),但这提出了在类别上使用数值的古老问题。
由于您的帖子是 9 个月前的,如果您提出了一些解决方案,我很想听听。
你试过先知吗?
您可能需要对分类变量进行一次性编码(或标签编码),然后使用该add_regressor()方法将它们传递给模型。