0

我正在使用 arima 来预测时间序列。我目前拥有的代码是(NRV 是要拟合的数据):

temp = arima('D',1,'ARLags',[1:3],'MALags',[1:3],'SMALags',[96,96*7],'Seasonality',96);
ARIMA24 = estimate(temp,NRV);
save('ARIMA24','ARIMA24')
res24 = infer(ARIMA24,NRV);
save('res24','res24')
clear temp

当我运行此代码时,我收到一条错误消息:

求解器过早停止。

fmincon stopped because it exceeded the function evaluation limit,
options.MaxFunEvals = 1000 (the default value).

我尝试使用下面的代码为 fmincon 设置 MaxFunEvals,但我收到一条错误消息。

options = optimset('MaxFunEvals',2000)
temp = arima('D',1,'ARLags',[1:3],'MALags',[1:3],'SMALags',[96,96*7],'Seasonality',96);
ARIMA24 = estimate(temp,NRV,'Options',options);
save('ARIMA24','ARIMA24') % variance = [6183.97370342290;]
res24 = infer(ARIMA24,NRV);
save('res24','res24')
clear temp

错误信息:

Argument 'Options' did not match
any valid parameter of the
parser.

我希望这里的一些成员知道如何在估计命令中设置 MaxFunEvals。

4

1 回答 1

0

这不是一个错误。问题是,您需要更改的选项在 fmincon 函数中。为此,我猜您必须在更改选项之前“调用”此功能。可以通过以下方式完成:

options = optimset('fmincon');
options = optimset(options,'Algorithm','sqp','TolCon',1e-7,'MaxFunEvals',...
    3000,'Display','iter','Diagnostics','on');

此代码保留默认值,同时更改 MaxFunEvals。

于 2013-08-22T07:20:04.257 回答