我一直在对递归神经网络进行一些研究,但我无法理解它们是否以及如何用于分析面板数据(意味着在几个主题的不同时间段捕获的横截面数据 - 参见样本数据我见过的大多数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
Run Code Online (Sandbox Code Playgroud)
如果我想在给定协变量X1,X2和X3(以及它们之前时间段的值)的特定时间预测Y,那么这种序列是否可以通过递归神经网络进行评估?如果是这样,你是否有任何资源或想法如何将这种类型的数据转换为特征向量和匹配可以传递给RNN的标签(我使用的是Python,但我对其他实现开放).
在Python(3.5)中,如果我有一个这样的长列表:
long_list = ['0','1','0','1','0','0'.'0'.'1','1','0']
Run Code Online (Sandbox Code Playgroud)
还有一个较短的列表,其长度等于long_list中的'1',如下所示:
short_list = [8,7,6,5]
Run Code Online (Sandbox Code Playgroud)
我如何创建一个新列表,将我的short_list的值"插入"我的long_list中的每个索引,其中有一个'1',为了保持一致性,用一些数字"替换"long_list中的'0'(说99).
我可以通过一个令人难以忍受的for循环来做到这一点,但似乎应该有一种方法来更有效地使用列表理解来做到这一点,不是吗?
# bad solution
new_list = []
x = 0
for i in range(len(long_list)):
if long_list[i] == '0':
new_list.append(99)
else:
new_list.append(short_list[x])
x += 1
Run Code Online (Sandbox Code Playgroud)
期望的输出:
new_list = [99,8,99,7,99,99,99,6,5,99]
Run Code Online (Sandbox Code Playgroud) 在Python 3+中使用Pandas处理数据。似乎应该有一种简单的方法来检查两个列是否具有一对一的关系(无论列类型如何),但是我一直在努力寻找实现此目的的最佳方法。
预期输出示例:
A B C
0 'a' 'apple'
1 'b' 'banana'
2 'c' 'apple'
Run Code Online (Sandbox Code Playgroud)
A和B是一对一的吗?真正
A和C是一对一的吗?假
B&C是一对一的吗?假
我有一个问题,我正在使用Oracle SQL,就像这样.
表
PurchaseID CustID Location
----1------------1-----------A
----2------------1-----------A
----3------------2-----------A
----4------------2-----------B
----5------------2-----------A
----6------------3-----------B
----7------------3-----------B
Run Code Online (Sandbox Code Playgroud)
我有兴趣查询表以返回同一客户在不同位置进行购买的所有实例.所以,对于上表,我希望:
OUTPUT
PurchaseID CustID Location
----3------------2-----------A
----4------------2-----------B
----5------------2-----------A
Run Code Online (Sandbox Code Playgroud)
有关如何实现这一目标的任何想法?我一直无法想到如何去做,我的大多数想法看起来都很笨重.我正在使用的数据库有1MM +记录,所以我不希望它运行得太慢.
任何帮助,将不胜感激.谢谢!