我在前言中说我对神经网络及其操作非常陌生。我已经完成了一些阅读,使用了一些基于云的工具(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结果)。
系统
我希望能够在第三方服务上执行此操作,而不是必须构建我自己的系统来进行处理,而不是必需的。
培训数据
我有多年的数据能够训练系统,成千上万的真实用户集等等。
结束
寻找关于从多个时间序列数据集预测二元结果的内容和方法的建议。
非常感谢此处的任何帮助和指导。
由于
拉斯
答案 0 :(得分:0)
我正在研究类似的问题(我也不是专家),但我会分享我的方法,以防它回答了您问题的“什么”部分。
我的解决方案是转换数据集,因此我遇到了一个可以用传统分类算法(Random Forest,boosting等)解决的问题
此方法要求对数据进行标记。转换后的数据集的每一行将代表与训练数据集中的每个TRUE或FALSE结果相关的信息。每行将是一个唯一的事件,并将具有:
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点 | 是 |