具有二元结果预测的多时间序列

时间:2017-06-25 08:27:46

标签: algorithm neural-network

我在前言中说我对神经网络及其操作非常陌生。我已经完成了一些阅读,使用了一些基于云的工具(Cortana和AWS),但除此之外,我还不熟悉算法,神经网络等等......

我正在寻找有关我可用于实现以下目标的系统/工具/种类算法的建议。

问题说明

我有一个包含许多用户的时间序列数据的数据集。数据集可以包含可变数量的唯一用户(概率最大值为150),并且每个用户具有针对四个不同变量的4组不同的时间序列数据。下面的示例数据集

V =变量

用户|时间| V1 | V2 | V3 | V4

1 |上午12点| 13 | 1045 | 12.2 | 52.4

1 | 12.01am | 12 | 1565 | 11.9 | 50.3

2 |上午12点| 2 | 15434 | 1.93 | 47.2

2 | 12.01am | 2.02 | 17434 | 1.98 | 43.1

等等x用户和每个用户的数百个数据点。

所需输出

通过解析数据,我希望能够训练系统根据输入为用户返回二进制TRUE或FALSE,或者用户的概率%为TRUE。

二进制文件实际上是TRUE或FALSE结果。所有10个用户中只能有一个TRUE。我认为恢复成为TRUE的几率可能是最简单的形式?我可能错了。

输入格式

结束点是拥有一个我可以发送数据集的API,它返回用户及其概率(或二进制TRUE | FALSE结果)。

系统

我希望能够在第三方服务上执行此操作,而不是必须构建我自己的系统来进行处理,而不是必需的。

培训数据

我有多年的数据能够训练系统,成千上万的真实用户集等等。

结束

寻找关于从多个时间序列数据集预测二元结果的内容和方法的建议。

非常感谢此处的任何帮助和指导。

由于

拉​​斯

1 个答案:

答案 0 :(得分:0)

我正在研究类似的问题(我也不是专家),但我会分享我的方法,以防它回答了您问题的“什么”部分。

我的解决方案是转换数据集,因此我遇到了一个可以用传统分类算法(Random Forest,boosting等)解决的问题

此方法要求对数据进行标记。转换后的数据集的每一行将代表与训练数据集中的每个TRUE或FALSE结果相关的信息。每行将是一个唯一的事件,并将具有:

  • 1列带有响应
  • p套列(p个原始变量中的每一个一组)
  • k个变量来表明季节性

p组列中的每组将由时间t(记录该行的响应的时间)处的变量,时间t-1(lag1),...处的变量和时间tT(lagT)。

示例:

原始数据集(我只保留了V1和V2,并添加了结果变量)

<身体>
用户 时间 V1 V2 结果
1 上午12.00 13 1045 错误
1 上午12.01 12 1565

转换后的数据集

<身体>
ID V1_lag1 V1_lag0 V2_lag1 V2_lag0 结果
event_id 13 12 1045 1565

通过此设置,您可以基于在时间t评估的V1和V2以及在lag1(t-1min)评估的V1和V2拟合一个模型,该模型将针对新观测在时间t预测TRUE的概率。 / p>

您还可以创建可以更好地描述变量的新功能(请参见Features for time series classification)。

如果变量显示季节性模式,则应以某种方式合并季节性:

<身体>
ID V1_lag1 V1_lag0 V2_lag1 V2_lag0 小时 结果
event_id 13 12 1045 1565 星期三 上午12点