我正在使用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。
答案 0 :(得分:0)
这不是一个错误。问题是,您需要更改的选项是fmincon函数。对此,我想在更改选项之前必须“调用”此功能。它可以通过以下方式完成:
options = optimset('fmincon');
options = optimset(options,'Algorithm','sqp','TolCon',1e-7,'MaxFunEvals',...
3000,'Display','iter','Diagnostics','on');
此代码保留了deafult值,同时更改了MaxFunEvals。