lunes, 25 de junio de 2018

Explorando los resultados de los modelos de regresión no paramétricos

Explorando los resultados de los modelos de regresión no paramétricos
Kristin MacDonald, Director de Servicios Estadísticos


En su entrada del blog, Enrique Pinzon discutió cómo realizar una regresión cuando no queremos hacer ningún supuesto sobre la forma funcional: usar el comando npregress. Concluyó realizando unas cuantas preguntas y respuestas sobre los resultados usando los comandos magins y marginsplot.

Recientemente, He estado pensando sobre los diferentes tipos de preguntas que podeos responder usando margins después de una regresión no paramétrica, o en realidad después de cualquier tipo de regresión. margins y marginsplot son poderosas herramientas para explorar los resultados de un modelo y extraer distintos tipos de inferencias. En esta publicación, mostraré cómo hacer y responder preguntas muy especificas y cómo explorar toda la superficie de respuesta en función de los resultados de su regresión no paramétrica.

El conjunto de datos que utilizaremos incluye tres covariables: variables continuas x1 y x2 y la variable categórica a con tres niveles. Si desea seguir, puede usar estos datos escribiendo http://www.stata.com/users/kmacdonald/blog/npblog

Primero vamos a ajustar nuestro modelo.


Enrique discute la interpretación de estos resultados en su blog, así que no me enfocaré en esto aquí. Debo señalar, sin embargo, que debido a que mi objetivo es mostrarle cómo usar margins, utilicé solo 10 repeticiones bootstrap (un número ridículamente pequeño) al estimar los errores estándar. En la investigación real, seguramente querrá utilizar más repeticiones tanto con el comando npregress como con los comandos margins que siguen.

El resultado del comando npregress incluye estimaciones de los efectos de x1, x2 y los niveles de a en nuestro resultado, pero estas estimaciones probablemente no sean suficientes para responder algunas de las preguntas importantes que queremos abordar en nuestra investigación.

A continuación, primero te mostraré cómo puedes explorar la respuesta no lineal: el valor esperado de y en diferentes combinaciones de x1, x2 y a. Por ejemplo, suponga que su variable resultado es la respuesta a un medicamento, y desea conocer el valor esperado para una mujer cuyo peso es de 150 libras y cuyo nivel de colesterol es de 220 miligramos por decilitro. ¿Qué tal para un hombre con las mismas características? ¿Cómo cambian estas expectativas en un rango de pesos y niveles de colesterol?

También demostraré cómo responder preguntas sobre promedios poblacionales, contrafactuales, efectos de tratamiento y más. Estos son exactamente los tipos de preguntas que los formuladores de políticas hacen. ¿Cómo, en promedio, una variable afecta a la población en la que están interesados? Por ejemplo, supongamos que su variable resultado es el ingreso de individuos en sus 20 años. ¿Cuál es el valor esperado del ingreso para este grupo, el promedio poblacional? ¿Cuál es el valor esperado si, en lugar de tener su nivel educativo observado, todos fueran graduados de la escuela secundaria? ¿Qué pasaría si todos fueran graduados universitarios? ¿Cuál es la diferencia en estos valores - el efecto de la educación universitaria?

Estos son solo algunos ejemplos de los tipos de preguntas que podría responder. Continuaré con los nombres de variables x1, x2 y a, pero puede imaginar preguntas relevantes para su investigación.


Explorando el área de respuesta.

Empecemos desde el principio. Es posible que deseemos saber el valor esperado del resultado en un punto específico. Para obtener el valor esperado de y cuando a = 1, x1 = 2 y x2 = 5, podemos escribir:


Predecimos que y=12.7 en este punto.

Podemos evaluar en otro punto, digamos, a = 2, x1 = 2, y x2 = 5.


Con a = 2, el valor esperado de y ahora es 14.8.

Si nuestro interés está en el efecto de pasar de a = 1 a 2 cuando x1 = 2 y x2 = 5. Esto es solo un contraste: la diferencia en nuestros dos resultados previos. Usando el operador r.  de contraste con margins, podemos realizar una prueba de hipótesis sobre si estos dos valores son los mismos.


El intervalo de confianza para la diferencia no incluye el cero. Usando un nivel de confianza de 5%, encontramos que el valor esperado es significativamente diferente para estos dos puntos de interés.

Pero pudiera ser que estemos interesados en más que estos dos puntos, Continuemos manteniendo x2 = 5 y observemos un rango de valores para x1. Y estimamos los valores esperados en los tres niveles de a. En otras palabras, veamos una porción del área de respuesta tridimensional (en x2 = 5) y examinemos la relación entre otras dos variables.


Mejor aún, grafiquemos estos valores.


Encontramos que cuando x2 = 5, el valor esperado de y incrementa al hacerlo x1, y el valor esperado es menor para a = 3 que para a = 1 y a = 2 en todos los niveles de x1.

¿Pero es este patrón el mismo para otros valores de x2?

Tenemos sólo tres covariables. Así que podemos explorar fácilmente toda el área de respuesta. Veamos porciones adicionales en otros valores de x2. Aquí está el comando:


Esto produce una gran cantidad de salida, por lo que no lo mostraré. Pero aquí está el gráfico:


Ahora podemos ver que la superficie de respuesta cambia a medida que x2 cambia. Cuando x2 = 2, el valor esperado de y aumenta ligeramente a medida que x1 aumenta, pero casi no hay diferencia entre los niveles de a. Para x2 = 8, las diferencias entre los niveles de a son más pronunciadas y parecen tener un patrón diferente, aumentando con x1 y luego comenzando a nivelarse.

Anteriormente, escribimos r (1 2).a para probar la diferencia en los valores esperados cuando a = 1 y a = 2. Del mismo modo, podríamos escribir r (1 3).a para comparar a = 1 con a = 3. Podríamos hacer ambas comparaciones simplemente escribiendo r.a. Y podemos hacer esto a través de un rango de valores de x1 y x2. Solo cambiamos a a r.a en nuestro comando previo margins.


La leyenda en la parte superior de la salida nos dice que 1._at corresponde a x1 = 1 y x2 = 2. Los valores en paréntesis, como (2 vs 1), al inicio de cada línea de la tabla nos dicen qué valores de a se comparan en esa línea. Por lo tanto, la primera línea de la tabla proporciona una prueba que compara los valores esperados de y para a = 2 versus a = 1 cuando x1 = 1 y x2 = 2. Es cierto que esto es mucho que mirar, y probablemente sea más fácil de interpretar con un gráfico. Usamos marginsplot para graficar estas diferencias con sus intervalos de confianza. Esta vez, usemos la opción yline(0) para agregar una línea de referencia a 0. Esto nos permite realizar la prueba visualmente al verificar si el intervalo de confianza para la diferencia incluye 0.


En este caso, algunos de los intervalos de confianza son tan estrechos que son difíciles de ver. Si miramos de cerca el punto azul en el extremo izquierdo, vemos que el intervalo de confianza para la diferencia que compara a = 2 versus a = 1 cuando x1 = 1 y x2 = 2 (que corresponde a la primera línea en la salida anterior) incluye el 0. Esto indica que no hay una diferencia significativa en estos valores esperados. Podemos examinar cada uno de los otros puntos e intervalos de confianza de la misma manera. 

Por ejemplo, mirando la línea roja y los puntos en el tercer panel, vemos que el efecto de pasar de a = 1 a a = 3 es negativo y significativamente diferente de 0 para los valores x1 de 2, 3 y 4. Cuando x1 es 1, la estimación puntual del efecto sigue siendo negativa, pero ese efecto no es significativamente diferente de 0 en el nivel del 95%. Pero recordemos que deberíamos aumentar drásticamente la cantidad de repeticiones de arranque para hacer afirmaciones reales sobre los intervalos de confianza.

Hasta ahora, hemos comparado tanto a = 2 con a = 1 como a = 3 con a = 1. Pero no estamos limitados a hacer comparaciones con a = 1. Podríamos comparar 1 con 2 y 2 con 3, lo que a menudo tiene más sentido si los niveles de a tienen un orden natural. Para hacer esto, simplemente reemplazamos r. con ar. en nuestro comando de margins. No mostraré esa salida, pero tienes los datos y puedes probarlos si quieres.


Resultados promediados por población

Hasta ahora, hemos hablado sobre la evaluación de puntos individuales en su superficie de respuesta y cómo realizar pruebas para comparar los valores esperados en esos puntos. Ahora, cambiemos de marcha y hablemos de los resultados promediados por población.

Vamos a necesitar que el conjunto de datos sea representativo de la población. Si eso no es cierto para sus datos, querrá detenerse con los análisis que hicimos anteriormente. Asumiremos que nuestros datos son representativos para que podamos responder una variedad de preguntas basadas en predicciones promedio.

Primero, ¿cuál es el promedio de la población total esperada de esta superficie de respuesta?


Cualquiera que sea el proceso que generó esto, creemos que 15.6 es el valor esperado en la población y [15.3, 16.2] son los intervalos de confianza para él.

¿Difieren los promedios de la población cuando primero establecemos que todos tengan a = 1, luego establecemos que todos tengan a = 2, y finalmente establecemos que todos tengan a = 3? Veamos los promedios esperados para los tres.


Obtuvimos 18.4, 19.9 y 8.2. Parecen no ser iguales. Vamos a probar esta hipótesis.


En la literatura de inferencia causal o de efectos de tratamiento, las medias se considerarían promedios de resultados potenciales, y estas diferencias serían los efectos promedios de tratamiento de un tratamiento multivalor. Aquí el efecto promedio del tratamiento de a = 2 (comparado con a = 1) es 1.5

Vimos en la sección anterior la diferencia en valores esperados para los niveles de valores variados de x2. Estimamos las medias de los resultados potenciales y los efectos del tratamiento de a con diferentes valores de x2. Tenga en cuenta que estos siguen siendo promedios de población porque, a diferencia de la sección anterior, no estamos dando ningún valor especifico a x1. En cambio, las predicciones usan los valores observados de x1 en los datos. 


En lugar de ver la salida, grafiquemos estas medias de resultados potenciales.


El efecto de a se incrementa a medida que incrementa x2. El efecto es mayor cuando x2 = 8.

Ahora, podemos probar las diferencias a cada nivel de x2.


Nuevamente, veamos la gráfica.


La diferencia en medias cuando a = 3 y a = 1, el efecto de tratamiento no es significante cuando x2 = 2. Tampoco el efecto de a = 2 versus a = 1 cuando x2 = 5. Todos los demás efectos son significativamente distintos de 0.


Conclusión

En este blog, hemos explorado el área de respuesta de una función no lineal, hemos estimado una variedad de promedios poblacionales basados en nuestro modelo no paramétrico y hemos realizado diversas pruebas comparando los valores en puntos específicos del área de respuesta y pruebas de hipótesis comparando promedios poblacionales.

Sin embargo, sólo hemos arañado la superficie de los tipos de estimaciones y pruebas que puede obtener usando margins después de npregress. Hay operadores de contrastes adicionales que le permitirán probar las diferencias desde una gran media, diferencias con respecto a los niveles anteriores o posteriores, y más.

Vea [R] contrast para detalles de los operadores de contraste disponibles. También puede usar marginsplot para ver los resultados de los comandos margins desde diferentes ángulos. Por ejemplo, si escribimos marginsplot, bydimension (x1) en lugar de marginsplot, bydimension (x2), vemos nuestra superficie de respuesta no lineal desde una perspectiva diferente. Ver [R] marginsplot para detalles y ejemplos de este comando.

Ya sea que utilice la regresión no paramétrica u otro modelo, margins marginsplot son la solución para explorar los resultados, hacer inferencias y comprender las relaciones entre las variables que está estudiando.



Gracias por leer esta entrada. Para cotizaciones de licenciamiento, cursos y libros de Stata, favor de escribirnos a: info@multion.com

Este blog es administrado por MultiON Consulting S.A. de C.V.

lunes, 7 de mayo de 2018

Modelos de Equilibrio General Dinámico y Estocástico para análisis de políticas

El siguiente texto es una traducción al español del artículo original "Dynamic stochastic general equilibrium models for policy analysis" realizado por David Schenck, Econometra Senior.


¿Qué son los modelos DSGE?

Los modelos de equilibrio general dinámico y estocástico (DSGE, por sus siglas en inglés, Dynamic Stochastic General Equilibrium) son usados por macroeconometristas para modelar múltiples series de tiempo. Un modelo DSGE está basado en teoría económica. Una teoría tendrá ecuaciones sobre cómo se comportan los individuos o sectores de la economía y cómo interactúan estos sectores. Lo que surge es un sistema de ecuaciones cuyos parámetros pueden vincularse a las decisiones de los actores económicos. En muchas teorías económicas, los individuos toman acciones basadas, en parte, en los valores que esperan que las variables tomen en el futuro, y no solo en los valores que toman esas variables en el período actual. La fortaleza de los modelos de DSGE es que incorporan estas expectativas explícitamente, a diferencia de otros modelos con múltiples series de tiempo.

Los modelos DSGE a menudo se usan en el análisis de choques o contrafactuales. Un investigador puede someter el modelo económico a un cambio inesperado en la política o en el ambiente y ver cómo responden las variables. Por ejemplo, ¿cuál es el efecto de un aumento inesperado de las tasas de interés en el producto? O un investigador podría comparar las respuestas de las variables económicas con diferentes regímenes de política. Por ejemplo, un modelo podría usarse para comparar resultados bajo un régimen de impuestos altos versus impuestos bajos. Un investigador exploraría el comportamiento del modelo bajo diferentes configuraciones para los parámetros de tasa impositiva, manteniendo constantes otros parámetros.

En esta publicación, mostraré cómo estimar los parámetros de un modelo de DSGE, cómo crear e interpretar un impulso-respuesta, y cómo comparar el impulso-respuesta estimado a partir de los datos con un impulso-respuesta generado por un régimen de política contrafactual.


Estimar los parámetros del modelo

Tengo datos mensuales sobre la tasa de crecimiento de la producción industrial y las tasas de interés. Usaré estos datos para estimar los parámetros de un pequeño modelo DSGE. Mi modelo tiene solo dos agentes: empresas que generan producto (ip) y un banco central que establece tasas de interés (r). En mi modelo, el crecimiento de la producción industrial depende de la tasa de interés esperada en un período en el futuro y de otros factores exógenos. A su vez, la tasa de interés depende del crecimiento de la producción industrial contemporánea y de otros factores latentes. Llamo a los factores latentes que afectan la producción e y a los factores latentes que afectan las tasas de interés m.

En la jerga, los factores latentes se conocen como "variables de estado". Podemos imponer un choque a las variables de estado y rastrear cómo afecta ese choque al sistema. Especifico la evolución de m como un proceso AR (1). Para darle al modelo algunas dinámicas adicionales, especifico la evolución de e como un proceso AR (2). Mi modelo completo es:


Antes de discutir estas ecuaciones a mayor detalle, vamos a estimar los parámetros con dsge.


La primera ecuación es la ecuación de producción. Escribimos (1) en Stata como (ip = {alpha} * E (F.r) + e). Esta ecuación especifica el crecimiento de la producción industrial en función de las tasas de interés futuras esperadas. Esta tasa de interés aparece en esta ecuación dentro de un operador E(); E(F.r) representa el valor esperado de la tasa de interés un período por delante. Piense en alpha como un parámetro establecido por las empresas y tomado como dado por los hacedores de política. El valor estimado de alpha es negativo, lo que implica que el crecimiento de la producción industrial disminuye cuando las empresas esperan enfrentar un período de mayores tasas de interés.

La segunda ecuación es la ecuación de la tasa de interés. Escribimos (2) en Stata como (r = {beta} * ip + m). Piense en beta como un parámetro establecido por los hacedores de política; mide qué tan fuertemente los hacedores de política reaccionan a los cambios en la producción. Vemos que la estimación de beta es positiva. Los hacedores de política tienden a aumentar las tasas de interés cuando la producción es alta y recortar las tasas de interés cuando la producción es baja. Sin embargo, el coeficiente de respuesta estimado es bastante pequeño. Pensaremos en el coeficiente de ip como representación de una política sistemática (cómo los hacedores de política responden directamente a la producción industrial) y pensemos que la variable de estado m representa la política discrecional (u otros factores que afectan las tasas de interés además de la política).

La tercera ecuación es una ecuación autorregresiva de primer orden para m, la variable que captura la política discrecional que afecta las tasas de interés. Escribimos (3) en Stata como (F.m = {rho} * m, state). Las variables de estado están predeterminadas, por lo que la convención temporal en dsge es que las ecuaciones de estado se especifican en términos del valor de la variable de estado un período por delante (F.m). Las ecuaciones de estado también se marcan con la opción state. El error v(t+1) está incluido por defecto. El parámetro rho autorregresivo estimado es positivo y captura la persistencia de la tasa de interés.

El modelo tiene cuatro ecuaciones, pero el comando dsge incluye cinco ecuaciones. La ecuación (4) especifica un proceso AR (2) para factores exógenos que afectan el crecimiento de la producción industrial. Para especificar esta ecuación al dsge, necesito dividirla en dos partes, y esas dos piezas se convierten en las dos últimas ecuaciones en el modelo. Para obtener más información, consulte la nota al pie al final de esta publicación. Los parámetros en estas ecuaciones theta1 y theta2 capturan la persistencia en el crecimiento de la producción industrial.


Explorar un choque en el modelo: impulso-respuestas

A continuación, agregamos los choques al modelo y rastreamos sus efectos en la producción industrial. Para hacer esto, necesitamos establecer un archivo de función impulso-respuesta (IRF) y almacenar las estimaciones en él. El comando irf set crea un archivo, dsge_irf.irf, para contener nuestros IRF. El comando irf create estimated crea un conjunto de impulso-respuesta usando las estimaciones actuales de dsge. El comando irf create crea un conjunto completo de todas las respuestas a todos los impulsos posibles. En nuestro modelo, esto significa que ambas variables de estado e y m están impactadas, y la respuesta se registra para ip y r. Finalmente, usaremos el comando irf graph irf para elegir qué respuestas trazar y qué impulsos dirigen esas respuestas. Solo graficamos la respuesta de ip para cada uno de los impulsos e y m.


Cada panel muestra la respuesta de la producción industrial a un choque. Debido a que nuestros datos se miden en tasas de crecimiento, el eje vertical también se mide en tasas de crecimiento. Por lo tanto, un valor de "4" en el panel de la izquierda significa que después de un choque de una desviación estándar, la producción industrial crece cuatro puntos porcentuales más rápido de lo que lo haría. El eje horizontal es el tiempo; ya que usamos datos mensuales, el tiempo está en meses, y 12 pasos representan 1 año.

El panel de la izquierda muestra la respuesta de la producción industrial a un aumento en e, el factor latente que afecta la producción. La producción industrial aumenta, alcanzando su máximo un período después del choque, para después volver a establecerse en el equilibrio a largo plazo. El efecto del shock desaparece rápidamente; la producción industrial vuelve al equilibrio de largo plazo dentro de 12 períodos (1 año de observaciones mensuales).

El panel de la derecha muestra la respuesta de la producción industrial a un aumento en m, que tiene una interpretación natural como un alza inesperada en las tasas de interés. El tamaño de un choque es de una desviación estándar, que a partir de la tabla de estimaciones dsge anterior es un aumento inesperado en las tasas de interés de alrededor de 0.546, o alrededor de la mitad de un punto porcentual. En respuesta, vemos en el gráfico que el crecimiento de la producción industrial cae en aproximadamente un tercio de un punto porcentual y permanece bajo durante más de 24 períodos. Todas las variables en un modelo DSGE son estacionarias, por lo que, en el largo plazo, el efecto de un choque desaparece y las variables vuelven a su media de largo plazo que es cero.


Explorar política sistemática: un cambio en el régimen

A continuación, contemplamos un cambio en el régimen de políticas. Supongamos que los hacedores de políticas reciben instrucciones para suavizar las fluctuaciones en la producción industrial que resultan de los choques a e. En términos del modelo, esta instrucción estaría representada por un cambio del coeficiente de respuesta beta, visto en los datos como relativamente bajo, a uno mayor.

El comando dsge con las opciones from() y solve  permite rastrear un impulso-respuesta desde cualquier conjunto de parámetros arbitrarios. Aprovecharemos esta característica ahora. Primero, almacenamos el vector de parámetro estimado en una matriz de Stata:


A continuación, reemplazamos el coeficiente beta con un coeficiente de respuesta más grande. Para fines ilustrativos, uso un coeficiente de respuesta de 0.8 en lugar de 0.02. Los vectores de parámetros viejos y nuevos son:


Como se esperaba, son idénticos excepto por la entrada beta. A continuación, volvemos a correr el dsge con el nuevo vector de parámetros usando from() y resolve.


Utilizamos este nuevo vector de parámetros para crear un nuevo conjunto de IRFs que llamaremos contrafactual.


Finalmente, graficamos las respuestas bajo los vectores de parámetros estimados y contrafácticos con irf ograph:


La política más agresiva ha amortiguado la respuesta de la producción industrial al choque. El hacedor de políticas podría experimentar con otros valores de beta hasta que encuentre un valor que amortigüe la respuesta de la producción industrial en la cantidad deseada.


Apéndice

Datos

Utilicé datos sobre la tasa de crecimiento de la producción industrial y sobre la tasa de interés de los fondos federales. Ambas series están disponibles mensualmente en la base de datos de la Reserva Federal de St. Louis, FRED. El comando import fred de Stata importa datos FRED. Los códigos son INDPRO para producción industrial y FEDFUNDS para la tasa de fondos federales.

Genero la variable ip como la tasa de crecimiento trimestral anualizada de la producción industrial y utilizo una muestra de 1954 a 2006.



Especificando ecuaciones de estado con rezagos largos

Ver también [DSGE] intro 4c.

Observe que las variables de estado se escriben en forma espacio-estado en términos de sus valores de un período por delante. Para un proceso AR (1), esto es fácil. La ecuación


Se convierte de la siguiente forma en Stata:


Pero para un proceso AR (2), la ley de movimiento para la variable de estado es


Que dividimos en dos ecuaciones:


Estas dos ecuaciones se convierten, en Stata,


Donde la opción nonshock en la última ecuación especifica que es exacta.

Ver también  [TS] sspace example 5, donde un truco similar es usado.



¡Gracias por entrar a nuestro Blog!



>>> Accede al artículo original aquí.
>>> Accede a nuestro micrositio Stata aquí.


Este blog es administrado por MultiON Consulting S.A. de C.V.

miércoles, 25 de abril de 2018

Análisis de Componentes Principales dentro del Análisis de Preferencias

Introducción

El análisis de componentes principales (PCA, por sus siglas en inglés) es una técnica estadística útil para la reducción de datos. Ayuda a reducir el número de variables en un análisis al describir una serie de combinaciones lineales no correlacionadas de las variables que contienen la mayor parte de la varianza. Además de la reducción de datos, los eigenvectores de un PCA a menudo se inspeccionan para conocer más sobre la estructura subyacente de los datos. Por lo tanto, el PCA es una herramienta estadística exploratoria que no permite, en general, someter hipótesis a prueba.

El objetivo del PCA es encontrar combinaciones lineales de las variables con mayor varianza. El primer componente principal tiene una varianza general máxima, el segundo componente principal tiene una varianza máxima entre todas las combinaciones lineales que no están correlacionadas con el primer componente principal; mientras que el último componente principal tiene la varianza más pequeña entre todas las combinaciones lineales de las variables. Esto hace del PCA una transformación lineal de los datos. Es importante recalcar que no se está suponiendo que los datos satisfagan un modelo estadístico específico.

En esta entrada haremos un PCA sobre la calificación que dan un grupo de expertos a 10 distintas marcas de papas fritas, con la finalidad de apoyar en la decisión sobre las características que debe tener un nuevo producto para ser del agrado de los consumidores según la opinión de los expertos. Dicho proceso es conocido por ser parte del análisis de preferencias que usualmente realizan en algunos estudios de mercado cuantitativos.


Datos

Los datos corresponden a una base ficticia, donde se reporta por parte de un grupo de expertos su calificación para distintas características de 10 marcas distintas de papas fritas en el mercado, cierta empresa quiere reconocer las fortalezas y las debilidades del producto según el gusto de los expertos para posicionar una nueva marca en el mercado.
Realizamos una inspección sobre la correlación entre características analizadas.

  • use expertos
  • corr crujiente-dulzor



Como podría esperarse tenemos correlaciones positivas entre lo crujiente del producto con otras características como la dureza, la sensación de estar sobre cocido y el de ser un producto poco natural (artificial). Así como una correlación negativa con características opuestas como la fragilidad y la frescura del producto, pues se observa que hay una percepción de que un producto crujiente es menos fresco y más artificial.

Estamos trabajando con variables que no se pueden medir de una forma convencional, pues no tienen una unidad de medida específica, por lo cual el PCA se fundamentará en la matriz de correlaciones.


  • sum crujiente-dulzor, sep(0)




PCA

Parar realizar el análisis en Stata sólo tenemos que teclear la siguiente línea en la barra de comandos:


  • pca crujiente-dulzor



El primer panel que nos muestra Stata corresponde a los eigenvalores de la matriz de correlación, ordenados de mayor a menor; los eigenvectores correspondientes a dichos valores propios están en el siguiente panel.


Los loadings de nuestros (9) componentes principales, se encuentran normalizados a 1, lo que significa que la suma columna del cuadrado de los loadings es igual a 1.

Como estamos analizando una matriz de correlación, las variables están estandarizadas para tener una varianza unitaria, por lo que la varianza total es 11. Los valores propios son las varianzas de los componentes principales. Los eigenvalores son las varianzas de los componentes principales. El primer componente principal tiene una varianza de 4.83, que explica el 43% (4.83 / 11) de la varianza total. El segundo componente principal tiene una varianza de 2.78 o 25% (2.78 / 11) de la varianza total. Estos componentes principales no están correlacionados. 

Asimismo, podemos decir que los primeros dos componentes explican la suma de las varianzas individuales de los mismos, 43%+25%=69%, del total de la varianza. Los 11 componentes principales combinados explican el total de la varianza de las variables, por lo tanto, las varianzas no explicadas enlistadas en el segundo panel son igual a cero con un Rho=1.00, tal como se observa en el primer panel. Además, podemos observar que a partir del noveno componente principal el total de nuestra varianza está explicada, sin embargo, debemos de tomar en cuenta las 11 variables para el calculo de las varianzas explicadas por cada componente.


Observamos que en los primeros 4 componentes se logra explicar el 92% de la varianza total, por lo cual podemos enfocarnos sólo a estos componentes al solicitarlo a través del comando siguiente:


  • pca crujiente-dulzor, components(4)




Podemos ver como sólo el segundo panel presentado se ve afectado, pues dimos la indicación a Stata que sólo se calcularan 4 componentes principales, obteniendo también, un componente no explicado de la varianza, el cual es igual a la suma de cuadrados de los loadings ponderados por sus respectivos eigenvalores, la cual es aproximadamente del 8% (1-0.92).

A manera de nota, hay literatura y algunos softwares que tratan el PCA en combinación con el análisis factorial y tienden a mostrar los loadings de los componentes principales con una normalización asociada a los propios eigenvalores en vez de normalizarlos a 1. Para realizar esto, basta con escribir el siguiente comando:

  • estat loadings, cnorm(eigen)

Ahora podemos definir cuáles son las características de los productos que tienen un mayor peso en algunos componentes, con la finalidad de observar qué características dentro del nuevo producto deben ser las más cuidadas.


  • loadingplot



De manera predeterminada, Stata gráfica los loadings de los componentes 1 y 2. En este gráfico podemos notar que las características dureza, artificial y salado, son las preponderantes en ambos componentes, por lo que debe ponerse especial atención en dichas características en el proceso de elaboración del producto; en donde tal vez el producto deba tener la dureza que tienen ya algunas marcas o mayor, donde el sabor sea lo menos artificial posible y donde el sabor salado sea preponderante.

Dentro de estas observaciones, la marca que cumple mejor estos criterios dentro de los dos componentes principales es la marca 8. Misma que serviría de referencia para la elaboración de un nuevo producto, y donde se tendría que mejorar ciertas características como la sensación de ser un producto muy artificial. Esto lo podemos visualizar con el siguiente comando:

  • scoreplot, mlabel(Papas)




Conclusión

Gracias a las herramientas que ofrece Stata para realizar PCA, se pueden analizar y tomar decisiones en el ámbito de la mercadotecnia para realizar análisis de preferencias, tal como lo vimos en este ejemplo.


Referencias

Stata Press. 2017. STATA Multivariate Statistics Refrence Manual, Release 15. College Station, Texas.

Para cotizaciones e información sobre Stata, escríbenos a: info@multion.com

Este blog es administrado por MultiON Consulting S.A. de C.V.

viernes, 16 de marzo de 2018

Modelo Minceriano para los jefes de hogares en México

¡Hola! Gracias por entrar a nuestro blog dedicado a usuarios Stata de habla hispana. A continuación una entrada más:


Introducción.

Jacob Mincer, considerado por muchos como el padre de la economía laboral moderna, desarrolló en 1974 un estudio a través de la cual se estima el impacto de un año adicional de estudios en los ingresos laborales de los individuos.


La ecuación tradicional de Mincer, se estima por mínimos cuadrados ordinarios (MCO) en un modelo semilogarítmico, usando como variable dependiente el logaritmo de los ingresos y como variables independientes los años de educación, la experiencia laboral y el cuadrado de dicha experiencia. Los datos utilizados para su estimación son de carácter transversal. Dicho modelo sigue la siguiente especificación:


Donde:

Salario: es el salario del individuo i.
Educación: es el número de años de educación formal completada.
Experiencia: son los años de experiencia laboral.
e: es el término de perturbación aleatoria que se distribuye como una Normal.
En esta entrada nos ocuparemos de estimar dicha relación con datos de la Encuesta Nacional de Ingresos y Gastos de los Hogares (ENIGH) del año 2016 para los jefes de hogar en México, utilizando las herramientas que Stata nos ofrece para hacer un análisis de regresión lineal múltiple.



Datos

Los datos corresponden a los reportados por el Instituto Nacional de Estadística y Geografía (INEGI) en la ENIGH 2016. A diferencia del estudio de Mincer, en este ejemplo utilizaremos los ingresos corrientes trimestrales de los jefes de hogar como variable proxy de sus salarios.

Para definir las variables del modelo minceriano, ya que no se encuentran de forma explícita en la base de datos, se creo la variable educación, la cual sumaba los años completos de educación de los jefes de hogar capturados en la variable “nivelaprob”.

. generate educación=0
. replace educacion=1  if nivelaprob==1
. replace educacion=7  if nivelaprob==2
. replace educacion=10 if nivelaprob==3
. replace educacion=13 if nivelaprob==4
. replace educacion=16 if nivelaprob==5
. replace educacion=15 if nivelaprob==6
. replace educacion=18 if nivelaprob==7
. replace educacion=20 if nivelaprob==8

. replace educacion=23 if nivelaprob==9

Para determinar la experiencia laboral de la persona se trabajo bajo el supuesto que después de su último grado de estudios terminado, inmediatamente ingresó al mercado laboral; por lo cual la experiencia se definió de la siguiente manera:

. gen exper=edad_jefe-educacion-6
. gen exper2=exper*exper

En nuestra base de datos se consideró sólo a jefes de hogar que reunían ciertas características necesarias para poder catalogarlos dentro del sector laboral de carácter formal e informal. Por lo que nuestra base de datos quedó de la siguiente manera.

. describe


Podemos observar más de la naturaleza descriptiva de los datos a través del comando summarize, al cual le añadiremos la especificación de que haga los cálculos a nivel poblacional a través de aplicar el factor de expansión.


. summarize [fweight = factor]

Nos percatamos de que la muestra que estamos trabajando contiene 26 millones 406 mil 417 hogares; estos no son la totalidad de hogares en México, por lo cual no podemos decir que estamos haciendo el cálculo poblacional sino sólo aplicando el factor de expansión a nuestra muestra.

Los ingresos van desde cero a los 35 millones trimestrales, los años de educación van de cero a los 23 años -indicando a quienes tienen doctorado-, y la variable experiencia alcanza los 91 años pues nuestra base contiene a jefes de hogar mayores a los 97 años.



Regresión lineal múltiple

Para realizar la regresión múltiple en Stata, primero lo haremos con nuestras series en niveles sin expandir los resultados con el factor de expansión, después lo haremos expandiendo los resultados con nuestro factor y por último lo haremos con la forma funcional propuesta por Mincer.
Para el primer ejemplo escribiremos en Stata el siguiente comando:

. regress ing_cor educacion exper exper2


Obtenemos un modelo estadísticamente significativo en general (Prob > F = 0.0000), y de igual forma para cada uno de nuestros parámetros (P>|t|=0.000). Encontramos los signos esperados: una relación positiva entre el ingreso corriente y los años de educación y de experiencia, indicándonos que, si los individuos incrementan en un año su nivel educativo y su experiencia laboral, percibirán un incremento en sus ingresos corrientes trimestrales de $5,327 y $1,294, respectivamente. El signo negativo de la variable experiencia al cuadrado nos confirma que después de cierto número de años de experiencia laboral los ingresos corrientes comienzan a decrecer.


Ampliaremos el análisis aplicando el factor de expansión de la muestra:

. regress ing_cor ducación exper exper2 [pw=factor]

Al igual que la primera regresión, tenemos un modelo y unos parámetros estadísticamente significativos. Inmediatamente después del comando Stata nos notifica la suma del factor de expansión, coincidiendo con los 26 millones de hogares dentro de la muestra expandida. En este caso, las remuneraciones por cada año de estudio y de experiencia laboral se incrementan a $6,756 y $1,605, respectivamente. El signo negativo de la experiencia al cuadrado nos sigue confirmando lo visto anteriormente.


Para nuestro tercer ejemplo, generaremos una nueva variable que contenga los logaritmos de la variable ingreso corriente, por lo cual escribiremos en la barra de comandos de Stata:

. gener lic= log( ing_cor )

Stata nos informa que se generaron dos valores perdidos, lo cual es normal si recordamos que teníamos dos observaciones con el ingreso corriente igual a cero. Ahora escribimos el siguiente comando:


. regress lic educacion exper exper2 [pw=factor]

Esta es la forma funcional logarítmica-lineal calculada por Mincer en su estudio, aplicada a nuestros datos muestrales expandidos. En este caso encontramos que tanto el modelo como los parámetros son estadísticamente significativos. Los coeficientes de nuestra regresión deben ser multiplicados por cien para poder hacer una lectura correcta de los mismos.

Si los individuos incrementan un año su nivel educativo, el ingreso corriente trimestral crecerá en promedio 9.7 por ciento; mientras que, si los individuos incrementan su experiencia laboral en un año, su ingreso corriente se incrementará en promedio 2.3 por ciento y, después de pasar determinados años de experiencia, un año más de experiencia implicaría que el ingreso corriente caiga en 0.02 por ciento. 



Conclusión

A través del ejercicio utilizamos las herramientas que nos brinda Stata para administrar bases de datos y para elaborar reportes de estas (generate, replace, summarize, describe). Además de utilizar la herramienta básica de análisis estadístico inferencial regress, con la cual pudimos elaborar una regresión lineal múltiple con datos reales de la economía mexicana, encontrando una relación teorizada por Jacob Mincer.

Gracias por leernos.



Referencias

Mincer, Jacob. 1974. Schooling, Experience and Earnings.  National Bureau of Economic Research, New York.

Instituto Nacional de Estadística y Geografía (INEGI). 2016. Encuesta Nacional de Ingresos y Gastos de los Hogares (ENIGH).  México. Consultar en: 




Este blog es administrado por MultiON Consulting S.A. de C.V.