2013-03-14 3 views
0

아리마를 사용하여 시계열을 예측합니다. 나는 현재이 코드는 (NRV가 장착되는 데이터입니다)입니다 : 찾기가 조기에 중단arima 및 추정 명령에서 MaxFunEvals를 설정하십시오.

:

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을 설정하는 방법을 알고있다.

+1

'옵션'대신 '옵션'을 사용해 보셨습니까? –

+0

방금 ​​시도했지만 다음 오류가 발생합니다. 인덱스가 매트릭스 크기를 초과합니다. arima/estimate의 오류> linearConstraints (줄 1095) LB (i1 : i2) = [-10; repmat (-1 + tolerance, nAR + nMA, 1); tolerance (isVarianceConstant)]; 아리마/견적 (라인 755) 구축 = linearConstraints (LagsAR, LagsSAR, LagsMA, LagsSMA, ... – EnergyFreak

+0

에서 오류 옵션 (즉, 첫 번째 예)를 설정하지 않고 동일한 코드 작업을? 버그 –

답변

0

이것은 버그가 아닙니다. 문제는 변경해야 할 옵션이 fmincon 함수에 있다는 것입니다. 이하려면이 옵션을 변경하기 전에이 함수를 "호출해야"합니다. 다음과 같은 방법으로 수행 할 수 있습니다 다음 MaxFunEvals을 변경하는 동안

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

이 코드는 deafult 값을 유지합니다.

+0

을에 대한 보고서를 보낼 것 아리마/추정 (라인 755) 구축 = linearConstraints (LagsAR, LagsSAR는, LagsMA는, LagsSMA은 ...' –