0

アリマを使用して時系列を予測しています。私が現在持っているコードは次のとおりです(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 に答える