我们先从“我知道机器学习无法比猴子更好地预测股市”这句话开始吧。但我还是想继续探讨这个问题。
我的问题是一个理论性的问题。假设我有日期、开盘价、最高价、最低价、收盘价这些列。因此,我猜我有四个特征:开盘价、最高价、最低价、收盘价。
‘my_close’将作为我的标签(答案),我将使用当前行之后7天的‘close’值。基本上,我将‘close’列向上移动7行,并创建一个名为‘my_close’的新列。
LSTM适用于序列数据。假设我设置的序列是20天,因此我的数据形状将是(1000天的数据,20天作为一个序列,3个特征)。
困扰我的问题是,这20天或这20行数据,是否应该有完全相同的标签?还是可以有各自的标签?或者我是否完全误解了这个理论?
谢谢大家。
回答:
在你的情况下,你想使用前7天的股票数据来预测当前日的股票价格。你构建输入和输出的方式在输入模型之前需要进行一些修改。
你在理解时间步(序列)方面犯了错误。简单来说,时间步(序列)是我们在预测输出时考虑的总输入数量。在你的情况下,它应该是7(而不是20),因为我们将使用前7天的数据来预测当前日的输出。
你的输入应该是前7天的信息
[F11,F12,F13],[F21,F22,F23],……..,[F71,F72,F73]
在这里,F代表特征,i代表时间步,j代表特征编号。
输出将是第8天的股票价格。在这里,你的模型将分析前7天的输入并预测输出。所以,回答你的问题,前7天的输入将有一个共同的标签。
我强烈建议你进一步学习LSTM的知识。