X 和 Y 矩阵

X and Y matrices

矩阵 X 是否应该包含要预测的列 (Y)?

让我们有这样的数据框:

val1      val2     val3
126.25   9.343    59.1
131.75   8.359    70.2
102.5    24.671   16.3
110.5    5.015    29.0
101.25   12.015   13.7
140.5    16.015   54.9

要预测的列是 val3。所以 val3 将是 Y,我想知道 X 是否应该只包含 val1val2 或所有 3 列。例如预测我们会使用简单的神经元网络。

当建立一个将在现实世界中实施的模型时,而不仅仅是为了研究目的等...

假设这是一个时间序列问题。您的 X 数据应仅包含模型在预测时可用的信息。示例.. 如果预测下个月的销售额,您的算法将没有该月的实际销售额,因此不应包括在内。但是,它将可以访问 上一 个月的销售数字。所以可以使用目标变量的滞后。

df["lag_1"] = df["val3"].shift(1)
df["lag_2"] = df["val3"].shift(2)
df["lag_3"] = df["val3"].shift(3)

然后只需删除这将产生的 NA,您就有了 3 个可以输入网络的新特征。

如果这不是时间序列那么我会说不,你不应该包括目标。网络将使用该信息并为您提供完美的预测,但这种预测并不符合现实。

编辑 对于你的问题...

我上面描述的格式仍然适用于标准神经网络。要为 RNN 格式化,它需要是 window 个值,对于一个具有 3 个特征且 window 长度为 3.

的示例,它看起来像这样
[[var1_lag3, var1_lag2, var1_lag1],
 [var2_lag3, var2_lag2, var2_lag1],
 [var3_lag3, var3_lag2, var3_lag1]
]