Utilizaré el comando syntax para mejorar el comando que se implementa un estimador de MCO, que se discutió en Programando un comando de estimación en Stata: Un primer comando para MCO. Muestro cómo requerir que las variables sean numércias y cómo hacer que el comando acepte variables operadas por series de tiempo.
Esta
es la séptima publicación de la serie Programando
un comando de estimación en Stata. Te recomiendo que empieces por el
principio.
Sintaxis de Stata y el comando syntax
El
comando myregress2 descrito en Programando un comando de estimación
en Stata: Un primer comando para MCO tiene la sintaxis
myregress2 depvar [indepvars]
La
sintaxis requiere que la variable dependiente sea especificada porque depvars
no está encerrada entre corchetes. Las variables independientes son opcionales
porque indepvars está encerrado entre corchetes. Escriba
Para una introducción a la
lectura de diagramas de sintaxis de Stata.
La sintaxis es implementada por
el comando syntax en la línea 5 de myregress.ad, el cual comento
ampliamente en Programando un
comando de estimación en Stata: Un primer comando para MCO. El usuario debe especificar una
lista de nombres de variables porque varlist no está encerrada entre
corchetes. La sintaxis de el comando syntax sigue las reglas de un
diagrama de sintaxis.
El
ejemplo 1 ilustra que myregress2 ejecuta la regresión requerida
cuando yo especifico una lista de variables.
Ejemplo 1: myregress2 con variables
especificas
El
ejemplo 2 ilustra que el comando syntax despliega un mensaje de
error y detiene la ejecución cuando yo no especifico una lista de variables.
Utilizaré set trace on para ver cada línea del código y el resultado que
produce.
Ejemplo 2: myregress2 sin lista de
variables
El ejemplo 3 ilustra que el comando syntax está
verificando que las variables especificadas se encuentren en la base de datos
actual. El comando arroja un error porque DoesNotExist no es una
variable en la base de datos actual.
Ejemplo 3: myregress2 con una
variable que no está en la base de datos
Ya que el comando syntax en la línea 5 no está
restringiendo que las variables especificadas a ser numéricas, obtengo el error
no observations en el ejemplo 4 en lugar de un error que indique el
problema real, el cual es la variable string make.
Ejemplo 4: myregress2 con una
variable string
En la línea 5 de myregress3, modifico varlistpara
que sólo acepte variables numéricas. Este cambio produce un mensaje de error
más informativo cuando trato de incluir una variable string en la
regresión.
Ejemplo 5: myregress3 con una
variable string
En
la línea 5 de myregress4, modifico varlist para que acepte series
de tiempo (ts). El comando syntax pone variables de series de
tiempo en una forma canónica que es guardarlas en una macro local varlist,
que se ilustra en la línea 6 dentro del ejemplo 6.
Ejemplo 6: myregress4 con series de
tiempo
Hecho y sin hacer
Uso
el comando syntax para mejorar cómo myregress2 maneja las
variables especificadas por el usuario. Mostré cómo pedir que todas las
variables sean numéricas y cómo hacer que el comando acepte variables series de
tiempo. En la siguiente publicación, muestro cómo hacer que el comando permita
restricciones en la muestra, cómo lidiar con valores perdidos, cómo permitir
variables factor, y cómo lidiar con variables perfectamente colineales.
Gracias por leernos. Siga al pendiente de nuestras próximas entradas y siéntase libre de compartir este blog con sus colegas y amigos.
Para cualquier información referente a Stata, escríbanos a: info@multion.com
GRACIAS POR TAN VALIOSA INFORMACIÓN
ResponderBorrar