BANCO CENTRAL DE COSTA RICA DIVISIÓN ECONÓMICA DEPARTAMENTO DE INVESTIGACIONES ECONÓMICAS DIE-NT-07-00 DICIEMBRE, 2000 CRITERIOS PARA LA SELECCIÓN DE MODELOS ESTADÍSTICOS Elaborado por: Álvaro Solera Ramírez Documento de trabajo del Banco Central de Costa Rica, elaborado por el Departamento de Investigaciones Económicas Las ideas expresadas en este documento son responsabilidad del autor y no necesariamente representan la opinión del Banco Central de Costa Rica TABLA DE CONTENIDO I. OBJETIVO ........................................................................................................................2 II. CRITERIOS DE INFORMACIÓN .....................................................................................2 2.1. 2.2. 2.3. Akaike ........................................................................................................................3 Schwarz .....................................................................................................................3 Hannan - Quinn .........................................................................................................4 III. CÁLCULO DE LOS CRITERIOS DE INFORMACIÓN Y SELECCIÓN DEL MODELO PARA LA TASA INTERANUAL DEL IPC ....................................................................................4 IV. COMENTARIO FINAL ......................................................................................................5 V. BIBLIOGRAFÍA.................................................................................................................6 ANEXOS...............................................................................................................................7 CRITERIOS PARA LA SELECCIÓN DE MODELOS ESTADÍSTICOS Resumen En esta nota técnica se describen y cuantifican las funciones de criterio propuestas por Akaike (1973,1974), Schwarz (1978) y Hannan y Quinn (1979) para identificar y seleccionar modelos univariables tipo ARMA. Estos tres criterios comparan el beneficio de tener más información en términos de la reducción de la varianza de las innovaciones, con el costo de obtener ese beneficio en términos de la pérdida de grados de libertad en la estimación. De los modelos que se identifican como válidos en cada criterio se selecciona el que minimiza el criterio en cuestión. La aplicación práctica se realiza para la variable inflación, aproximada por la tasa interanual del Índice de Precios al Consumidor, seleccionándose un modelo ARMA(6,6). STATISTICAL MODEL SELECTION CRITERIA Abstract In order to identify and select univariate models of the ARMA type, this paper discusses the criterium functions of Akaike (1973, 1974), Schwarz (1978) and Hannan and Quinn (1979). These criteria are intended to compare the gains associated with more information, in terms of their effects upon the reduction of the variance, in contrast with the costs associated with the loss of degrees of freedom. Based on the valid models in each criterium, the one which makes the criterium minimum is selected. Finally, the criteria are applied to price inflation, approximated by the inter-annual variation of the Consumer Price Index, selecting an ARMA(6,6) model. Clasificación JEL: C4 Palabras claves: Criterios, identificación, selección, modelos estadísticos 1 CRITERIOS PARA LA SELECCIÓN DE MODELOS ESTADÍSTICOS I. OBJETIVO El objetivo de esta nota técnica es describir los criterios de información: Akaike, Schwarz y Hannan-Quinn, con el propósito de identificar modelos univariables tipo ARMA(p,q). Estos tres criterios comparan el beneficio de tener más información en términos de la reducción de la varianza de las innovaciones, con el costo de obtener ese beneficio en términos de la pérdida de grados de libertad en la estimación. En general, estos criterios no coinciden ya que difieren en la manera en que formulan el costo de reducir la varianza de las innovaciones (Lutkepohl, 1985). La aplicación práctica de esta técnica se realizará para la variable tasa de inflación, aproximada por la tasa interanual del índice de precios al consumidor (IPC), y utilizando el paquete econométrico WINRATS1, el cual se especializa en realizar regresiones y ajustar modelos univariantes tipo Box-Jenkins 2. II. CRITERIOS DE INFORMACIÓN La selección de modelos en el análisis econométrico involucra tanto consideraciones estadísticas como no estadísticas. Esto dependerá de los objetivos del análisis, de la naturaleza y extensión de la teoría económica utilizada y de los resultados estadísticos del modelo bajo consideración comparado con otros modelos econométricos (para una discusión de los principios generales involucrados en la selección de modelos, ver Pesaran and Smith 1985). El cálculo de los valores de las funciones de criterio corresponde a las propuestas por Akaike (1973,1974), Schwarz (1978) y Hannan - Quinn (1979), tanto para modelos uniecuacionales como multiecuacionales. Estos criterios de selección de modelos miden el “ajuste” (“fit”) de un modelo dado, maximizando el valor de la función de maximaverosimilitud con el uso de diferentes funciones de costos (“penalty”) para tomar en cuenta el hecho de que diferentes números de parámetros desconocidos pudieron haber sido estimados para diferentes modelos bajo consideración. Las funciones de criterio propuestas por los citados autores se describen a continuación: 1 2 El nombre WINRATS corresponde a las siglas de Regression Analysis of Time Series for Windows. Una guía práctica de uso del paquete WINRATS se encuentra en DIE-NT-02-99. 2 2.1. Akaike ~ Si ln (Θ) es el valor maximizado de la función de máxima verosimilitud de un modelo ~ econométrico, donde Θ es el estimador de máxima verosimilitud de Θ , basado en una muestra de tamaño n. El criterio de información de Akaike (CIA) para este modelo se define como: ~) − p CIAl = ln( Θ (1) donde: ~ ) = número de parámetros estimados libremente. p = dimensión y (Θ En el caso de un modelo de regresión lineal o no lineal con una ecuación simple, el CIAl puede también ser escrito como: ~2) + 2 p CIAσ = log( σ n (2) ~2 donde σ es el estimador de máxima verosimilitud de la varianza de los errores de regresión, ut , dado por ~ 2 = e' e σ n en el caso de un modelo de regresión lineal y n el número de observaciones. Las dos versiones de CIA corrrespondientes a la ecuación 1 y 2 producen CIA l será resultados idénticos. Cuando se usa la ecuación 1, el modelo con el mayor valor de escogido, pero cuando se usa el criterio basado en el error estándar de estimación (ecuación 2), el modelo seleccionado es el menor valor para CIAl . 2.2. Schwarz El criterio bayesiano schwarz suministra una aproximación para muestras grandes del porcentaje de probabilidad del modelo bajo consideración. Este criterio se define como: ~ ) − 1 p log n CBS l = ln( Θ 2 (3) Al comparar el CBS entre modelos el que muestre el más alto valor es el escogido. Para modelos de regresión una versión alternativa de (3), basado en el error estándar de ~ estimación de la regresión, σ , es dado por: ~2 ) + ( CBS σ = ln( σ log n p) n (4) De acuerdo con este criterio, el modelo que indique el menor valor de seleccionado. 3 CBS σ será el 2.3. Hannan - Quinn Este criterio de información fue primeramente propuesto para seleccionar el orden autorregresivo de los modelos de promedios móviles o vectores autorregresivos, y es definido por: ~ ) − ( log log n ) p CHQ l = ln( Θ (5) o su equivalente en el caso de un modelo de regresión: ~2 ) + ( CHQσ = log( σ 2 log log n )p n (6) Al igual que en criterios anteriores, el modelo con el menor valor para seleccionado. III. CHQσ será el CÁLCULO DE LOS CRITERIOS DE INFORMACIÓN Y SELECCIÓN DEL MODELO PARA LA TASA INTERANUAL DEL IPC El cálculo de los criterios de información para la tasa interanual del IPC, descritos en el punto anterior, se lleva a cabo utilizando el paquete econométrico WINRATS. El programa que ejecuta este cálculo se encuentra en el anexo 1. En general, el programa provee para cada criterio un total de 156 (12x13) modelos ARMA(p,q), para todo p=1,2,3,...,12 y q=0,1,2,3,...12., donde p denota los parámetros autorregresivos y q los parámetros de medias móviles. Para facilitar la lectura y el análisis de cada criterio, la salida del programa se traslada a un libro de excel y allí la información se acomoda de tal modo que se obtenga el cuadroA2 (anexo 2) , en donde las columnas y las filas denotan respectivamente el número de términos autorregresivos (p) y promedios móviles (q). Del total de 156 (12x13) modelos identificados para cada criterio, se seleccionan los que son válidos desde el punto de vista estadístico, esto es que sean invertibles y estimables. La validez de los modelos corresponde a la invertibilidad y a la posibilidad de estimar el modelo con una muestra de datos finita. Formalmente, el modelo univariable ARMA(p,q), se puede expresar de la siguiente manera: A(L)×π t = B(L)×µ t donde π es la inflación, los polinomios de rezago se definen como A(L)=(1-a1×L-a2×L2-...-ap×Lp) y B(L)= (1+b1×L+b2×L2+...+bq×Lq), y µ es la innovación del modelo, con E[µ]=0, y E[µ×µ‘]=σ2 La invertibilidad del modelo requiere que (el módulus de) las raíces características del polinomio A(L) se encuentren fuera del círculo unitario. La estimabilidad del modelo requiere que (el módulus de) las raíces características del polinomio B(L) se encuentren fuera del círculo unitario (Granger and Newbold, 1986, pp.25-28). Equivalentemente estas condiciones se pueden expresar en términos de las matrices compañeras del modelo. En este caso se 4 requiere que todos los valores propios de las matrices compañeras se encuentren dentro del círculo unitario (Hamilton, 1994, ecuación 10.1.12, p.259). El cálculo de los valores característicos se realiza por medio de un programa ejecutable en WINRATS, el cual se detalla en el anexo 3. En la salida del programa la matriz “results” identifica con uno el modelo válido y con cero el modelo no válido. En el cuadro A2 los modelos sombreados corresponden a los válidos, esto es, invertibles y estimables. De los modelos válidos en cada criterio se selecciona el que minimiza cada criterio de información, denotado con negrita en el cuadro A2.. No necesariamente, los tres criterios deben seleccionar el mismo modelo ARMA(p,q). En el caso particular de la variable inflación los tres criterios coinciden en un modelo ARMA(6,6). La literatura recomienda que en la selección del modelo se debe considerar tanto la validez estadística como la “razonabilidad” económica de la dinámica del modelo, medida esta última por la función respuesta-impulso. Lo anterior conduce a la práctica de analizar modelos válidos cercanos al seleccionado, con el fin de determinar sí la dinámica del modelo se puede mejorar. Este proceso determinó un modelo ARMA(6,3) para la tasa interanual de inflación. El procedimiento utilizado para pasar del modelo seleccionado por los criterios (ARMA(6,6)) al modelo que finalmente se escogió (ARMA(6,3)) para proyectar la tasa interanual de inflación, así como el valor ajustado, correlogramas simples y parciales, errores estandarizados, estadísticos de proyección, valores propios y respuestas-impulso del modelo se encuentran bien especificados en la Nota de Investigación No 5-00: Modelos Univariables de la Inflación (2000). IV. COMENTARIO FINAL Los criterios de Akaike, Schwarz y Hannan-Quinn constituyen una técnica más disponible para la identificación y selección de modelos univariables utilizados en las proyecciones de variables económicas. Esta técnica fue la utilizada en la Nota de Investigación No 5-00: Modelos Univariables de la Inflación. 5 V. BIBLIOGRAFÍA Akaike, H. (1974), “A New Look at the Statistical Identification Model”, IEEE: Trans. Auto. Control, vol. 19, pp. 716-23. Diebold, Francis X. (1997), Elements of Forecasting, South-Western College Publishing, Cincinnati, Oh.. Doan, Thomas (1996) “RATS: User’s Manual”, Versión 4. Estima. Granger, C.W.J. y Newbold, Paul (1986), “Forecasting Economic Time Series”, Economic Theory, Econometrics and Mathematical Economics, second edition. Granger, C.W.J, and Paul Newbold (1986) Forecasting Economic Time Series, Academic Press, New York, New York. Hamilton, D. (1994), “Time Series Analysis”. Jersey. Princeton University Press; Princeton, New Hannan, E.J., and B.G. Quinn (1979), “The Determination of the Order of an Autoregression”, Journal of Royal Statistical Society B, vol. 41, pp. 190-95. Hoffmaister, Alexander, Ivannia Solano, Alvaro Solera y Katia Vindas (2000), “Modelos Univariables de la Inflación, ,” Banco Central de Costa Rica, Nota de Investigación 5-00. Lütkepohl, Helmut (1985) “Comparison of Criteria for Estimating the Order of a Vector Autoregressive Process.” Journal of Time Series Analysis, Vol. 6, pp. 35-52. Schwarz, G. (1978), “Estimating the Dimension of a Model”, Annals of Statistics, Vol. 6, pp. 46164. solerara@bccr.fi.cr 6 K:\Secretarias-Dirección\Investigaciones\Notas Técnicas\Notas Técnicas 2000\NT-07-2000-PDF.doc 23/04/a2:44 ANEXOS ANEXO 1 Programa en winrats para calcular los tres criterios de información. ********************************************************** * BANCO CENTRAL DE COSTA RICA * * DIVISION ECONOMICA * * EQUIPO DE ESTUDIO DE INFLACION * * * * PROGRAMA RATS PARA ESCOGER MODELO TIPO ARMA * * POR MEDIO DE LOS CRITERIOS DE INFORMACION * * AKAIKE, SCHWARZ Y HANNAN Y QUINN * * * * N:\Inflación\modelos-arma\criterios de información.prg * ********************************************************** * fecha de actualización: 19/12/2000 * ********************************************************** * CALENDAR 1986 1 12 ALLOCATE 0 2010:08 OPEN DATA n:\inflación\modelos-arma\IPC1.XLS DATA(FORMAT=XLS,ORG=OBS) / IPC1 INI IPCNR IPPI * PRINT / IPC1 INI IPCNR IPPI * *--------------GENERACION DE VARIABLES---------* smpl 1986:01 1999:12 COMPUTE N_SER=4 DECLARE VECTOR[SERIES] PI_V(N_SER) * EQV PI_V(1) PI_V(2) PI_V(3) PI_V(4) PI_IPC PI_INI PI_IPCNR PI_IPPI * *PRINT / PI_V(1) PI_V(2) PI_V(3) PI_V(4) * COMPUTE PMAX = 12 COMPUTE START = 1990:01 COMPUTE END = 1999:12 * * DECLARE VECTOR[STRING] SERIES(N_SER) compute SERIES(1) = 'IPC' compute SERIES(2) = 'INI' compute SERIES(3) = 'IPCNR' 8 compute SERIES(4) = 'IPPI' * COMPUTE C=0 * * DOFOR S = IPC1 INI IPCNR IPPI COMPUTE C = C+1 * SET S = LOG([SERIES] S) DIFF(SDIFFERENCE=1) S 1987:01 1999:12 PI_V(C) END DOFOR *PRINT / PI_V(1) PI_V(2) PI_V(3) PI_V(4) * smpl 1987:01 1999:12 * *----------------CREACION DE MATRIZ RESULTS---------------* DECLARE RECTANGULAR RESULTS(PMAX,3) * *---------------------------REGRESION--------------------------------* DO j=0,PMAX; *REZAGOS MA DISPLAY 'MA=' j DISPLAY @12 'AIC' @22 'SCH' @32 'HQ' DO i=1,PMAX; * REZAGOS AR BOXJENK(NOPRINT,CONSTANT,AR=i,MA=j) PI_V(1) START END * *CALCULO DE LOS CRITERIOS * COMPUTE RESULTS(i,1) = LOG(%RSS/%NOBS) 2.0*(%NREG)/%NOBS COMPUTE RESULTS(i,2) = LOG(%RSS/%NOBS) (%NREG)*(LOG(%NOBS)/%NOBS) COMPUTE RESULTS(i,3) = LOG(%RSS/%NOBS) (2.0*LOG(LOG(%NOBS))/%NOBS)*(%NREG) * *IMPRESION * DISPLAY @2 ##.## i @12 ##.## RESULTS(i,1) $ @22 ##.## RESULTS(i,2)$@32 ##.## RESULTS(i,3) * END DO i END DO j * END 9 +$ +$ +$ ANEXO 2 CUADRO A2: MODELOS ARMA (IPC) CRITERIO AKAIKE MA AR 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 -9,088 -9,213 -9,199 -9,200 -9,220 -9,208 -9,191 -9,204 -9,199 -9,198 -9,213 -9,208 -9,249 -9,232 -9,243 -9,234 -9,247 -9,262 -9,246 -9,249 -9,240 -9,258 -9,241 -9,419 -9,244 -9,258 -9,248 -9,261 -9,249 -9,296 -9,282 -9,265 -9,287 -9,270 -9,227 -9,562 -9,229 -9,241 -9,238 -9,310 -9,238 -9,241 -9,238 -9,236 -9,224 -9,318 -9,308 -9,613 -9,272 -9,265 -9,249 -9,465 -9,423 -9,556 -9,526 -9,564 -9,579 -9,585 -9,620 -9,625 -9,281 -9,340 -9,476 -9,451 -9,544 -9,473 -9,419 -9,620 -9,481 -9,572 -9,502 -9,766 -9,403 -9,351 -9,306 -9,331 -9,397 -9,419 -9,362 -9,401 -9,405 -9,394 -9,475 -9,692 -9,303 -9,414 -9,248 -9,453 -9,456 -9,340 -9,399 -9,336 -9,553 -9,523 -9,524 -9,805 -9,468 -9,555 -9,513 -9,604 -9,656 -9,616 -9,610 -9,567 -9,596 -9,693 -9,411 -9,786 -9,532 -9,551 -9,521 -9,686 -9,783 -9,885 -9,701 -9,791 -9,524 -9,684 -9,718 -9,901 -9,483 -9,499 -9,514 -9,508 -9,846 -9,704 -9,635 -9,552 -9,642 -9,728 -9,652 -9,749 -9,857 -9,614 -9,742 -9,748 -9,748 -9,608 -9,574 -9,782 -9,485 -9,610 -9,595 -9,992 -9,862 -9,800 -9,733 -9,732 -9,691 -9,956 -9,594 -9,455 -9,739 -9,664 -9,746 -9,641 CRITERIO SCHWARTZ MA 0 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 -9,041 -9,142 -9,105 -9,082 -9,078 -9,043 -9,003 -8,992 -8,963 -8,938 -8,930 -8,901 -9,178 -9,138 -9,125 -9,092 -9,082 -9,074 -9,034 -9,013 -8,980 -8,974 -8,934 -9,089 -9,149 -9,140 -9,106 -9,096 -9,061 -9,083 -9,046 -9,006 -9,004 -8,963 -8,897 -9,208 -9,111 -9,099 -9,072 -9,121 -9,026 -9,005 -8,978 -8,953 -8,917 -8,987 -8,953 -9,235 -9,130 -9,100 -9,060 -9,253 -9,187 -9,297 -9,243 -9,257 -9,249 -9,231 -9,243 -9,224 -9,116 -9,151 -9,264 -9,215 -9,284 -9,190 -9,112 -9,290 -9,127 -9,194 -9,101 -9,341 -9,214 -9,138 -9,070 -9,072 -9,114 -9,112 -9,031 -9,047 -9,028 -8,992 -9,050 -9,244 -9,091 -9,178 -8,988 -9,170 -9,149 -9,009 -9,045 -8,958 -9,151 -9,098 -9,076 -9,333 -9,232 -9,295 -9,230 -9,297 -9,325 -9,262 -9,232 -9,165 -9,171 -9,245 -8,939 -9,290 -9,272 -9,267 -9,214 -9,355 -9,429 -9,507 -9,300 -9,366 -9,075 -9,212 -9,222 -9,382 -9,200 -9,192 -9,183 -9,153 -9,469 -9,302 -9,210 -9,103 -9,170 -9,232 -9,132 -9,206 -9,550 -9,284 -9,388 -9,370 -9,346 -9,183 -9,125 -9,310 -8,989 -9,091 -9,052 -9,425 -9,532 -9,446 -9,356 -9,330 -9,266 -9,508 -9,121 -8,960 -9,220 -9,121 -9,179 -9,051 AR CRITERIO HANNAN AND QUINN MA 0 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 -9,069 -9,185 -9,161 -9,152 -9,162 -9,141 -9,115 -9,118 -9,103 -9,093 -9,098 -9,084 -9,220 -9,194 -9,195 -9,176 -9,180 -9,186 -9,160 -9,153 -9,135 -9,143 -9,116 -9,285 -9,206 -9,210 -9,190 -9,194 -9,173 -9,209 -9,186 -9,160 -9,172 -9,146 -9,093 -9,418 -9,181 -9,183 -9,170 -9,233 -9,152 -9,146 -9,133 -9,121 -9,100 -9,184 -9,164 -9,460 -9,215 -9,198 -9,172 -9,379 -9,327 -9,451 -9,411 -9,440 -9,445 -9,441 -9,467 -9,462 -9,214 -9,264 -9,390 -9,355 -9,439 -9,358 -9,294 -9,486 -9,337 -9,419 -9,339 -9,594 -9,326 -9,265 -9,210 -9,226 -9,282 -9,294 -9,228 -9,257 -9,252 -9,231 -9,303 -9,510 -9,217 -9,318 -9,143 -9,338 -9,331 -9,206 -9,255 -9,183 -9,390 -9,350 -9,342 -9,614 -9,372 -9,450 -9,398 -9,480 -9,522 -9,473 -9,456 -9,404 -9,423 -9,511 -9,220 -9,584 -9,426 -9,436 -9,397 -9,552 -9,639 -9,731 -9,538 -9,618 -9,342 -9,493 -9,516 -9,691 -9,368 -9,374 -9,380 -9,364 -9,693 -9,541 -9,463 -9,370 -9,450 -9,526 -9,441 -9,529 -9,733 -9,480 -9,598 -9,595 -9,585 -9,436 -9,392 -9,590 -9,284 -9,400 -9,375 -9,762 -9,728 -9,657 -9,580 -9,569 -9,519 -9,774 -9,402 -9,254 -9,528 -9,444 -9,516 -9,401 AR Los valores sombreados indican los modelos ARMA estimables, por su parte el valor en negrita indica el mínimo valor del criterio dentro de este conjunto de modelos estimables. CRITERIOS -9,000 -9,100 -9,200 -9,300 1 2 -9,400 VA 3 4 -9,500 5 6 7 -9,600 8 9 -9,700 10 11 -9,800 11 9 -9,900 7 AR -10,000 5 0 1 2 3 4 3 5 MA 6 7 8 9 1 10 11 12 12 -8,600 1 -8,800 2 3 -9,000 4 5 6 -9,200 7 8 9 -9,400 10 11 -9,600 -9,800 -10,000 0 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 12 ANEXO 3 Programa en winrats para determinar la validez de los modelos candidatos. ************************************************** * BANCO CENTRAL DE COSTA RICA * * DIVISION ECONOMICA * * EQUIPO DE ESTUDIO DE INFLACION * * * * PROGRAMA RATS PARA DETERMINAR MODELOS * * INVERTIBLES Y ESTIMABLES CON BASE EN * * LOS VALORES PROPIOS * * * * N:\Inflación\modelos-arma\vpropiosII * ************************************************** * fecha de actualización: 19/12/2000 * * * ************************************************** * *SOURCE(ECHO) READDF.PRG CALENDAR 1986 1 12 ALLOCATE 0 2010:08 OPEN DATA K:\inflación\modelos-arma\IPC1.XLS DATA(FORMAT=XLS,ORG=OBS) / IPC1 INI IPCNR IPPI * *PRINT / IPC1 INI IPCNR IPPI *GENERACION DE VARIABLES * smpl 1986:01 1999:12 COMPUTE N_SER=4 DECLARE VECTOR[SERIES] PI_V(N_SER) * EQV PI_V(1) PI_V(2) PI_V(3) PI_V(4) PI_IPC PI_INI PI_IPCNR PI_IPPI * *PRINT / PI_V(1) PI_V(2) PI_V(3) PI_V(4) * COMPUTE PMAX = 12 * DECLARE VECTOR[STRING] SERIES(N_SER) compute SERIES(1) = 'IPC' compute SERIES(2) = 'INI' compute SERIES(3) = 'IPCNR' compute SERIES(4) = 'IPPI' * 11 COMPUTE C=0 * * DOFOR S = IPC1 INI IPCNR IPPI COMPUTE C = C+1 * SET S = LOG([SERIES] S) DIFF(SDIFFERENCE=1) S 1987:01 1999:12 PI_V(C) END DOFOR *PRINT / PI_V(1) PI_V(2) PI_V(3) PI_V(4) * smpl 1987:01 1999:12 * * *************************** *CREACION DE ESCALARES * *************************** COMPUTE START = 1990:01 COMPUTE END = 1999:12 COMPUTE MODELS = 1; *(NUMERO DE MODELOS) * * DECLARE RECTANGULAR[INTEGER] MM(MODELS,2) DECLARE VECTOR[SERIES] MROOT(MODELS) MMAROOT(MODELS) * * *********************************************** * MODELOS A R M A SELECCIONADOS * * *********************************************** compute s_ar = 0; * set to zero compute s_ma = 0; * set to zero * *MODELO 1* COMPUTE MM(1,1)=6 COMPUTE MM(1,2)=0 /* *MODELO 2* COMPUTE MM(2,1)=6 COMPUTE MM(2,2)=1 * *MODELO 3* COMPUTE MM(3,1)=6 COMPUTE MM(3,2)=2 * *MODELO 4* 12 COMPUTE MM(4,1)=6 COMPUTE MM(4,2)=3 * *MODELO 5* COMPUTE MM(5,1)=6 COMPUTE MM(5,2)=4 */ * *----------AR-Maximo-----------------------------compute [integer] ar_max = 0 compute [integer] ma_max = 0 * do i = 1, models * if mm(i,1).ge.ar_max { compute ar_max = mm(i,1) } * if mm(i,2).ge.ma_max { compute ma_max = mm(i,2) } * end do i * *write ar_max ma_max * declare vector mroot_v(Pmax) declare vector mmaroot_v(Pmax) * * *DECLARACION DE SERIES QUE SE USAN DENTRO DEL DO *--------------------------------------* SET PI_REF / = 0.0 SET PI_SH / = 0.0 CLEAR IMP SET RES_ST / = 0.0 * do i = 1, models * set mroot(i) / = 0.0 set mmaroot(i) / = 0.0 * end do i 13 * SET TH1 / = 0.0 SET TH2 / = 0.0 SET TH3 / = 0.0 SET TH4 / = 0.0 * set dummy / = 0.0 * *--------------------------------------* DECLARE RECTANGULAR CC(Pmax,Pmax) CC_ma(Pmax,Pmax) * * COMPUTE LAB1=' X ' COMPUTE LAB2=' Y ' COMPUTE LAB3=' Z ' COMPUTE LAB4=' Z ' * COMPUTE V_MAX= 0.0 COMPUTE VMA_MAX= 0.0 * *--------------------------------------* COMPUTE CC = %CONST(0.0) COMPUTE CC_ma = %CONST(0.0) * *---------------------------------------*OPEN PLOT ARMA.PLT *---------------------------------------* * COMPUTE C=0 * OPEN COPY IPC_VALIDO.LIS * DECLARE RECTANGULAR RESULTS(PMAX,PMAX+1) * *DOFOR S = PI_V(1) PI_V(2) PI_V(3) PI_V(4) DOFOR S = PI_V(1) * CORRELATE(NOPRINT,NUMBER=36,PARTIAL=SP_PCORR) S START END SP_AUTO COMPUTE C=C+1 * DO p = 1,PMAX DO q = 0,PMAX * 14 BOXJENK(iterations=100,NOPRINT,DEFINE=BJEQ,CONSTANT,AR=p,MA=q,$ SAR=s_ar,SMA=s_ma) S START END RESID * /* FORECAST 1 36 1999:10 # BJEQ PI_REF print 1999:11 2002:11 PI_REF * SET RES_ST START END = RESID/%SEESQ**0.5 SET PI_FIT START END = [SERIES] S - RESID SET UPPER START END = 2.0 SET LOWER START END = -2.0 * CORRELATE(NOPRINT,NUMBER = 36,PARTIAL=PCORR) RESID START END AUTO * COMPUTE SHOCK= %SEESQ**0.5 DISPLAY 'SHOCK=' SHOCK * FORECAST(INPUT) 1 36 1999:10 # BJEQ PI_SH # SHOCK * SET IMP 1999:10 1999:10+35 = PI_SH - PI_REF *---------------------------------------------*/ compute CC = %const(0.0) compute CC_ma = %const(0.0) * COMPUTE AR_P = p COMPUTE MA_Q = q * compute max_pq = %imax(AR_P,MA_Q) * * *-------Companion-matrix----------------------* DO j=1,p-1 * COMPUTE CC(1,j) = %BETA(j+1) * COMPUTE CC(j+1,j) = 1.0 * *DISPLAY j * END DO j * COMPUTE CC(1,p) = %BETA(p+1) 15 * EIGEN(CVALUES=CROOT) cc root COMPUTE MROOT_v = %const(0.0) * DO j=1,p * COMPUTE MROOT_v(J)=( (%real(CROOT(j)))**2 + $ (%imag(CROOT(j)))**2 )**0.5 * END DO j * SET MROOT(1) 1 max_pq = MROOT_v(t) SET UNO 1 max_pq = 1.0 * COMPUTE V_MAX = MROOT(1) (1) * *display 'AR Companion and eigen' *WRITE CC MROOT_v *---------------------------------------------* COMPUTE VMA_MAX = 0.0 * * if q.ne.0 { *-------MA-Companion-matrix-------------------DO j=1, q-1 * COMPUTE CC_ma(1,j) = %BETA(j+1+p) * COMPUTE CC_ma(j+1,j) = 1.0 *DISPLAY 'MA coef' j * END DO j * COMPUTE CC_ma(1,q)=%BETA(q+1+p) * EIGEN(CVALUES=CMAROOT) cc_ma root_ma COMPUTE MMAROOT_v = %const(0.0) * DO j=1,q * COMPUTE MMAROOT_v(J)=( (%real(CMAROOT(j)))**2 + (%imag(CMAROOT(j)))**2 )**0.5 * END DO j 16 $ * * SET MMAROOT(1) 1 MA_Q = MMAROOT_v(t) SET UNO 1 MA_Q = 1.0 * COMPUTE VMA_MAX = MMAROOT(1) (1) * *display 'MA Companion and eigen' *WRITE CC_ma MMAROOT_v *---------------------------------------------} If V_MAX.LE.1.AND.VMA_MAX.LE.1 { COMPUTE RESULTS(P,Q+1) = 1.0 } ELSE { COMPUTE RESULTS(P,Q+1) = 0.0 } * END DO P END DO Q WRITE RESULTS WRITE(UNIT=COPY,FORMAT='(13(F2.1,2X))') RESULTS CLOSE COPY END DOFOR S END 17