0

我有一个输入和目标系列。但是,目标序列比输入滞后 3 步。我还能使用 narx 或其他网络吗?

http://www.mathworks.co.uk/help/toolbox/nnet/ref/narxnet.html

Predict: y(t+1)
Input:
x(t)  |?
x(t-1)|?
x(t-2)|?
x(t-3)|y(t-3)
x(t-4)|y(t-4)
x(t-5)|y(t-5)
...

在我的训练过程中,我提前有 y(t-2), y(t-1), y(t),但是当我在现实生活中进行预测时,这些值只能在 3 步后获得,因为我计算了 y从接下来的 3 个输入。

4

2 回答 2

0

定义您选择的窗口(您需要尝试不同的尺寸以查看哪个是最佳值)。现在把这个问题变成一个回归问题。使用 t=T-2...Tx 中的 xt 和 yt 值,其中 x-2 是窗口的大小。现在使用 regress() 训练回归模型并将其用于预测。

于 2013-01-22T16:17:19.963 回答
0

这里有一些选项

1)另外,你可以有两个输入和一个输出作为

x(t), y(t-3) -> y(t)

x(t-1),y(t-4) -> y(t-1)

x(t-2),y(t-5) -> y(t-2) ...

并预测单个输出 y(t)

2) 您也可以在 na = 0、nb > 0 和 nk = 3 的情况下使用 ar 或 arx。

3)此外,您可以有四个输入,其中 2 个输入是估计的,一个输出为

x(t), y(t-3), ye(t-2), ye(t-1) -> y(t)

x(t-1),y(t-4), y(t-3), ye(t-2) -> y(t-1)

x(t-2),y(t-5), y(t-4), y(t-3) -> y(t-2) ...

并使用第 3 行及更高行作为训练数据预测单个输出 y(t)

4)您可以按照步骤一或三设置输入/输出并使用 s4sid

我有类似的问题,但没有任何可衡量的输入。我试图看看随着预测距离和模型复杂性的增加有多少误差。但我只尝试了方法 2 并将 nb = 5 设置为 15 x 5 并将 nk 从 20 更改为 150 x 10 并绘制了最大误差的轮廓。就我而言,我对少于 20 个时间步长的预测不感兴趣。

于 2012-04-13T00:44:43.623 回答