首页 文章

如何处理面板数据以用于递归神经网络(RNN)

提问于
浏览
6

我一直在对递归神经网络进行一些研究,但我无法理解它们是否以及如何用于分析面板数据(意味着在几个主题的不同时间段捕获的横截面数据 - 参见样本数据我见过的大多数RNN的例子都与文本序列有关,而不是真正的面板数据,所以我不确定它们是否适用于这种类型的数据 .

样本数据:

ID    TIME    Y    X1    X2    X3
1     1       5     3     0    10
1     2       5     2     2    6
1     3       6     6     3    11
2     1       2     2     7    2
2     2       3     3     1    19
2     3       3     8     6    1
3     1       7     0     2    0

如果我想在给定协变量X1,X2和X3(以及它们之前时间段中的值)的特定时间预测Y,那么这种序列是否可以通过递归神经网络进行评估?如果是这样,你是否有任何资源或想法如何将这种类型的数据转换为特征向量和匹配可以传递给RNN的标签(我使用的是Python,但我对其他实现开放) .

1 回答

  • 0

    我发现没有理由能够使用面板数据训练神经网络 . 神经网络的作用是将一组值与具有非线性关系的其他值集合映射 . 在时间序列中,特定实例的值取决于先前出现的值 . 示例:您的发音可能会根据您之前发出的字母而有所不同 . 对于时间序列预测,递归神经网络优于前馈神经网络 . 我们如何使用常规前馈网络训练时间序列如下图所示 . Image

    在RNN中,我们可以在网络的内部状态中创建反馈回路,这就是RNN更好地预测时间序列的原因 . 在您的示例数据中需要考虑的一件事:x1,x2,x3的值是否对y1有影响,反之亦然?如果没有那么你可以训练你的模型,因为x1,x2,x3,y4是相同类型的数据,即使用相同的网络独立训练它们(需要进行实验) . 如果您的目标是预测一个值对其他值有影响的值,即您可以将它们转换为一维数据,其中单个时间范围包含样本类型的所有变体 . 另一种方法可能是训练四个神经网络,其中前三个使用RNN映射其时间序列,最后一个是前馈网络,其从2个时间序列输出获取2个输入并映射到第三个时间序列输出并对所有可能的组合执行此操作 . (仍然需要进行实验,因为我们无法在没有实验的情况下预测神经网络模型的性能)

    Reading suggestion: 阅读"Granger causality",可能对你有所帮助 .

相关问题