Red de conocimiento informático - Material del sitio web - Cómo utilizar matlab para determinar el orden del modelo ARMA de series temporales

Cómo utilizar matlab para determinar el orden del modelo ARMA de series temporales

Adopte si está satisfecho

Lo siguiente es ajustar y predecir la secuencia después de la diferencia, y encontrar el mejor orden

z=[DX; ceros (12,1)];

z=iddata(z);

test=[];

para p=1:12

para q=1:12

m=armax(z(1:200),[p q]);

AIC=aic(m);

prueba=[prueba; p q AIC]

fin

fin

para k=1: tamaño(prueba, 1)

si prueba(k, 3)==min(prueba(:, 3))

p_test=prueba(k, 1);

q_test=prueba(k , 2);

rotura;

fin

fin

Montaje

m1=armax(z( 1:200), [p_test q_test]);

figura(5);

e = resid(m1, z); ;

set(gca,'Xlim',[0 ls]);

figura(6);

subtrama(2, 1, 1)

autocorr(e.outputdata)

subplot(2, 1, 2)

parcorr(e.outputdata)

set(gca ,'Xlim',[0 ls]);

Proceso de predicción

pr=predict(m1, z, 12);

po=pr.outputdata ;

figura(7)

plot(po, 'r')

espera

plot(y, 'b' );

set(gca,'Xlim',[0 ls]);