在arima和估计命令中设置MaxFunEvals

时间:2013-03-14 12:21:49

标签: matlab

我正在使用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

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

Solver过早地停了下来。

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。

1 个答案:

答案 0 :(得分:0)

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

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

此代码保留了deafult值,同时更改了MaxFunEvals。