Está en la página 1de 25

Machine Translated by Google

JSS Revista de software estadístico


http://www.jstatsoft.org/
Mayo de 2011, Volumen 41, Número 10.

Métodos de espacio de estado en Stata

David M. Drukker Stata Stata de Richard B. Gates

Resumen

Ilustramos cómo estimar parámetros de modelos lineales de espacio de estado usando el programa sspace
de Stata. Brindamos ejemplos de cómo usar sspace para estimar los parámetros de modelos de componentes
no observados, modelos de promedio móvil autorregresivos vectoriales y modelos de factores dinámicos.
También mostramos cómo calcular estimaciones de un paso, filtradas y suavizadas de la serie y los estados;
pronósticos dinámicos y sus intervalos de confianza; y residuales.

Palabras clave: espacio de estado, modelos de componentes no observados, modelo de nivel local, modelo de
tendencia lineal local, modelo estructural básico, modelo de factor dinámico, modelo de media móvil autorregresiva
vectorial, sspace.

1. Introducción
Stata es un paquete de propósito general para estadísticas, gráficos, gestión de datos y programación en
lenguaje matricial. La cobertura de áreas estadísticas de Stata es una de las más completas disponibles, con
muchos comandos para análisis de regresión (StataCorp 2009k,l,m), estadísticas multivariadas (StataCorp
2009i), análisis de datos de panel (StataCorp 2009h), análisis de datos de encuestas (StataCorp 2009n ) ),
análisis de supervivencia y estadísticas epidemiológicas (StataCorp 2009o), y análisis de series temporales
(StataCorp 2009p). Se utiliza para la gestión de datos (Mitchell 2010), la investigación en salud (Juul y Frydenberg
2010; Cleves, Gould, Gutierrez y Marchenko 2010), así como en el análisis económico (Cameron y Trivedi 2009;
Baum 2006). Stata es también un lenguaje de programación utilizado por los investigadores para implementar y
difundir sus métodos; vea cualquiera de los más de 40 números de The Stata Journal para ver ejemplos de
programas escritos por usuarios revisados por pares y vea StataCorp (2009j,f,g) para conocer las capacidades
de programación de Stata.

El comando sspace de Stata, lanzado en la versión 11, estima los parámetros de los modelos de espacio de
estado lineal por máxima verosimilitud (StataCorp 2009e). Como lo demostraron Harvey (1989) y Commandeur,
Koopman y Ooms (2011), los modelos lineales de espacio de estados son muy flexibles,
Machine Translated by Google

2 Métodos de espacio de estado en Stata

y muchos modelos de series de tiempo lineales se pueden escribir como modelos de espacio de estado lineales. En este
artículo, mostramos cómo usar sspace para estimar los parámetros de modelos lineales de espacio de estado.
También notamos que Stata tiene algunos comandos adicionales, como dfactor, que proporcionan sintaxis más simples
para estimar los parámetros de modelos de espacio de estado lineales particulares.

Debido a esta flexibilidad, sspace tiene dos sintaxis; las llamamos sintaxis de forma de covarianza y sintaxis de forma de
error. Se ilustran mediante la estimación de los parámetros de un modelo de tendencia lineal local con un componente
estacional y un modelo de promedio móvil autorregresivo vectorial (VARMA), respectivamente. En cada sintaxis, el usuario
debe especificar una o más ecuaciones de estado, una o más ecuaciones de observación y los componentes estocásticos.

2. Caso 1: El modelo a nivel local


El modelo a nivel local es descrito por Commandeur et al. (2011, Sección 2.1) y lo revisamos brevemente aquí. Las
ecuaciones de observación y de estado de este modelo son

yt = µt + t , µt =

µtÿ1 + ÿt , (Una)

respectivamente, donde t ÿ N(0, ÿ2 ) y ÿt ÿ N(0, ÿ2 ) y ambos son independientes. Expresamos ÿ


el componente de nivel en el tiempo t, µt , como una función del tiempo tÿ1. Esta notación es un cambio sutil de la de
Commandeur et al. (2011), pero es más consistente con la sintaxis de sspace de Stata para describir el modelo y cómo
sspace ejecuta las recursiones de espacio de estado comenzando con el índice 0 en lugar de 1. Los parámetros en este
modelo son ÿ 2, 2 y µ0. ÿ ÿ ,

2.1. Sintaxis de forma de covarianza


La sintaxis de forma de covarianza de sspace es la siguiente:

sspace state_eq [state_eq ... state_eq] obs_eq


[obs_eq ... obs_eq] [si] [en] [, opciones]

donde state_eq son ecuaciones de estado de la forma

(statevar [laged_statevars] [indepvars], state [noerror noconstant covstate(covform)])

y obs_eq son ecuaciones de observación de la forma

(depvar [statevars] [indepvars] [, sin error no constante


covobserved (covform)])

Una lista de ecuaciones de estado, ecuaciones de observación y opciones especifica un modelo espacial. Los corchetes
indican argumentos opcionales, por lo que el diagrama de sintaxis indica que se requieren al menos una ecuación de estado
y una ecuación de observación. Cada ecuación debe estar encerrada entre paréntesis. En el lenguaje de Stata, una coma
en el comando cambia el analizador del modo de especificación de modelo al modo de especificación de opciones. Las
opciones incluidas dentro de una ecuación se aplican a esa ecuación. Las opciones especificadas fuera de las ecuaciones
individuales se aplican al modelo como un todo.
Machine Translated by Google

Revista de software estadístico 3

Cada ecuación de estado especifica el nombre de una variable latente y debe tener especificada la opción de
estado. Una ecuación de estado contiene opcionalmente una lista de variables de estado rezagadas y una lista
de covariables exógenas. De forma predeterminada, se incluye una constante en la ecuación a menos que se
especifique la opción noconstante. De forma predeterminada, se incluye un término de error en la ecuación a
menos que se especifique la opción sin error. La opción covstate() le permite especificar la estructura de
covarianza de las ecuaciones de estado. El covform en el diagrama de sintaxis puede ser identidad, escalar,
diagonal o no estructurado. El valor predeterminado es diagonal. La opción dscalar establece que la covarianza
es diagonal y que todos los términos de la varianza son iguales.
Cada ecuación de observación especifica el nombre de una variable dependiente observada. Una ecuación
de observación contiene opcionalmente una lista de variables de estado contemporáneas y una lista de
covariables exógenas. De forma predeterminada, se incluye una constante en la ecuación a menos que se
especifique la opción noconstante. De forma predeterminada, se incluye un término de error en la ecuación a
menos que se especifique la opción sin error. La opción covobserved() le permite especificar la estructura de
covarianza de las ecuaciones de observación. Las formas de covarianza son las mismas que la opción covstate().
Las especificaciones [if] y [in] le permiten estimar los parámetros utilizando una submuestra de las observaciones.

Las opciones en el diagrama de sintaxis principal incluyen opciones de modelo, optimización y visualización.
Una opción de modelo importante son las restricciones(), restricciones de parámetros que identifican el modelo.
Una opción de optimización popular es la opcióntechnic(). Dos buenas técnicas para el espacio son la técnica
(BHHH), o la técnica de Berndt-Hall-Hall-Hausman; y la técnica (NR), para Newton-Raphson. Las técnicas de
optimización pueden ser mixtas; tal es la técnica por defecto (BHHH 5 NR), que especifica el método BHHH
para las primeras 5 iteraciones y NR para las iteraciones restantes. Un ejemplo de una opción de visualización
es level(), que le permite establecer el nivel de confianza en algo diferente al valor predeterminado del 95 %.

Aclaramos esta sintaxis en el siguiente ejemplo.

2.2. Estimación de las varianzas de un modelo a nivel local usando sspace


Aquí ilustramos la sintaxis de sspace mediante la estimación de los parámetros del modelo de nivel local en el
conocido conjunto de datos del Nilo que contiene observaciones sobre el volumen de flujo anual del río Nilo en
Asuán, Egipto, desde 1870 hasta 1970. El uso del comando Stata carga el conjunto de datos en memoria y el
comando describe lo describe.

. utilice http://www.stata.com/ddrukker/nile.dta

(Volumen de caudal anual del río Nilo en Asuán de 1870 a 1970)

El comando describe mostrará el tamaño de un conjunto de datos, sus variables, su tipo y formato de
almacenamiento, cualquier etiqueta asociada con las variables, clasificación de información y cualquier
información descriptiva que haya agregado para documentar sus datos.

. describir

Contiene datos de data/nile.dta


obs: 100 Volumen de flujo anual del río Nilo
en Asuán de 1870 a 1970
variables: 2 16 de junio de 2008 10:49
Machine Translated by Google

4 Métodos de espacio de estado en Stata

Talla: 1200 (99,9 % de la memoria libre)


-------------------------------------------------- ---------- ----------------------------

formato de tipo de nombre valor

de variable de visualización de almacenamiento etiqueta etiqueta variable


-------------------------------------------------- ---------- ----------------------------

AFV largo %12.0g largo %ty Volumen de flujo anual

año
-------------------------------------------------- ---------- ----------------------------

Ordenado por: año

Stata calcula operadores de series de tiempo de variables utilizando una variable de tiempo especificada por el tsset
dominio. A continuación, especificamos que el año sea nuestra variable de tiempo; tsset los datos, en Stata
lenguaje.

. año tsset

tiempo variable: año, 1871 a 1970


delta: 1 año

Ahora podríamos usar sspace para estimar los parámetros usando el código

restricción define 1 [nivel]L.nivel = 1


restricción define 2 [AFV]level sspace (level L.level, =1

state noconstant) ///


(nivel AFV, no constante), restricciones ///
(1 2)

Si bien este código es transparente para los usuarios de Stata, lo discutimos con cierto detalle para los lectores que están
poco acostumbrado a Stata.

Las dos primeras líneas definen restricciones en los parámetros del modelo, como se explica a continuación. El tercero
línea comienza con el comando sspace y es seguido por la definición de la ecuación de estado

(nivel L. nivel, estado no constante)

que se entiende mejor de derecha a izquierda. La opción noconstant especifica que no hay
término constante en la ecuación; el estado de la opción especifica la ecuación como una ecuación de estado;
y la coma separa las opciones de la especificación de la ecuación. Especificando la ecuación
como level L.level, especificamos level como el nombre del estado no observado y especificamos que
la ecuacion de estado es
nivelt = ÿniveltÿ1

Usamos el operador de retraso de Stata, L. en este ejemplo, para modelar el nivel como una función lineal de la
nivel rezagado.

Al final de la tercera línea, las tres barras, ///, denotan una continuación de línea en Stata. En esto
Por ejemplo, vemos que las líneas 3, 4 y 5 componen un solo comando de Stata.

La cuarta línea especifica que la ecuación de observación en el modelo es

AFVt = ÿnivelt + t
Machine Translated by Google

Revista de software estadístico 5

donde la t son errores normales independientes e idénticamente distribuidos (IID). como en el estado
ecuación anterior, usamos la opción noconstante para suprimir el término constante.
El modelo de la ecuación (1) requiere que ÿ = ÿ = 1. Las líneas 1 y 2 declaran estas restricciones;
en la línea 4, la opción restricciones(1 2) las aplica a este modelo.
Repitiendo el código, procedemos con la estimación:

. restricción define 1 [nivel]L.nivel = 1


. restricción definir 2 [AFV] nivel = 1
. sspace (nivel L.nivel, estado no constante) ///
> (nivel AFV, no constante), ///
> restricciones (1 2)

buscando valores iniciales...


(técnica de ajuste a bhhh)
Iteración 0: verosimilitud logarítmica = -635,14379
Iteración 1: verosimilitud logarítmica = -633,9615
Iteración 2: verosimilitud logarítmica = -633,60088
Iteración 3: verosimilitud logarítmica = -633,57318
Iteración 4: verosimilitud logarítmica = -633,54533
(técnica de cambio a nr)
Iteración 5: verosimilitud logarítmica = -633,51888
Iteración 6: verosimilitud logarítmica = -633,46465
Iteración 7: verosimilitud logarítmica = -633,46456
Iteración 8: verosimilitud logarítmica = -633,46456
Estimaciones de refinación:
Iteración 0: verosimilitud logarítmica = -633,46456
Iteración 1: verosimilitud logarítmica = -633,46456

Modelo de espacio de estados

Muestra: 1871 - 1970 Número de observaciones = 100


Verosimilitud logarítmica = -633,46456
( 1) [nivel]L.nivel = 1
(2) Nivel [AFV] = 1
-------------------------------------------------- ---------- ----------------------------

| OMI
AFV | coef. estándar Errar. z P>|z| [95% de conf. Intervalo]
-------------+---------------------------------------------------- ----------------------------
nivel |
nivel |
L1. | . . Una . . .
-------------+---------------------------------------------------- ----------------------------
AFV |
nivel | . . Una . . .
-------------+---------------------------------------------------- ----------------------------
var(nivel) | 1469.176 1280.375 var(AFV) | 15098.52 1,15 0,251 -1040.313 3978.666
3145.548 4.80 0.000 8933.358 21263.68
-------------------------------------------------- ---------- ----------------------------

Nota: el modelo no es estacionario.


Nota: Las pruebas de varianzas contra cero son conservadoras y se proporcionan solo
para referencia.
Machine Translated by Google

6 Métodos de espacio de estados en Stata

Comandante et al.
e() notación de nombre de resultado
e(A) T
e(B) e(C) e(chol_Q) e(D)
e(F) e(G) e(chol_R) R

Q1/2
Z

H1/2

Tabla 1: Matrices de filtro de Kalman en los resultados de e() de Stata y sus resultados de Commandeur et al. (2011)
equivalentes.

2 2
La tabla de salida informa que sspace estima ÿ ÿ Habiendo ser 1.469,2 y ÿ a ser 15.098,5.

brindado un ejemplo simple de cómo usar sspace, ahora brindamos algunos detalles técnicos sobre su implementación.
sspace usa el optimizador MataOptimize() (StataCorp 2009c). sspace utiliza primeras derivadas analíticas, a partir de las
cuales calcula numéricamente las derivadas de segundo orden necesarias para la optimización de Newton-Raphson. Si
está utilizando la versión multiprocesador de Stata (Stata MP), las segundas derivadas numéricas se calculan en paralelo.
optimizar() no declarará la convergencia hasta que la longitud del gradiente escalado sea menor que 10ÿ6 . Ahí es cuando

g
T Hb ÿ1
k k gk < 10ÿ6 Hb , donde gk es el gradiente en el paso k-ésimo y
k esHb
elkhessiano negativoevita
sea no singular aproximado. El requisito
que sspace de que
declare convergencia cuando no se identifican los parámetros, como se analiza
en Drukker y Wiggins (2004).

Los errores estándar se calculan a partir del hessiano negativo, a menos que la opción de varianza-covarianza, vce(),
especifique lo contrario. El OIM en el encabezado de la tabla para los errores estándar indica que los errores estándar se
calculan a partir de la matriz de información observada. Si se sospechan errores no normales, utilice vce(robusto) para
obtener los errores estándar robustos de Huber-White (StataCorp 2009q, robusto).

Los comandos de estimación de Stata almacenan sus resultados en una región de memoria llamada ereturn. El usuario
puede acceder a los resultados y otros comandos de Stata los utilizan, a los que se hace referencia como comandos de
postestimación en la jerga de Stata. Mecanografía

. lista de retorno

enumera los resultados guardados en e(). Puede ver o acceder a cualquier resultado de e() identificando el objeto como
e(nombre), donde nombre es el nombre del objeto.

Las matrices guardadas por sspace se enumeran en la Tabla 1 junto con Commandeur et al.
(2011, Ecuaciones 1 y 2) equivalentes.
Mezclando ambas notaciones, se obtiene un modelo de espacio de estado lineal

ÿt = Tÿtÿ1 + Bxt + Rÿt yt = Zÿt +

Fwt + G yo,
Machine Translated by Google

Revista de software estadístico 7

donde xt y wt son vectores columna de covariables. El vector wt puede contener variables independientes
retrasadas especificadas en el lado izquierdo de las ecuaciones de observación. Comandante et al. (2011)
incorporan las matrices de coeficientes de regresión B y F en la matriz de transición de estado T y la matriz de
ecuación de observación Z, respectivamente.
Las recursiones del filtro de Kalman se inicializan con ÿ1 = Tÿ0 + Bx1.
En este ejemplo, las matrices son todas 1 × 1 y tenemos e(A) = 1, e(D) = 1, e(chol_Q) = p var(nivel) y e(chol_R)
= p var(AFV) . Las matrices restantes no existen para este
modelo.

El espacio de Stata utiliza el filtro de raíz cuadrada para implementar numéricamente las recursiones del filtro
de Kalman (DeJong 1991b; Durbin y Koopman 2001, Sección 6.3). Además, cuando el modelo no es
estacionario, como es el caso aquí, el filtro se aumenta como lo describen DeJong (1991a), DeJong y Chu-
Chun-Lin (1994) y Durbin y Koopman (2001, Sección 5.7). Las dos técnicas se utilizan juntas para evaluar la
probabilidad (DeJong 1988) y para proporcionar estimaciones de máxima verosimilitud (ML) de los parámetros
del modelo de espacio de estado. Las técnicas también proporcionan una estimación del estado inicial. El
estado inicial, ÿ0 = µ0 es difuso y se modela como var(µ0) ÿ ÿ y E[µ0] = ÿ. La estimación de ML de ÿ es 1120,0.
Esta cantidad no es reportada por sspace, pero se almacena como e(d).

Podemos obtener predicciones usando el comando predict, después de estimar los parámetros. Todos los
objetos estándar y sus errores estándar se pueden predecir usando predict after sspace.
Estos objetos y la sintaxis para predecir después de sspace se analizan en StataCorp (2009d).

2.3. Posestimación del caso 1


Con las estimaciones del modelo a nivel local aún en la memoria, predecimos la tendencia suavizada del
volumen de flujo anual del Nilo utilizando el filtro difuso de Kalman de DeJong (1989) . Aquí usamos la opción
rmse para obtener el error cuadrático medio (RMSE) de la tendencia suavizada que se usa posteriormente
para calcular los intervalos de confianza del 90 %. Una segunda llamada a predecir obtiene los residuos
estandarizados. Graficamos la serie, la tendencia y los intervalos de confianza de tendencia en un gráfico y los
residuos estandarizados en un segundo gráfico. Luego combinamos los dos gráficos en uno y permitimos que
se represente. Este gráfico se muestra en la Figura 1.

. predecir tendencia, ecuación de estado (nivel) smethod (suave) rmse (rmse)


.
. escalar z = invnormal(.95) . gen
lb = tendencia - z*rmse . gen ub =
tendencia + z*rmse
.
. predecir res, restándar
.
. bidireccional (tsline AFV trend) (tsrline lb ub), tlabel(1870(50)1970) ///
> ytitle(Volumen de flujo anual) name(AFV) nodraw leyenda(off)
.
. tsline res, yline(3 -3) yline(0) tlabel(1870(50)1970) nombre(RES) nodraw
.
. gráfico combinar AFV RES, nombre (AFVR) filas (2)

A continuación, demostramos la previsión. Primero usamos el comando preserve para guardar el conjunto de
datos original. Luego extendemos los datos por 10 años usando el comando tsappend. calculamos
Machine Translated by Google

8 Métodos de espacio de estados en Stata

Figura 1: En el panel superior, mostramos la serie temporal del volumen de flujo anual del Nilo (azul) con estimaciones de
tendencia suavizadas (rojo) e intervalos de confianza del 90 % de la tendencia. El panel inferior muestra los residuos
estandarizados.

las predicciones de un paso, calcular pronósticos dinámicos de 1971 a 1980 y calcular los RMSE para las predicciones y
pronósticos. Luego calculamos los intervalos de confianza del 50% para los pronósticos y graficamos los resultados. Finalmente,
restauramos el conjunto de datos original. El gráfico se muestra en la Figura 2.

. preservar

. tsappend, añadir(10)

. predecir flujo, dinámico (1971) rmse (rflow)

. escalar z = invnormal(.75)

. gen lb = flujo - z*rflow (1 valor


faltante generado)

. gen ub = flujo + z*rflow (1 valor


faltante generado)

. twoway (tsline AFV flow) (tsrline lb ub if year>=1970), /// tlabel(1870(10)1980) ytitle(Volumen de flujo anual)
> name(FOR1) xline(1970) /// legend(label(1 ) "AFV") etiqueta (2 "predicho/pronóstico") etiqueta (3 "50% CI"))
>

. restaurar
Machine Translated by Google

Revista de software estadístico 9

Figura 2: El volumen de caudal anual del río Nilo (azul), predicciones de un paso y pronósticos dinámicos
(rojo), e intervalos de confianza del 50 % de pronóstico.

3. Caso 2: Un modelo de tendencia lineal local

En esta sección revisamos la estructura de un modelo de tendencia lineal local con un componente
autorregresivo, AR(1), y un componente estacional. La forma estado-espacio de un componente estacional
en el dominio del tiempo se describe en Commandeur et al. (2011, Sección 2.1). Nuestro modelo de espacio
de estados es

µt = µtÿ1 + ÿt ÿ1 + ÿt , (2)

ÿt =ÿtÿ1, (3)
ÿt =ÿ ÿtÿ1 + ÿt , (4)

ÿ1,t = ÿ ÿ1,tÿ1 ÿ ÿ2,tÿ1 ÿ ÿ3,tÿ1 + ÿt , (5)

ÿ2,t = ÿ1,t, (6)

ÿ3,t = ÿ2,t, (7)

yt = µt + ÿt + ÿ1,t, (8)

donde ÿt ÿ NID(0, ÿ2 ), ÿtÿÿ NID(0 , ÿ2 ) y ÿt ÿ NID(0


ÿ , ÿ2 ) ÿ ).

La ecuación (8) es la ecuación de observación y depende de los estados µ (la tendencia lineal), ÿ (el término
AR(1)) y ÿ1 (el componente estacional). La ecuación de observación no tiene término de error. El modelo
tiene seis ecuaciones de estado: dos para la tendencia lineal, una para el componente AR(1) y tres para el
componente estacional.
Machine Translated by Google

10 Métodos de espacio de estado en Stata

3.1. Estimación de parámetros del modelo de tendencia lineal local usando sspace
Ahora usamos sspace para estimar los parámetros de un modelo de tendencia lineal local con un AR(1)
componente y un componente estacional. Ajustamos este modelo a datos trimestrales sobre alimentos y
producción de tabaco (FTP) en los Estados Unidos para los años 1947 a 2000. Cox (2009) utiliza
el conjunto de datos para demostrar cómo graficar datos de series de tiempo estacionales en Stata.
Primero leemos el conjunto de datos en la memoria y lo describimos:

. use http://www.stata.com/ddrukker/ftp.dta

(Producción de alimentos y tabaco en los Estados Unidos para 1947-2000)

. describir

Contiene datos de data/ftp.dta


obs: 216 Producción de alimentos y tabaco en
los Estados Unidos para
1947-2000
variables: 2 11 de enero de 2010 10:02
Talla: 2592 (99,9 % de la memoria libre)
-------------------------------------------------- ---------- ----------------------------

formato de tipo de nombre valor

de variable de visualización de almacenamiento etiqueta etiqueta variable


-------------------------------------------------- ---------- ----------------------------

fecha flotante %8.0g producción de alimentos y tabaco


ftp flotante %tq
-------------------------------------------------- ---------- ----------------------------

Ordenado por: fecha

Como antes, probamos los datos:

. fecha tsset

variable de tiempo: fecha, 1947q1 a 2000q4


delta: 1 cuarto

El código para estimar los parámetros del modelo es:

restricción 1 [tendencia]L.tendencia = 1
restricción 2 [tendencia]L.slope = 1
restricción 3 [pendiente]L.pendiente = 1
restricción 4 [temporada]L.temporada = -1
restricción 5 [temporada]L.s2 = -1
restricción 6 [temporada]L.s3 = -1
restricción 7 [s2]L.temporada = 1
restricción 8 [s3]L.s2 = 1
restricción 9 [ftp]ar = 1
restricción 10 [ftp]tendencia = 1
restricción 11 [ftp]temporada = 1
sspace (tendencia L.tendencia L.pendiente, estado no constante) (pendiente ///
L.pendiente, estado sin error no constante) ///
Machine Translated by Google

Revista de software estadístico 11

(ar L.ar, estado no constante) ///


(temporada L.temporada L.s2 L.s3, estado no constante) ///
(s2 L.temporada, estado sin error no constante) ///
(s3 L.s2, estado sin error no constante) ///
(temporada de tendencia ftp ar, no error noconstant), ///
restricciones (1/11) covstate (diagonal)

La estructura básica es la misma que en el ejemplo anterior. Después de definir algunas restricciones,
emitimos el comando de espacio. La estructura del comando sspace también es similar a la
ejemplo anterior. Después de especificar las ecuaciones de estado, especificamos la ecuación de observación,
y luego especificamos las opciones a nivel de modelo. Las sintaxis de las ecuaciones de estado para el
Las ecuaciones de observación son similares a las del ejemplo anterior. La opción a nivel de modelo
covstate(diagonal) es nuevo; especifica que la matriz de covarianza de los errores de estado tiene una
estructura diagonal. Cada error tiene su propia varianza, pero los errores son independientes de uno
otro.

Las 6 ecuaciones de estado del código anterior corresponden a las ecuaciones de estado (2)–(7). el algebraico
la versión de la ecuación de observación en el código anterior se da en la Ecuación (8).
Repetir y ejecutar el código produce

. restricción 1 [tendencia]L.tendencia = 1
. restricción 2 [tendencia]L.slope = 1
. restricción 3 [pendiente]L.pendiente = 1
. restricción 4 [temporada]L.temporada = -1
. restricción 5 [temporada]L.s2 = -1
. restricción 6 [temporada]L.s3 = -1
. restricción 7 [s2]L.temporada = 1
. restricción 8 [s3]L.s2 = 1
. restricción 9 [ftp]ar= 1
. restricción 10 [ftp]tendencia= 1
. restricción 11 [ftp]temporada= 1
. sspace (tendencia L.tendencia L.pendiente, estado no constante) ///
> (pendiente L. pendiente, estado sin error no constante) ///
> (ar L.ar, estado no constante) ///
> (temporada L.temporada L.s2 L.s3, estado no constante) ///
> (s2 L.temporada, estado sin error no constante) ///
> (s3 L.s2, estado sin error no constante) ///
> (temporada de tendencia ftp ar, no error noconstant), ///
> restricciones (1/11) covstate (diagonal)

buscando valores iniciales..


(técnica de ajuste a bhhh)
Iteración 0: verosimilitud logarítmica = -405,11164
Iteración 1: verosimilitud logarítmica = -366,97349
Iteración 2: verosimilitud logarítmica = -347,30821
Iteración 3: verosimilitud logarítmica = -347,08995
Iteración 4: verosimilitud logarítmica = -346,9888
(técnica de cambio a nr)
Iteración 5: verosimilitud logarítmica = -346,96929
Iteración 6: verosimilitud logarítmica = -327,72965 (no cóncava)
Iteración 7: verosimilitud logarítmica = -306,45684 (no cóncava)
Iteración 8: verosimilitud logarítmica = -295,90364
Machine Translated by Google

12 Métodos de espacio de estados en Stata

Iteración 9: verosimilitud logarítmica = -294,77578


Iteración 10: verosimilitud logarítmica = -294,67933
Iteración 11: verosimilitud logarítmica = -294,59382
Iteración 12: verosimilitud logarítmica = -294,59331
Iteración 13: verosimilitud logarítmica = -294,59331
Estimaciones de refinación:
Iteración 0: verosimilitud logarítmica = -294,59331
Iteración 1: probabilidad de registro = -294.59331 (respaldado)

Modelo de espacio de estados

Muestra: 1947q1 - 2000q4 Número de observaciones = 216


Wald chi2(1) = 0.11
Prob > chi2 = 0.7363
Logaritmo de probabilidad = -294,59331
( 1) [tendencia]L.tendencia = 1
( 2) [tendencia]L.pendiente = 1
( 3) [pendiente]L.pendiente = 1
( 4) [temporada]L.temporada = -1
( 5) [temporada]L.s2 = -1
( 6) [temporada]L.s3 = -1
(7) [s2]L.temporada = 1
(8) [s3]L.s2 = 1
(9) [ftp]ar = 1
(10) [ftp]tendencia = 1
(11) [ftp]temporada = 1
-------------------------------------------------- ---------- ----------------------------

OMI
| FTP | coef. Estándar Errar. z P>|z| [95% de conf. Intervalo]
-------------+---------------------------------------------------- ----------------------------
tendencia |
tendencia |
L1. | | Una . . . . .

pendiente |
L1. | . . Una . . .
-------------+---------------------------------------------------- ----------------------------
Pendiente |
pendiente |
L1. | . . Una . . .
-------------+---------------------------------------------------- ----------------------------
Arkansas |
ar |
L1. | .1522196 .4519697 0,34 0,736 -.7336248 1.038064
-------------+---------------------------------------------------- ----------------------------
temporada |
temporada |
L1. | | -Una . . . . .

s2 |
L1. | | -Una . . . . .

s3 |
L1. | -Una . . . . .
Machine Translated by Google

Revista de software estadístico 13

-------------+---------------------------------------------------- ----------------------------
s2 |
temporada |
L1. | . . Una . . .
-------------+---------------------------------------------------- ----------------------------
s3 |
s2 |
L1. | . . Una . . .
-------------+---------------------------------------------------- ----------------------------
ftp |
. ar | . Una . . .
tendencia . . Una . . .
| temporada | . . Una . . .
-------------+---------------------------------------------------- ----------------------------
var(tendencia) | .385335 .0958063 4.02 0.000 .1975581 .5731119
var(ar) | .0987783 .095571 1,03 0,301 -.0885374 .286094
var(temporada) | .0356305 .0136982 2,60 0,009 .0087825 .0624785
-------------------------------------------------- ---------- ----------------------------

Nota: el modelo no es estacionario.


Nota: Las pruebas de varianzas contra cero son conservadoras y se proporcionan solo
para referencia.

La tabla de coeficientes enumera 15 estimaciones, solo 4 de las cuales no tienen restricciones: ar.L1 = 0.152,
var(tendencia) = 0,385, var(ar) = 0,0988 y var(temporada) = 0,0356. Estas son estimaciones de
2 ÿ 2 yÿ 2
ÿ, ÿ ÿ, ÿ , respectivamente. Especificamos que la covarianza para las ecuaciones de estado sea
ÿ , diagonal; este es el valor predeterminado y se agregó para mayor claridad.

3.2. Posestimación del caso 2


Después de la estimación, podemos usar el comando de predicción para calcular las estimaciones de los observables.
o no observables utilizando los métodos de un paso, filtro o suavizado (Durbin y Koopman 2001,
Capítulo 4; DeJong 1989). Los residuos de la ecuación de observación o los residuos estandarizados pueden
calcularse usando los métodos de un paso o suavizado.
A continuación calculamos las estimaciones de un paso de la producción de alimentos y tabaco:

. predecir ftp1

(opción xb asumida; valores ajustados)

Ahora predecimos la tendencia de un paso:

. predecir tendencia, ecuación de estado (tendencia)

Finalmente, calculamos los residuos:

. predecir res, residuos

Ahora realizamos algunos cálculos para producir gráficos más informativos. En el código de abajo,
almacenamos el índice que marca el último trimestre de la muestra en una macro local y generamos un
nueva variable q que contiene el trimestre por año de cada observación.
Machine Translated by Google

14 Métodos de espacio de estados en Stata

Figura 3: Datos trimestrales sobre la producción de alimentos y tabaco en los Estados Unidos con series suavizadas y la
tendencia filtrada en el panel superior. Los residuales de un paso están en el panel inferior.

. local n = piso (3*_N/4) . generar


int q = trimestre(dofq(fecha))

El siguiente bloque produce los gráficos que se muestran en la Figura 3. La Figura 3 muestra los diagramas de series de
tiempo utilizando las sugerencias de trazado de Cox (2009) con la serie suavizada y la tendencia filtrada. Solo graficamos el
último cuarto de la muestra. (El crecimiento de la serie cubre el detalle estacional cuando graficamos la serie sobre toda la
muestra).

. bidireccional (fecha de ftp disperso en `n'/L, msymbol(none) mlabel(q) /// mlabposition(0)


> ytitle(producción) ylabel(#3)) /// (tsline ftp1 tendencia en `n'/L ), no dibujar
> nombre (FTP1)

. tsline res in `n'/L, nodraw name(RES) yline(0) . gráfico combinar


FTP1 RES, nombre (FTP2) filas (2) . gota de gráfico FTP1 RES

A continuación ilustramos cómo pronosticar estimaciones. Comenzamos ampliando los datos, agregando dos años a partir del
primer trimestre del año 2001.

. tsappend, añadir(8)

El siguiente bloque de código predice ftp, especificando que los pronósticos dinámicos deberían comenzar en el primer trimestre
de 2001. La función tq(2001q1) traduce la cadena "2001q1" al
Machine Translated by Google

Revista de software estadístico 15

Figura 4: Predicciones de un paso de la producción de alimentos y tabaco de EE. UU. con predicciones dinámicas a
partir del primer trimestre del año 2001. También se proporcionan límites de confianza aproximados del 95%.

valor numérico: el número de trimestres desde el primer trimestre de 1960. También solicitamos el error
cuadrático medio (RMSE) de los residuos. Usamos las estimaciones de RMSE para calcular intervalos de
confianza aproximados del 90% sobre los valores de pronóstico. Estos se muestran en la Figura 4.

. predecir ftp1, dynamic(tq(2001q1)) rmse(rftp) . escalar


z = invnormal(0.95)

. gen lb = ftp1 + z*rftp si fecha>=tq(2001q1) . gen ub


= ftp1 - z*rftp si fecha>=tq(2001q1)

. tsline ftp1 si fecha>=tq(1995q1) || tsrline lb ub si fecha>=tq(1995q1), /// xline(`=tq(2001q1)')


leyenda(etiqueta(2 "90 \% CI")) nombre(DYN)

4. Caso 3: El modelo de promedio móvil autorregresivo vectorial


Usamos freduse (ver Drukker 2006) para obtener datos de la Reserva Federal sobre la tasa de utilización
de la capacidad, caputil y horas de fabricación, horas, para la economía de EE . UU. (http://
research.stlouisfed.org/fred2). Aquí modelamos la serie diferenciada, D.caputil y D.horas, como un proceso
de promedio móvil autorregresivo vectorial de primer orden (VARMA(1,1)). En este modelo, permitimos
que el retraso de D.caputil afecte a D.horas, pero no permitimos que el retraso de D.horas afecte al retraso
de D.caputil, como se hizo en StataCorp (2009e, Ejemplo 4).

ÿct ÿ1 0 ÿ2 ÿctÿ1 ÿ1 0 ÿtÿ1,1 ÿt,1


= + + (9)
ÿht ÿ3 ÿhtÿ1 00 ÿtÿ1,2 ÿt,2
Machine Translated by Google

dieciséis
Métodos de espacio de estados en Stata

Las ecuaciones de estado y las ecuaciones de observación para la forma de espacio de estado de este modelo
VARMA(1,1) pueden escribirse, respectivamente, en forma vectorial como

ÿt,1 ÿ1 1 0 ÿtÿ1,1 10
ÿ ÿ = ÿ 000 ÿÿÿ ÿ + ÿ ÿ1 0 ÿ ÿt,1
,
ÿt,2 ÿtÿ1,2 (10)
ÿt,2
ÿ ÿt,3 ÿ ÿ ÿ2 0 ÿ3 ÿ ÿtÿ1,3 ÿ ÿ 01 ÿ

100 ÿt,1
ÿct = ÿ ÿ
001 ÿt,2 (11)
ÿht
ÿ ÿt,3 ÿ

donde ÿt ,1 = ÿct , ÿt ,2 = ÿ1ÿt,1, ÿt ,3 = ÿht diagonal. , y la matriz de covarianza 2 × 2 cov(ÿt ) es

A continuación, usamos la sintaxis de forma de error de sspace para estimar los parámetros de este modelo.

4.1. sintaxis de forma de error

La sintaxis de forma de error de sspace tiene la misma estructura general que la forma de covarianza, pero
tiene un componente adicional en la ecuación de estado.

(statevar [laged_statevars] [indepvars] [state_errors], state [noconstant])

El [state_errors] opcional enumera los errores de ecuación de estado que ingresan a una ecuación de
estado. Cada error de estado tiene la forma e.statevar, donde statevar es el nombre de un estado en el modelo.
Los state_errors definen la estructura de covarianza, por lo que la opción covstate() no es necesaria.
Además, la opción sin errores no tiene ningún significado en este estilo de sintaxis.

4.2. Estimación del VARMA(1,1)

Ahora usamos la sintaxis de forma de error de sspace para estimar los parámetros del modelo
VARMA(1,1) cuya forma de espacio de estado se da en las Ecuaciones (10) y (11).
El código para estimar los parámetros del modelo se da a continuación:

restricción 1 [u1]L.u2 = 1
restricción 2 [u1]e.u1 = 1
restricción 3 [u3]e.u3 = 1
restricción 4 [D.caputil]u1 = 1
restricción 5 [D.horas]u3 = 1 sspace
(u1 L.u1 L.u2 e.u1, estado no constante) /// (u2 e.u1, estado
no constante) /// (u3 L.u1 L.u3 e.u3, estado no
constante) /// ( D.caputil u1, noconstant) /// (D.horas
u3, noconstant), /// restricciones(1/5)
covstate(diagonal) vce(robusto)

El código tiene la misma estructura que los ejemplos anteriores. Después de definir las restricciones, las
usamos en el comando sspace. El comando sspace en sí tiene dos partes: primero vienen las ecuaciones
que definen la forma de espacio de estado del modelo. En segundo lugar, especificamos opciones a nivel
de modelo.
Machine Translated by Google

Revista de software estadístico 17

El código especifica las cinco ecuaciones que definen la forma de espacio de estado del modelo. El primero
tres ecuaciones son las ecuaciones de estado cuyas contrapartes algebraicas están en la Ecuación (10). los
La única diferencia entre las dos versiones es que los estados se denominan ÿ1, ÿ2 y ÿ3 en el álgebra .
y nombrado u1, u2 y u3 en código. Las dos últimas ecuaciones son las ecuaciones de observación cuyas
el equivalente algebraico se da en la Ecuación (11).
Ya hemos discutido las restricciones de opciones de nivel de modelo() y covstate(). los
La opción de nivel de modelo vce (robusta) especifica que los errores estándar deben estimarse utilizando
el estimador robusto de Huber-White que es robusto a errores no normales en este caso.
A continuación, leemos el conjunto de datos y ejecutamos el código.

. webuse manufac.dta

(Datos de fabricación de la Fed de St. Louis (FRED))

. restricción 1 [u1]L.u2 = 1
. restricción 2 [u1]e.u1 = 1
. restricción 3 [u3]e.u3 = 1
. restricción 4 [D.caputil]u1 = 1
. restricción 5 [D.horas]u3 = 1
. sspace (u1 L.u1 L.u2 e.u1, estado no constante) ///
> (u2 e.u1, estado no constante) ///
> (u3 L.u1 L.u3 e.u3, estado no constante) ///
> (D.caputil u1, no constante) ///
> (D.horas u3, no constante), ///
> restricciones (1/5) covstate (diagonal) vce (robusto)

Iteración 0: log pseudoverosimilitud = -468.09528


Iteración 1: log pseudoverosimilitud = -436.36371
Iteración 2: log pseudoverosimilitud = -417.72583
Iteración 3: log pseudoverosimilitud = -414.07834
Iteración 4: log pseudoverosimilitud = -411.97958
(técnica de cambio a nr)
Iteración 5: log pseudoverosimilitud = -410.90058
Iteración 6: log pseudoverosimilitud = -408.46772
Iteración 7: log pseudoverosimilitud = -408.44012
Iteración 8: log pseudoverosimilitud = -408.44012
Estimaciones de refinación:
Iteración 0: log pseudoverosimilitud = -408.44012
Iteración 1: log pseudoverosimilitud = -408.44012

Modelo de espacio de estados

Muestra: 1972m2 - 2008m12 Número de observaciones = 443


Wald chi2(4) = 281.15
Prob > chi2 = 0.0000
Verosimilitud logarítmica = -408,44012
( 1) [u1]L.u2 = 1
(2) [u1]e.u1 = 1
(3) [u3]e.u3 = 1
(4) [D.caputil]u1 = 1
( 5) [D.horas]u3 = 1
-------------------------------------------------- ---------- ----------------------------
Machine Translated by Google

18 Métodos de espacio de estados en Stata

Robusto
coef. Estándar Errar. z || P>|z| [95% de conf. Intervalo]
-------------+---------------------------------------------------- ----------------------------
u1 |
u1 |
L1. | | .8041549 .0586271 13.72 0.000 .6892478 .919062

u2 |
L1. | Una . . . . .
e.u1 | . . Una . . .
-------------+---------------------------------------------------- ----------------------------
u2 |
e.u1 | -.5236703 .0807037 -6,49 0,000 -.6818466 -.365494
-------------+---------------------------------------------------- ----------------------------
u3 |
u1 |
L1. | .0861277 .0247206 3.48 0.000 .0376762 .1345791
|
u3 |
L1. | -.4734121 .1275157 e.u3 | -3,71 0,000 -.7233384 -.2234859
. . Una . . .
-------------+---------------------------------------------------- ----------------------------

D.caputil |
u1 | . . Una . . .
-------------+---------------------------------------------------- ----------------------------
D.horas |
u3 | . . Una . . .
-------------+---------------------------------------------------- ----------------------------
var(u1) .3564469 .0407754 8.74 0.000 .2765287 .4363651
var(u3) || .060721 .0120762 5.03 0.000 .0370521 .0843898
-------------------------------------------------- ---------- ----------------------------

Nota: Las pruebas de varianzas contra cero son conservadoras y se proporcionan solo
para referencia.

La tabla de salida nos da las estimaciones de los parámetros, los errores estándar estimados, la confianza
intervalos y pruebas contra cero. Usando la notación de la Ecuación (9), las estimaciones de la AR
los parámetros son ÿˆ 1 = 0,804, ÿˆ 2 = 0,0861 y ÿˆ 3 = ÿ0,473. El parámetro MA estimado es
C C

ˆÿ1 = ÿ0.524. Las estimaciones de la varianza son var( ÿt,1) = 0,356 y var( ÿt,2) = 0,0607.

4.3. Postestimación del caso 3


Ahora predecimos la diferencia en la utilización del capital usando las predicciones de un paso y la
residuos estandarizados:

. predecir pcaputil, ecuación (D.caputil)

(opción xb asumida; valores ajustados)

. predecir stdres, recuación estándar (D.caputil)

predecir calcula los valores previstos tanto para D.caputil como para D.horas de forma predeterminada porque no
son dos ecuaciones de observación en nuestro modelo. Para anular el comportamiento predeterminado, especificamos el
Machine Translated by Google

Revista de software estadístico 19

Figura 5: El panel superior muestra las predicciones de un paso de la utilización de la capacidad de fabricación
a partir de enero de 1990. Los residuos estandarizados se muestran en el panel inferior.

opción ecuación (D.caputil), que instruye a predecir para realizar el cálculo solo para la ecuación D.caputil.

. tsline D.caputil pcaputil si mes>=tm(1990m1), nombre(CAP) nodraw. tsline


stdres if month>=tm(1990m1), name(RES) nodraw . gráfico combinar CAP RES,
filas (2) nombre (CH2) . caída del gráfico CAP RES

La figura 5 muestra la serie temporal de utilización de la capacidad y las predicciones de un paso en el panel
superior. El panel inferior muestra los residuos estandarizados. Solo se muestra la segunda mitad de los datos.

5. Un ejemplo de factor dinámico


Los modelos de espacio de estado se han utilizado para formular estimadores para modelos populares como los
modelos ARMA y VARMA y para formular estimadores para nuevos modelos sugeridos por el marco de espacio
de estado. El modelo de componentes no observados (UC) discutido en Harvey (1989) y el modelo de factor
dinámico son dos de los modelos más importantes que encajan naturalmente en un marco de espacio de estado.
Arriba consideramos modelos UC y un modelo VARMA; ahora consideramos un modelo de factor dinámico.

Los modelos de factores dinámicos son modelos VAR aumentados por factores no observados que también
pueden tener una estructura autorregresiva. Los modelos de factores dinámicos se han aplicado en macroeconomía,
Machine Translated by Google

20 Métodos de espacio de estado en Stata

ver Geweke (1977), Sargent y Sims (1977), Stock y Watson (1989), Stock y Watson
(1991) y Watson y Engle (1983). Lutkepohl ¨ (2005) proporciona una buena introducción a
modelos de factores dinámicos y su formulación en el espacio de estados. StataCorp (2009a) proporciona una rápida
introducción a estos modelos y tiene varios ejemplos, incluido el que se analiza a continuación.

En este ejemplo, consideramos un modelo de factor dinámico sin variables exógenas en el que
el factor dinámico sigue un proceso AR(2), y las perturbaciones en las ecuaciones de las variables observables siguen
procesos AR(1). Este ejemplo ilustra cómo especificar un modelo de factor dinámico y cómo especificar un proceso AR(2).
El comando dfactor es fácil de usar
alternativa al espacio para modelos de factores dinámicos.

La forma de espacio de estado del modelo que consideramos es

pies = ÿ1ftÿ1 + ÿ2ftÿ2 + (12)

ÿt ftÿ1 = ftÿ1 µt = ÿµtÿ1 + t (13)

yt = bft + µt (14)

(15)

donde ft es un factor no observado que sigue un proceso AR(2); µt es un vector de errores de 4 × 1,


cada uno de los cuales sigue un proceso AR(1); y yt es un vector 4×1 de variables dependientes. Las ecuaciones (12),
(13) y (14) son las ecuaciones de estado. La ecuación (15) es el vector de observación
ecuaciones

El sistema está controlado por ÿt (un error IID escalar) y por t (un vector 4 × 1 de errores IID). Por
restringiendo ÿ para que sea una matriz diagonal de 4 × 4, especificamos que el factor no observado es el único
fuente de correlación entre las variables dependientes. ÿ1 y ÿ2 son los coeficientes de la
Proceso AR(2) para el factor dinámico. b es un vector de coeficientes de 4 × 1.
Descargamos algunos datos macroeconómicos de EE. UU. de la base de datos FRED del St. Luis
Reserva Federal usando el comando freduse discutido en Drukker (2006). Específicamente, nosotros
disponer de datos sobre las variables yt índice de producción industrial, ipman; renta disponible real,
ingreso; un índice agregado de horas semanales, horas; y desempleo agregado, unemp. Estas
los datos se usaron en los manuales de Stata, por lo que usamos el comando webuse para descargar el conjunto de datos
y leerlo en la memoria.

En el siguiente código, usamos sspace para estimar los parámetros de este modelo:

. uso web dfex, claro


(Datos macro de la Fed de St. Louis (FRED))
. restricción definir 1 [Lf]Lf = 1
. restricción definir 2 [D.ipman]u1 = 1
. restricción define 3 [D.ingresos]u2 = 1
. restricción define 4 [D.horas]u3 = 1
. restricción definir 5 [D.unemp]u4 = 1
. restricción define 6 [var(f)]_cons = 1

. sspace (f Lf L. Lf, estado no constante) ///


> (Lf Lf, estado no constante sin error) (u1 L.u1, ///
> estado no constante) (u2 L.u2, estado no ///
> constante) ///
Machine Translated by Google

Revista de software estadístico 21

> (u3 L.u3, estado no constante) (u4 L.u4, ///


> estado no constante) ///
> (D.ipman f u1, no constante no error) ///
> (D.ingreso f u2, sin constante sin error) ///
> (D.horas f u3, sin constante sin error) ///
> (D.unemp f u4, sin constante sin error), covstate ///
> (diagonal) restricciones (1/6)
buscando valores iniciales ...............
(técnica de ajuste a bhhh)
Iteración 0: verosimilitud logarítmica = -667,60855
Iteración 1: verosimilitud logarítmica = -631,10186
Iteración 2: verosimilitud logarítmica = -618,21015
Iteración 3: verosimilitud logarítmica = -615,08888
Iteración 4: verosimilitud logarítmica = -613,63357
(técnica de cambio a nr)
Iteración 5: verosimilitud logarítmica = -612,55257
Iteración 6: verosimilitud logarítmica = -610,31321
Iteración 7: verosimilitud logarítmica = -610,28847
Iteración 8: verosimilitud logarítmica = -610,28846
Estimaciones de refinación:
Iteración 0: verosimilitud logarítmica = -610,28846
Iteración 1: verosimilitud logarítmica = -610,28846

Modelo de espacio de estados

Muestra: 1972m2 - 2008m11 Número de observaciones = 442


Wald chi2(10) = 990.91
Prob > chi2 = 0.0000
Verosimilitud logarítmica = -610,28846 ( 1)
[Lf]Lf = 1
(2) [D.ipman]u1 = 1
(3) [D.ingresos]u2 = 1
( 4) [D.horas]u3 = 1
(5) [D.unemp]u4 = 1
(6) [var(f)]_contras = 1
-------------------------------------------------- ---------- ----------------------------

OMI
coef. estándar Errar. z || P>|z| [95% de conf. Intervalo]
-------------+---------------------------------------------------- ----------------------------
F |
f|
L1. | .4058457 .0906183 4.48 0.000 .2282371 .5834544
|
si |
L1. | .3663499 .0849584 4,31 0,000 .1998344 .5328654
-------------+---------------------------------------------------- ----------------------------
si |
f|
L1. | . . Una . . .
-------------+---------------------------------------------------- ----------------------------
u1 |
u1 |
L1. | -.2772149 .068808 -4.03 0.000 -.4120761 -.1423538
-------------+---------------------------------------------------- ----------------------------
Machine Translated by Google

22 Métodos de espacio de estado en Stata

u2 |
u2 |
L1. | -.2213824 .0470578 -4.70 0.000 -.3136141 -.1291508
-------------+---------------------------------------------------- ----------------------------
u3 |
u3 |
L1. | -.3969317 .0504256 -7.87 0.000 -.495764 -.2980994
-------------+---------------------------------------------------- ----------------------------
u4 |
u4 |
L1. | -.1736835 .0532071 -3,26 0,001 -.2779675 -.0693995
-------------+---------------------------------------------------- ----------------------------

D. ipman |
f| .3214972 .027982 11.49 0.000 .2666535 .3763408
u1 | . . Una . . .
-------------+---------------------------------------------------- ----------------------------
D.ingresos |
f| .0760412 .0173844 4.37 0.000 .0419684 .110114
u2 | . . Una . . .
-------------+---------------------------------------------------- ----------------------------
D.horas |
f| .1933165 .0172969 11.18 0.000 .1594151 .2272179
u3 | . . Una . . .
-------------+---------------------------------------------------- ----------------------------

D.unemp |
f | -.0711994 .0066553 -10.70 0.000 u4 | -.0842435 -.0581553
Una . . . . .
-------------+---------------------------------------------------- ----------------------------
var(f) |
Una . . . . .
var(u1) | .1387909 .0154558 8.98 0.000 .1084981 .1690837
var(u2) | .2636239 .0179043 14.72 0.000 .2285322 .2987157
var(u3) | .0822919 .0071096 11.57 0.000 .0683574 .0962265
var(u4) | .0218056 .0016658 13.09 0.000 .0185407 .0250704
-------------------------------------------------- ---------- ----------------------------

Nota: Las pruebas de varianzas contra cero son conservadoras y se proporcionan solo
para referencia.

El código es similar a lo que hemos visto en ejemplos anteriores. La ecuación (13), que es la
segunda ecuación especificada en el comando sspace, es el nuevo elemento en este ejemplo. Este
El método de incluir retrasos como ecuaciones de estado triviales adicionales es un truco estándar en el espacio de estado.
modelado, consulte Lutkepohl ¨ (2005, Capítulo 18.2) y Hamilton (1994, Capítulo 13.1).

El comando dfactor de Stata proporciona una sintaxis fácil de usar para estimar los parámetros
de modelos de factores dinámicos. Por ejemplo, el comando

. dfactor (D.(ipman ingreso horas desempleadas), noconstante ar(1)) (f = , es(1/2))

produce las mismas estimaciones de parámetros que el comando sspace anterior.

Predecir después de sspace y después de dfactor proporciona todas las opciones estándar para pronosticar el
variables dependientes observadas o para extraer factores no observados. Ya hemos ilustrado
el uso de predecir después de sspace, consulte StataCorp (2009b) para obtener más ejemplos y una descripción detallada
discusión de las matemáticas subyacentes.
Machine Translated by Google

Revista de software estadístico 23

6. Conclusión
Hemos ilustrado cómo estimar los parámetros de modelos UC, modelos VARMA y modelos de factores dinámicos
usando el comando sspace de Stata. El comando sspace de Stata puede estimar los parámetros de muchos otros
modelos lineales de espacio de estado.

Usando el lenguaje de programación ADO de Stata (StataCorp 2009q), el comando sspace podría usarse como un
motor computacional para nuevos comandos de estimación. El comando dfactor es un ejemplo. Estos comandos
serían versiones fáciles de usar de sspace, presentando una sintaxis simplificada única para el modelo de destino.
Debido a que Stata es una plataforma tan popular entre los investigadores aplicados, sspace brinda una oportunidad
para que los investigadores teóricos pongan fácilmente sus métodos a disposición de una gran audiencia de
investigadores aplicados. Estimadores más complicados podrían combinar el lenguaje de matriz de compilación de
bytes de Stata, Mata, consulte StataCorp (2009f) y StataCorp (2009g), y sspace para implementar nuevos estimadores.

Referencias

Baum CF (2006). Una introducción a la econometría moderna utilizando Stata. Prensa de Stata, Universidad
Estación, Texas.

Cameron AC, Trivedi PK (2009). Microeconometría con Stata. prensa de stata, estación universitaria,
Texas.

Cleves MA, Gould WW, Gutiérrez RG, Marchenko YU (2010). Una introducción a la supervivencia
Análisis usando Stata. 3ra edición. Stata Press, College Station, Texas.

Comandante JJF, Koopman SJ, Ooms M (2011). “Software estadístico para métodos de espacio de estados”. Revista
de software estadístico, 41(1), 1–18. URL http://www.jstatsoft.org/v41/i01/ .

Cox Nueva Jersey (2009). “Consejo 76 de Stata: Separación de series temporales estacionales”. El Diario de Stata, 9,
321–326.

DeJong P (1988). "La probabilidad de un modelo de espacio de estado". Biometrika, 75, 165–169.

DeJong P (1989). "Suavizado e interpolación con el modelo de espacio de estado". Diario de la


Asociación Estadounidense de Estadística, 84, 1085–1088.

DeJong P (1991a). "El filtro difuso de Kalman". Los Anales de Estadística, 19, 1073–1083.

DeJong P (1991b). "Algoritmos estables para el modelo de espacio de estado". Revista de análisis de series
temporales, 12, 143–145.

DeJong P, Chu-Chun-Lin S (1994). "Modelos de espacio de estado estacionario y no estacionario".


Revista de análisis de series temporales, 15, 151–166.

Drukker DM (2006). "Importación de datos económicos de la Reserva Federal". El Diario de Stata, 6(3),
384–386.

Drukker DM, Wiggins V (2004). “Verificación de la solución de un solucionador no lineal: un caso


Estudiar: Comentar.” Revista Económica Estadounidense, 94(1), 397–399.
Machine Translated by Google

24 Métodos de espacio de estado en Stata

Durbin J, Koopman SJ (2001). Análisis de Series Temporales por Métodos de Espacio de Estados. Prensa de la Universidad
de Oxford, Oxford.

Geweke J (1977). "El análisis factorial dinámico de los modelos económicos de series de tiempo". En DJ Aigner, AS
Goldberger (eds.), Latent Variables in Socioeconomic Models, págs. 365–383.
Holanda Septentrional, Ámsterdam.

Hamilton JD (1994). Análisis de series temporales. Prensa de la Universidad de Princeton, Princeton.

Harvey AC (1989). Pronósticos, Modelos Estructurales de Series Temporales y el Filtro de Kalman. Leva
Puente University Press, Cambridge.

Juul S, Frydenberg M (2010). Una introducción a Stata para investigadores de la salud. 3ra edición.
Stata Press, College Station, Texas.
¨
Lutkepohl H. (2005). Nueva Introducción al Análisis de Series Temporales Múltiples. Springer-Verlag,
Nueva York.

Mitchell MN (2010). Gestión de datos con Stata: un manual práctico. prensa estata,
Estación universitaria, Texas.

Sargent TJ, Sims CA (1977). "Modelado del ciclo económico sin pretender tener demasiada teoría económica a priori". En
CA Sims (ed.), Nuevos métodos en la investigación del ciclo económico: Actas de una conferencia, págs. 45–109. Banco
de la Reserva Federal de Minneapolis, Minneapolis.

StataCorp (2009a). "dfactor: modelos de factores dinámicos". Referencia de series de tiempo en Stata
Manual, versión 11. Stata Press, College Station, Texas.

StataCorp (2009b). "Postestimación de dfactor: herramientas de postestimación para dfactor". En el Manual de referencia
de series temporales de Stata, versión 11. Stata Press, College Station, Texas.

StataCorp (2009c). "optimizar (): optimización de funciones". En el Manual de referencia de programación de Mata Matrix,
versión 11. Stata Press, College Station, Texas.

StataCorp (2009d). "Postestimación de sspace: herramientas de postestimación para sspace". En el Manual de referencia
de series temporales de Stata, versión 11. Stata Press, College Station, Texas.

StataCorp (2009e). "sspace: modelos de espacio de estado". En el Manual de referencia de series temporales de Stata,
Comunicado 11. Stata Press, College Station, Texas.

StataCorp (2009f). Programación Matriz Mata 0–3, Versión 11. Stata Press, College Station,
Texas.

StataCorp (2009g). Programación Mata Matrix 4–6, versión 11. Stata Press, College Station,
Texas.

StataCorp (2009h). Manual de referencia de datos longintudinales/datos de panel de Stata, versión 11.
Stata Press, College Station, Texas.

StataCorp (2009i). Manual de referencia de estadísticas multivariadas de Stata, versión 11. Stata Press,
Estación universitaria, Texas.
Machine Translated by Google

Revista de software estadístico 25

StataCorp (2009j). Manual de referencia de programación de Stata, versión 11. Stata Press, College
Estación, Texas.

StataCorp (2009k). Manual de referencia de Stata, versión A–H 11. Stata Press, College Station,
Texas.

StataCorp (2009l). Manual de referencia de Stata, versión I–P 11. Stata Press, College Station,
Texas.

StataCorp (2009m). Manual de referencia de Stata, versión Q–Z 11. Stata Press, College Station,
Texas.

StataCorp (2009n). Manual de referencia de datos de encuestas de Stata, versión 11. Stata Press, College
Estación, Texas.

StataCorp (2009o). Stata Survival Analysis and Epidemiological Tables Reference Manual,
Comunicado 11. Stata Press, College Station, Texas.

StataCorp (2009p). Manual de referencia de series temporales de Stata, versión 11. Stata Press, College
Estación, Texas.

StataCorp (2009q). "Programación." En el Manual de referencia de programación de Stata, versión 11.


Stata Press, College Station, Texas.

Stock JH, Watson MW (1989). "Nuevos índices de indicadores económicos coincidentes y adelantados".
En OJ Blanchard, S Fischer (eds.), NBER Macroeconomics Annual 1989, volumen 4, págs. 351 a 394. MIT
Press, Cambridge, MA.

Stock JH, Watson MW (1991). “Un modelo de probabilidad de los indicadores económicos coincidentes”. En K
Lahiri, GH Moore (eds.), Indicadores económicos principales: nuevos enfoques y registros de pronósticos,
págs. 63–89. Prensa de la Universidad de Cambridge, Cambridge.

Watson MW, Engle RF (1983). “Algoritmos alternativos para la estimación de modelos de regresión de factor
dinámico, MIMIC y coeficiente variable”. Revista de Econometría, 23, 385–400.

Afiliación:
David M. Drukker
Stata 4905 Lakeway
Drive College Station,
TX, Estados Unidos de América Correo electrónico:
ddrukker@stata.com
URL: http://stata.com/

Journal of Statistical Software http://www.jstatsoft.org/ http://


publicado por la Asociación Estadounidense de Estadística www.amstat.org/
Volumen 41, Número 10 Enviado: 2010-01-15
mayo de 2011 Aceptado: 2010-09-29

También podría gustarte