训练一个股票市场神经网络,我应该用零替换NaN值还是根据上一次交易来填充它们?

2024-04-26 10:57:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Python上的Tensorflow和一个巨大的股票市场数据集开发一个神经网络。我的特征如下所示

Table 1.0

0   Date               Open      Close     High     Low
1   2019-01-01 09:00   200        201      202      199
2   2019-01-01 09:01   NaN        NaN      NaN      NaN
3   2019-01-01 09:02   200        201      202      199

For the index row 2, I can either make the Nan's 0 and train the neural network OR fill in the values as per the previous slot's close.

Table 2.0

0   Date               Open      Close     High     Low
1   2019-01-01 09:00   200        201      202      199
2   2019-01-01 09:01   201        201      201      201
3   2019-01-01 09:02   200        201      202      199

问题1。0/Nan值在训练表示该股票重要性较低的模型时会更有效吗?还是我应该使用前一时段的接近值(表2.0)来训练模型?你知道吗

问题2。是否强制将NaN值转换为0值以训练模型?你知道吗


Tags: the数据模型closedatetensorflowtable神经网络
1条回答
网友
1楼 · 发布于 2024-04-26 10:57:23

您绝对不应该在数据集中使用0。了解原因的一个好方法是绘制不同的列并查看它将产生的不连续性。如果你想预测股票的变化作为过去的一个函数,你需要确保你放置在NaN位置的值与最近的值一致。提供上一个或下一个值可能是一个解决方案,但是如果变化很大,您可以看到它变得毫无意义。一个好的选择是在两个最接近的点之间进行插值:取上一个值和下一个值的平均值,它给出了值应该是多少的近似值。你知道吗

你能做的就是在前一天的数据中添加一个随机数来创建一个随机游走。 我举几个例子:

  • 以下是简单的插值: enter image description here

  • 以下是一个随机行走的示例,其中“到上一步的最大距离”设置为5: enter image description here

(为了避免比例的变化,我把这个数字设为0到190)

相关问题 更多 >