【发布时间】:2017-07-30 09:38:25
【问题描述】:
我正在查看面板数据,其结构如下:
D = \{(x^{(k)}_{t},y^{(k)}_{t})\,|\, k=1,\dots,N\, , t=t_0,\dots,t_k \}_{k=1}^{N}
其中x^{(k)} 表示k'th 序列,x^{(k)}_{t} 表示k'th 序列值t,此外x^{(k)}_{i,t} 是向量@ 中的i'th 条目987654332@。即x^{(k)}_{t} 是k'th 序列在时间t 的特征向量。对于标签数据y^{(k)}_{t},子脚本和超级脚本的含义相同,但这里是y^{(k)}_{t} \in \{0,1\}。
简单来说:数据集包含随着时间的推移观察到的个体,并且对于观察到个体的每个时间点,记录他是否购买了物品(y\in \{0,1\})。
我想使用带有来自 Keras 的 LSTM 单元的循环神经网络来预测一个人是否会在给定时间点购买商品。我只能找到每个序列都有标签值 (philipperemy link) 的 RNN 示例,而不是我描述的问题中每个序列元素都有标签值的示例。
到目前为止,我的方法是创建一个具有维度(样本、时间步长、特征)的张量,但我无法弄清楚如何格式化标签,以便 keras 可以将它们与特征匹配。它应该是这样的(samples,timesteps,1),其中最后一个维度表示单个维度,包含标签值 0 或 1。
此外,我遇到的一些方法会拆分序列,以便将子序列添加到训练数据中,从而极大地增加对内存的需求 (mlmastery link)。在我的情况下这是不可行的,因为我有多个 GB 的数据,如果我添加子序列,我将无法将其存储在内存中。
我想使用的模型是这样的:
mod = Sequential()
mod.add(LSTM(30,input_dim=116, return_sequences = True))
mod.add(LSTM(10))
mod.add(Dense(2))
有没有人在keras 有处理面板数据的经验?
【问题讨论】:
-
数学模式似乎不起作用,我按照本教程进行操作:meta.math.stackexchange.com/questions/5020/…
-
我想知道您是否仍在使用 stackoverflow,是否介意发布您的数据和完整模型?我正在尝试为面板学习 keras,我的数据与您的相似,但面板 keras 示例并不多。
-
嗨,John,很遗憾,我无法再访问数据或模型了。
标签: neural-network keras lstm panel-data