我正在研究时间序列分类问题,其中输入的是手机帐户前21天的时间序列语音使用数据(以秒为单位)。相应的目标变量是该帐户是否在35-45天范围内被取消。因此,这是一个二进制分类问题。
到目前为止,我尝试过的所有方法(在不同程度上)的效果都非常差。首先,我尝试了k-NN分类(进行了各种修改),但结果却非常糟糕。这使我从时间序列中提取特征-即均值,方差,最大值,最小值,总零天,总尾随零天,上半年平均值与下半年平均值之间的差等,而最具预测性的特征似乎是总计零天和总尾随零天(使用几种分类算法)。这表现最好,但是性能仍然不是很好。
我的下一个策略是对我的训练集中的负面实例进行过度采样,因为它们很少。这导致更正确的抵消预测,但以更多的假阳性为代价。
我开始认为,时间序列使用情况数据本身可能并不能很好地预测(尽管常识认为应该如此)。也许有些潜在的变量我没有考虑。查看数据还显示出一些奇怪的行为。即,一些示例显示很少使用或减少使用(有时甚至根本不使用)并且不取消,而一些示例显示使用取消的使用量增加。也许这种矛盾的行为不会为分类器产生非常清晰的决策边界。
另一个可能的错误来源是许多训练示例都很稀疏(即许多天使用0的事实)。我还没有尝试过的一个想法是将时间序列分成多个部分并以这种方式生成一些功能,但是我并不抱有很大希望。