时间序列预测

时间:2012-04-12 17:23:03

标签: matlab neural-network

我有一个输入和目标系列。但是,目标系列落后于输入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步之后可用,因为我从接下来的3个输入中计算出y。

2 个答案:

答案 0 :(得分: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)你也可以使用ar或arx,na = 0,nb> 0,nk = 3.

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) ...

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

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

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

答案 1 :(得分:0)

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