Bienvenido al Instituto de Investigación y Educación Digital Stata Data Analysis Examples Robust Regression Version info. El código para esta página se probó en Stata 12. La regresión robusta es una alternativa a la regresión de mínimos cuadrados cuando los datos están contaminados con valores atípicos o observaciones influyentes y también puede usarse con el propósito de detectar observaciones influyentes. Nota: El propósito de esta página es mostrar cómo usar varios comandos de análisis de datos. No abarca todos los aspectos del proceso de investigación que se espera que hagan los investigadores. En particular, no cubre la limpieza y comprobación de datos, la verificación de supuestos, el diagnóstico del modelo o los posibles análisis de seguimiento. Introducción Comencemos nuestra discusión sobre regresión robusta con algunos términos en la regresión lineal. Residuales. La diferencia entre el valor predicho (basado en la ecuación de regresión) y el valor real observado. Atípico En la regresión lineal, un outlier es una observación con gran residuo. En otras palabras, es una observación cuyo valor de variable dependiente es inusual dado su valor en las variables predictoras. Un outlier puede indicar una peculiaridad de la muestra o puede indicar un error de entrada de datos u otro problema. Apalancamiento. Una observación con un valor extremo en una variable predictora es un punto con alto apalancamiento. El apalancamiento es una medida de hasta qué punto una variable independiente se desvía de su media. Los altos puntos de apalancamiento pueden tener una gran cantidad de efecto sobre la estimación de los coeficientes de regresión. Influencia . Se dice que una observación es influyente si la eliminación de la observación cambia sustancialmente la estimación de los coeficientes de regresión. La influencia puede ser pensada como el producto del apalancamiento y la outlierness. Cooks distance (o Cooks D): Una medida que combina la información de apalancamiento y residual de la observación. Puede utilizarse una regresión robusta en cualquier situación en la que se utilice la regresión por mínimos cuadrados. Al ajustar una regresión de mínimos cuadrados, podríamos encontrar algunos puntos extremos o puntos de datos de apalancamiento alto. Hemos decidido que estos puntos de datos no son errores de entrada de datos, ni son de una población diferente a la mayoría de nuestros datos. Así que no tenemos ninguna razón convincente para excluirlos del análisis. La regresión robusta puede ser una buena estrategia, ya que es un compromiso entre excluir estos puntos enteramente del análisis e incluir todos los puntos de datos y tratarlos todos igualmente en la regresión OLS. La idea de una regresión robusta es sopesar las observaciones de manera diferente en función de lo bien que se comportan estas observaciones. A grandes rasgos, es una forma de regresión de mínimos cuadrados ponderada y ponderada. El comando Statas rreg implementa una versión de regresión robusta. Primero ejecuta la regresión OLS, obtiene los Cocineros D para cada observación y luego descarta cualquier observación con una distancia Cooks mayor que 1. Luego comienza el proceso de iteración en el cual los pesos se calculan sobre la base de residuos absolutos. La iteración se detiene cuando el cambio máximo entre los pesos de una iteración a la siguiente está por debajo de la tolerancia. Se utilizan dos tipos de pesos. En la ponderación de Huber, las observaciones con residuos pequeños obtienen un peso de 1, cuanto mayor sea el residuo, menor será el peso. Con la bi-ponderación, todos los casos con un residuo no nulo se ponen ponderados por lo menos un poco. Los dos tipos diferentes de peso se utilizan porque los pesos de Huber pueden tener dificultades con los valores extremos severos, y los pesos biológicos pueden tener dificultades convergentes o pueden dar múltiples soluciones. El uso de los pesos de Huber primero ayuda a minimizar los problemas con las biweights. Puede ver la historia de iteración de ambos tipos de pesos en la parte superior de la salida de regresión robusta. Usando los valores predeterminados de Stata, la regresión robusta es aproximadamente 95 tan eficiente como OLS (Hamilton, 1991). En resumen, los puntos más influyentes son eliminados, y luego los casos con grandes residuos absolutos son ponderados. Descripción de los datos Para nuestro análisis de datos a continuación, usaremos el conjunto de datos sobre delitos. Este conjunto de datos aparece en Métodos Estadísticos para las Ciencias Sociales, Tercera Edición de Alan Agresti y Barbara Finlay (Prentice Hall, 1997). Las variables son estado id (sid), estado nombre (estado), crímenes violentos por cada 100.000 personas (delincuencia), asesinatos por 1.000.000 (homicidio), el porcentaje de población que vive en áreas metropolitanas (pctmetro), el porcentaje de población que Es blanco (pctwhite), porcentaje de la población con una educación secundaria o superior (pcths), porcentaje de la población que vive bajo la línea de pobreza (pobreza) y porcentaje de la población que son padres solteros. Tiene 51 observaciones. Vamos a utilizar la pobreza y la única para predecir el crimen. Análisis de regresión robusto En la mayoría de los casos, comenzamos por ejecutar una regresión OLS y hacer algunos diagnósticos. Comenzaremos por ejecutar una regresión OLS. La trama lvr2 se utiliza para crear un gráfico que muestra el apalancamiento en comparación con los residuos cuadrados y la opción mlabel se utiliza para etiquetar los puntos en el gráfico con la abreviatura de dos letras para cada estado. Como podemos ver, DC, Florida y Mississippi tienen un alto nivel de apalancamiento o grandes residuos. Permite calcular Cooks D y mostrar las observaciones que tienen valores relativamente grandes de Cooks D. Para ello utilizamos el comando predict con la opción cooksd para crear una nueva variable llamada d1 que contiene los valores de Cooks D. Otro punto de corte convencional Es 4 / n. Donde n es el número de observaciones en el conjunto de datos. Utilizaremos este criterio para seleccionar los valores a mostrar. Dado que DC tiene un Cooks D mayor que 1, rreg asignará un peso faltante a él por lo que será excluido del análisis de regresión robusto. Probablemente deberíamos dejar caer DC para empezar ya que ni siquiera es un estado. Lo incluimos en el análisis sólo para demostrar que tiene grandes cocineros D y será eliminado por rreg. Ahora examinaremos los residuos. Volveremos a usar el comando predict, esta vez con la opción rstandard. Generaremos una nueva variable llamada absr1. Que es el valor absoluto de los residuos estandarizados (porque el signo del residual no importa). El comando gsort se utiliza para ordenar los datos por orden descendente. Ahora vamos a ejecutar nuestra regresión robusta y vamos a hacer uso de la opción de generar que Stata guardar los pesos finales a una nueva variable que llamamos peso en el conjunto de datos. Comparando la regresión OLS y modelos de regresión robustos, podemos ver que los resultados son bastante diferentes, especialmente con respecto a los coeficientes de single. También notará que no R-cuadrado, ajustado R-cuadrado o MSE raíz de salida rreg. Obsérvese que el número de observaciones en el análisis de regresión robusto es de 50, en lugar de 51. Esto se debe a que la observación para DC se ha reducido, ya que su Cooks D es mayor que 1. También podemos ver que se está reduciendo mirando el final peso. Ahora veamos otras observaciones con un peso relativamente pequeño. A medida que el residuo disminuye, el peso sube. En otras palabras, los casos con un gran residuo tienden a ser ponderados, y los valores de los cocineros D no corresponden estrechamente a los pesos. Este resultado nos muestra que la observación para Mississippi será la más ponderada. Florida también será sustancialmente ponderado. En la regresión OLS, todos los casos tienen un peso de 1. Por lo tanto, cuanto más casos en la regresión robusta que tienen un peso cercano a uno, más se acercan los resultados de la MCO y las regresiones robustas. También podemos visualizar esta relación mediante la representación gráfica de los puntos de datos con la información de peso como el tamaño de los círculos. Muchos comandos post-estimación están disponibles después de ejecutar rreg. Como comando de prueba y comando de márgenes. Por ejemplo, podemos obtener los valores pronosticados con respecto a un conjunto de valores de variable única que contiene la pobreza en su media. Esta tabla muestra que a medida que el porcentaje de padres solteros aumenta también lo hace la tasa de delincuencia prevista. Cosas a considerar Hay otros comandos de Stata para la regresión robusta escrita por los usuarios de Stata. Por ejemplo, mregress y mmregress por Verardi y Corux implementado M-estimador más eficaz y MM-estimador. Uno puede obtener estos comandos a través de quot findit mregress quot o quot findit mmregress quot. Usted podría estar interesado en obtener R-cuadrado y otros índices de ajuste de modelo, como AIC o BIC después de ejecutar rreg. Esta es una página que describe un programa escrito por el usuario para obtener estas medidas. Rreg no aborda cuestiones de heterogeneidad de varianza. Este problema se puede solucionar utilizando la opción robusta con el comando regress. Véase también Referencias Li, G. 1985. Regresión robusta. En exploración de tablas de datos, tendencias y formas. Ed. D. C. Hoaglin, F. Mosteller y J. W. Tukey, Wiley. Verardi, V y Croux, C. 2009. Robusta regresión en Stata. The Stata Journal, Vol. 9. No 3 John Fox, Análisis de regresión aplicado, modelos lineales y modelos relacionados. Sage publications, Inc, 1997 El contenido de este sitio web no debe ser interpretado como un endoso de cualquier sitio web, libro o producto de software en particular por la Universidad de California. Stata: Análisis de Datos y Software Estadístico Ramsey prueba de error de especificación de regresión para omitido Variables Cook y Weisberg para la heteroscedasticidad Factores de variación-inflación Distancia de cocción COVRATIO DFBETAs DFITs Elementos diagonales de la matriz de sombreros Residuos, residuos estandarizados, residuos estudiados Errores estándar de la predicción, predicción y residuos Distancia de Welsch Bajo el encabezamiento de los mínimos cuadrados, Modelos de regresión, modelos de variables instrumentales, regresión lineal restringida, mínimos cuadrados no lineales y modelos de mínimos cuadrados de dos etapas. (Stata también puede ajustarse a los modelos de regresión cuantil, que incluyen la regresión mediana o la minimización de las sumas absolutas de los residuos.) Después de ajustar un modelo de regresión lineal, Stata puede calcular predicciones, residuos, residuales estandarizados y residuales studentized (jackknifed) De la predicción y los residuos la influencia mide la distancia de Cookrsquos, COVRATIO, DFBETAs, DFITS, apalancamiento, y Welschrsquos distancia variación-factores de inflación pruebas de especificación y pruebas de heterocedasticidad. Entre las herramientas de diagnóstico adecuadas se encuentran las parcelas de variable agregada (también conocidas como parcelas de influencia parcial de regresión, parcelas de regresión parcial o parcelas residuales parciales ajustadas), parcelas de componente más residuales (también conocidas como parcelas residuales parciales aumentadas) (O parcelas de LR), parcelas residuales versus adaptaciones y parcelas residuales versus predictoras (o parcelas variables independientes). Cada herramienta está disponible escribiendo un comando. Por ejemplo, letrsquos comienza con un conjunto de datos que contiene el precio, peso, mpg y origen (extranjero o EE. UU.) para 74 coches: Hemos utilizado variables de factores en el ejemplo anterior. El término foreignc. mpg especifica incluir un factorial completo de las variablesmdashmain efectos para cada variable y una interacción. La C. Sólo dice que mpg es continua. Regress es el comando de regresión lineal de Statarsquos. Todos los comandos de estimación tienen la misma sintaxis: el nombre de la variable dependiente seguida de los nombres de las variables independientes. Después de la estimación, podemos revisar las gráficas de diagnóstico: Typing rvfplot muestra un gráfico residual-versus-equipado, aunque creamos el gráfico anterior escribiendo rvfplot, yline (0) dibujó una línea a través del gráfico en 0. Que se puede discernir un patrón Indica que nuestro modelo tiene problemas. Obtenemos un gráfico de apalancamiento escribiendo: avplot dibuja gráficos de variables agregadas, tanto para las variables que se encuentran actualmente en el modelo como para las variables que aún no están en el modelo: Las parcelas de variable agregada son tan útiles que valen la pena revisar para cada variable del modelo: El gráfico de arriba es una imagen de Stata y se creó escribiendo avplots. El gráfico combinado es útil porque sólo tenemos cuatro variables en nuestro modelo, aunque Stata dibujaría el gráfico incluso si tuviéramos 798 variables en nuestro modelo. Sin embargo, los gráficos individuales serían demasiado pequeños para ser útiles. Es por eso que hay un comando avplot. Explorar la influencia de las observaciones de otras maneras es igualmente fácil. Por ejemplo, podríamos obtener una nueva variable llamada Cook que contiene la distancia de Cookrsquos y luego enumerar observaciones sospechosas escribiendo Podríamos obtener todas las DFBETAs y luego enumerar las cuatro observaciones que tienen la influencia más negativa sobre el coeficiente foráneo y las cuatro observaciones que tienen la más positiva Influencia por tipografíaBienvenido al Instituto de Investigación y Educación Digital Stata Web Books Regresión con Stata Capítulo 2 - Diagnóstico de Regresión Esquema del Capítulo 2.0 Diagnóstico de Regresión 2.1 Datos Inusuales e Influyentes 2.2 Verificación de la Normalidad de Residuos 2.3 Verificación de la Homocedasticidad 2.4 Verificación de Multicolinealidad 2.5 Verificación de la Linearidad 2.6 Especificación del Modelo 2.7 Cuestiones de Independencia 2.8 Resumen 2.9 Autoevaluación 2.10 Para más información 2.0 Regression Diagnostics En el capítulo anterior aprendimos a hacer la regresión lineal ordinaria con Stata, concluyendo con métodos para examinar la distribución de nuestras variables. Sin comprobar que sus datos han cumplido con los supuestos que subyacen a la regresión OLS, sus resultados pueden ser engañosos. Este capítulo explorará cómo puede utilizar Stata para comprobar en qué medida sus datos cumplen con los supuestos de regresión OLS. En particular, consideraremos los siguientes supuestos. Linealidad - las relaciones entre los predictores y la variable de resultado deben ser lineales Normalidad - los errores deben ser distribuidos normalmente - técnicamente sólo es necesaria la normalidad para que las pruebas de hipótesis sean válidas, la estimación de los coeficientes sólo requiere que los errores sean idéntica e independientemente distribuidos Homogeneidad De la varianza (homoscedasticidad) - la varianza del error debe ser constante Independencia - los errores asociados a una observación no están correlacionados con los errores de cualquier otra observación Errores en las variables - las variables predictoras se miden sin error (cubriremos esto en el Capítulo 4) Además, hay cuestiones que pueden surgir durante el análisis que, si bien estrictamente no son suposiciones de regresión, son sin embargo, de gran preocupación para Analistas de datos. Influencia - observaciones individuales que ejercen una influencia indebida sobre los coeficientes La colinearidad - predictores altamente colineales, es decir, relacionados linealmente, puede causar problemas en la estimación de los coeficientes de regresión. Muchos métodos gráficos y pruebas numéricas se han desarrollado a lo largo de los años para el diagnóstico de regresión. Stata tiene muchos de estos métodos incorporados, y otros están disponibles que se pueden descargar a través de Internet. En particular, Nicholas J. Cox (Universidad de Durham) ha producido una colección de comandos de conveniencia que se pueden descargar desde SSC (ssc install commandname). Estos comandos incluyen indexplot. Rvfplot2. Rdplot. Qfrplot y ovfplot. En este capítulo, exploraremos estos métodos y mostraremos cómo verificar los supuestos de regresión y detectar posibles problemas con Stata. 2.1 Datos inusuales e influyentes Una sola observación que es sustancialmente diferente de todas las demás observaciones puede hacer una gran diferencia en los resultados de su análisis de regresión. Si una sola observación (o un grupo pequeño de observaciones) cambia sustancialmente sus resultados, usted querría saber sobre esto e investigar más. Hay tres maneras en que una observación puede ser inusual. Outliers. En la regresión lineal, un outlier es una observación con gran residuo. En otras palabras, es una observación cuyo valor de variable dependiente es inusual dado sus valores en las variables predictoras. Un outlier puede indicar una peculiaridad de la muestra o puede indicar un error de entrada de datos u otro problema. Apalancamiento. Una observación con un valor extremo en una variable predictora se denomina punto con alto apalancamiento. El apalancamiento es una medida de hasta qué punto una observación se desvía de la media de esa variable. Estos puntos de apalancamiento pueden tener un efecto sobre la estimación de los coeficientes de regresión. Influencia . Se dice que una observación es influyente si la eliminación de la observación cambia sustancialmente la estimación de los coeficientes. La influencia puede ser pensada como el producto del apalancamiento y la outlierness. Cómo podemos identificar estos tres tipos de observaciones Veamos un ejemplo de conjunto de datos llamado delito. Este conjunto de datos aparece en Métodos Estadísticos para las Ciencias Sociales, Tercera Edición de Alan Agresti y Barbara Finlay (Prentice Hall, 1997). Las variables son estado id (sid), estado nombre (estado), crímenes violentos por cada 100.000 personas (delincuencia), asesinatos por 1.000.000 (homicidio), el porcentaje de la población que vive en las áreas metropolitanas (pctmetro), el porcentaje de la población que Es blanco (pctwhite), porcentaje de la población con una educación secundaria o superior (pcths), porcentaje de la población que vive bajo la línea de pobreza (pobreza) y porcentaje de la población que son padres solteros. Digamos que queremos predecir el crimen por pctmetro. pobreza . Y único. Es decir, queremos construir un modelo de regresión lineal entre la variable variable de respuesta y las variables independientes pctmetro. Pobreza y solteros. Primero veremos los diagramas de dispersión del crimen en contra de cada una de las variables predictoras antes del análisis de regresión, de modo que tendremos algunas ideas sobre problemas potenciales. Podemos crear una matriz de dispersión de estas variables como se muestra a continuación. Los gráficos de la delincuencia con otras variables muestran algunos problemas potenciales. En cada parcela, vemos un punto de datos que está muy lejos del resto de los puntos de datos. Vamos a hacer gráficos individuales de la delincuencia con el pctmetro y la pobreza y solo para que podamos obtener una mejor vista de estos diagramas de dispersión. Agregaremos la opción mlabel (state) para etiquetar cada marcador con el nombre del estado para identificar los estados periféricos. Todos los diagramas de dispersión sugieren que la observación para el estado dc es un punto que requiere atención adicional ya que se destaca de todos los demás puntos. Lo mantendremos en mente cuando realicemos nuestro análisis de regresión. Ahora vamos a intentar el comando de regresión que predice el crimen de pctmetro pobreza y solo. Vamos a ir paso a paso para identificar todos los puntos potencialmente inusuales o influyentes después. Examinemos los residuos estudiados como un primer medio para identificar los valores atípicos. Debajo usamos el comando predict con la opción rstudent para generar residuales studentized y nombramos los residuos r. Podemos elegir cualquier nombre que queramos, siempre y cuando sea un nombre de variable Stata legal. Los residuos estudiados son un tipo de residuo estandarizado que puede usarse para identificar los valores atípicos. Examinemos los residuos con un diagrama de tallo y hoja. Vemos tres residuos que sobresalen, -3,57, 2,62 y 3,77. La visualización del tallo y la hoja nos ayuda a ver algunos valores atípicos potenciales, pero no podemos ver qué estado (cuáles observaciones) son posibles valores atípicos. Permite ordenar los datos de los residuos y mostrar los 10 residuos más grandes y 10 más pequeños junto con el ID del estado y el nombre del estado. Observe que en el segundo comando de lista el -10 / l último valor es la letra quotlquot, NOT el número uno. Debemos prestar atención a los residuos estudiados que superan 2 o -2, y se preocupan aún más por los residuos que superan 2,5 o -2,5 y aún más preocupados por los residuos que superan 3 o -3. Estos resultados muestran que DC y MS son las observaciones más preocupantes seguidas por FL. Otra forma de obtener este tipo de salida es con un comando llamado hilo. Puede descargar hilo desde Stata escribiendo findit hilo (consulte Cómo puedo usar el comando findit para buscar programas y obtener ayuda adicional para obtener más información sobre el uso de findit). Una vez instalado, puede escribir lo siguiente y obtener una salida similar a la anterior escribiendo sólo un comando. Vamos a mostrar todas las variables en nuestra regresión donde el residuo estudiado excede 2 o -2, es decir, donde el valor absoluto del residuo es superior a 2. Vemos los datos de los tres valores atípicos potenciales que identificamos, a saber, Florida, Misisipi y Washington DC Cuidadosamente en estas tres observaciones, no podríamos encontrar ningún error en la entrada de datos, aunque quizás queramos hacer otro análisis de regresión con el punto extremo como DC eliminado. Volveremos a este tema más adelante. Ahora veamos los apalancamientos para identificar las observaciones que tendrán una gran influencia potencial sobre las estimaciones del coeficiente de regresión. Utilizamos las opciones de show (5) high en el comando hilo para mostrar solo las 5 observaciones más grandes (la opción alta puede ser abreviada como h). Vemos que DC tiene el mayor apalancamiento. Generalmente, un punto con apalancamiento mayor que (2k2) / n debe ser examinado cuidadosamente. Aquí k es el número de predictores yn es el número de observaciones. En nuestro ejemplo, podemos hacer lo siguiente. Como hemos visto, DC es una observación que tiene un gran poder residual y grande. Estos puntos son potencialmente los más influyentes. Podemos hacer una trama que muestre el apalancamiento por el cuadrado residual y busque observaciones que sean conjuntamente altas en ambas medidas. Podemos hacer esto usando el comando lvr2plot. Lvr2plot significa apalancamiento versus parcela cuadrada residual. Utilizando el cuadrado residual en lugar del residuo en sí, el gráfico se restringe al primer cuadrante y se conservan las posiciones relativas de los puntos de datos. Esta es una forma rápida de comprobar posibles observaciones influyentes y valores extremos al mismo tiempo. Ambos tipos de puntos son de gran preocupación para nosotros. Las dos líneas de referencia son los medios de apalancamiento, horizontal, y para el residual normalizado cuadrado, vertical. Los puntos que inmediatamente nos llaman la atención es DC (con el mayor apalancamiento) y MS (con el mayor cuadrado residual). Bien mirar esas observaciones más cuidadosamente enumerándolas. Ahora vamos a pasar a las medidas generales de la influencia, permite ver específicamente Cooks D y DFITS. Estas medidas combinan información sobre el residual y el apalancamiento. Los cocineros D y DFITS son muy similares excepto que escalan diferente pero nos dan respuestas similares. El valor más bajo que Cooks D puede asumir es cero, y cuanto más alto es el Cooks D, más influyente es el punto. El punto de corte de la convención es 4 / n. Podemos enumerar cualquier observación por encima del punto de corte haciendo lo siguiente. Hemos visto que los cocineros D para DC es de lejos el más grande. Ahora echemos un vistazo a DFITS. El punto de corte para DFITS es 2sqrt (k / n). DFITS puede ser positivo o negativo, con números cercanos a cero correspondientes a los puntos con influencia pequeña o nula. Como vemos, dfit también indica que DC es, con mucho, la observación más influyente. Las medidas anteriores son medidas generales de influencia. También puede considerar medidas de influencia más específicas que evalúen cómo se cambia cada coeficiente suprimiendo la observación. Esta medida se denomina DFBETA y se crea para cada uno de los predictores. Aparentemente esto es más intensivo computacional que las estadísticas de resumen, como Cooks D, ya que cuanto más predictores tiene un modelo, más computación puede implicar. Podemos restringir nuestra atención sólo a aquellos predictores que nos preocupan más para ver qué tan bien comportados son esos predictores. En Stata, el comando dfbeta producirá los DFBETA para cada uno de los predictores. Los nombres para las nuevas variables creadas son elegidos por Stata automáticamente y comienzan con las letras DF. Esto creó tres variables, DFpctmetro. DFpoverty y DFsingle. Veamos los primeros 5 valores. El valor para DFsingle para Alaska es 0,14, lo que significa que al ser incluido en el análisis (en comparación con ser excluido), Alaska aumenta el coeficiente de single por 0,14 errores estándar, es decir, 14 veces el error estándar para BSingle o por (0,14 15.5). Dado que la inclusión de una observación podría contribuir a un aumento o disminución en un coeficiente de regresión, DFBETA puede ser positivo o negativo. Un valor de DFBETA superior a 2 / sqrt (n) merece más investigación. En este ejemplo, estaríamos preocupados por valores absolutos superiores a 2 / sqrt (51) o .28. Podemos trazar los tres valores de DFBETA contra el id de estado en un gráfico que se muestra a continuación. Añadimos una línea en .28 y -28 para ayudarnos a ver observaciones potencialmente problemáticas. Vemos que el valor más grande es de aproximadamente 3.0 para DFsingle. Podemos repetir este gráfico con la opción mlabel () en el comando graph para etiquetar los puntos. Con el gráfico anterior podemos identificar qué DFBeta es un problema, y con el gráfico de abajo podemos asociar esa observación con el estado de donde se origina. Ahora vamos a enumerar esas observaciones con DFsingle mayor que el valor de corte. La siguiente tabla resume las reglas generales que utilizamos para estas medidas para identificar observaciones dignas de investigación adicional (donde k es el número de predictores yn es el número de observaciones). Hemos utilizado el comando predicción para crear una serie de variables asociadas con el análisis de regresión y el diagnóstico de regresión. El comando help regress no solo da ayuda en el comando regress, sino que también enumera todas las estadísticas que se pueden generar a través del comando predict. A continuación mostramos un fragmento del archivo de ayuda de Stata que ilustra las diversas estadísticas que se pueden calcular mediante el comando predict. Hemos explorado una serie de estadísticas que podemos obtener después de la orden de regresión. También hay varios gráficos que se pueden utilizar para buscar observaciones inusuales e influyentes. El comando avplot representa un gráfico de variable añadida. También se le llama parcela de regresión parcial y es muy útil para identificar puntos influyentes. Por ejemplo, en el gráfico de avplot para simple que se muestra a continuación, la gráfica muestra el crimen por simple después de que tanto el crimen como el único se han ajustado para todos los otros predictores en el modelo. La línea trazada tiene la misma pendiente que el coeficiente para single. Esta gráfica muestra cómo la observación de DC influye en el coeficiente. Usted puede ver cómo la línea de regresión es tirada hacia arriba tratando de encajar a través del valor extremo de DC. Alaska y Virginia Occidental también pueden ejercer un apalancamiento sustancial sobre el coeficiente de soltero. Stata también tiene el comando avplots que crea un gráfico de variables añadido para todas las variables, que puede ser muy útil cuando se tienen muchas variables. Produce gráficos pequeños, pero estos gráficos pueden revelar rápidamente si usted tiene observaciones problemáticas basadas en las parcelas variables agregadas. DC ha aparecido como un outlier, así como un punto de influencia en cada análisis. Dado que DC no es realmente un estado, podemos usar esto para justificar la omisión del análisis diciendo que realmente deseamos analizar los estados. En primer lugar, vamos a repetir nuestro análisis incluyendo DC por sólo escribir regresión. Ahora, vamos a ejecutar el análisis omitiendo DC al incluir si state quotdcquot en el comando regress (aquí significa quotnot equal toquot pero también podría usar para significar lo mismo). Como es de esperar, la supresión de DC hizo un gran cambio en el coeficiente de single. El coeficiente para single cayó de 132,4 a 89,4. Después de haber borrado DC, repetiríamos el proceso que hemos ilustrado en esta sección para buscar cualquier otra observación periférica e influyente. Finalmente, mostramos que el comando avplot puede usarse para buscar valores atípicos entre las variables existentes en su modelo, pero debemos tener en cuenta que el comando avplot no sólo funciona para las variables del modelo, sino que también funciona para las variables que no están en el modelo Modelo, por lo que se denomina parcela de variable añadida. Vamos a usar la regresión que incluye DC como queremos seguir viendo mal comportamiento causado por DC como una demostración para hacer diagnósticos de regresión. Podemos hacer un avplot en pctwhite variable. En la parte superior de la parcela, tenemos quotcoef-3.509quot. Es el coeficiente para pctwhite si fue puesto en el modelo. Podemos comprobar que haciendo una regresión como a continuación. En esta sección, hemos explorado una serie de métodos de identificación de valores atípicos y puntos influyentes. En un análisis típico, probablemente usaría sólo algunos de estos métodos. En términos generales, existen dos tipos de métodos para evaluar los valores atípicos: estadísticas tales como residuales, apalancamiento, Cooks D y DFITS, que evalúan el impacto global de una observación en los resultados de regresión y estadísticas tales como DFBETA que evalúan el impacto específico de un Observación de los coeficientes de regresión. En nuestro ejemplo, encontramos que DC era un punto de gran preocupación. Se realizó una regresión con ella y sin ella y las ecuaciones de regresión fueron muy diferentes. Podemos justificar su eliminación de nuestro análisis por razonar que nuestro modelo es predecir la tasa de delincuencia para los estados, no para las áreas metropolitanas. 2.2 Comprobación de la normalidad de los residuos Muchos investigadores creen que la regresión múltiple requiere normalidad. Este no es el caso. La normalidad de los residuos sólo se requiere para la prueba de hipótesis válida, es decir, la asunción de normalidad asegura que los valores de p para las pruebas t y la prueba F serán válidos. La normalidad no es necesaria para obtener estimaciones no sesgadas de los coeficientes de regresión. La regresión OLS simplemente requiere que los residuos (errores) sean distribuidos de forma idéntica e independiente. Además, no hay ninguna suposición o requisito de que las variables predictoras se distribuyan normalmente. Si este fuera el caso, no seríamos capaces de utilizar variables ficticias codificadas en nuestros modelos. Después de ejecutar un análisis de regresión, podemos usar el comando predict para crear residuales y luego usar comandos como kdensity. Qnorm y pnorm para comprobar la normalidad de los residuos. Utilizamos el archivo de datos elemapi2 que vimos en el Capítulo 1 para estos análisis. Permite predecir el rendimiento académico (api00) del porcentaje que recibe comidas gratis (comidas), el porcentaje de estudiantes de inglés (ell) y el porcentaje de maestros con credenciales de emergencia (emer). Luego usamos el comando predicción para generar residuos. A continuación, utilizamos el comando kdensity para producir un gráfico de densidad de kernel con la opción normal solicitando que se superponga una densidad normal en la gráfica. Kdensidad significa estimación de la densidad del núcleo. Puede ser pensado como un histograma con compartimientos estrechos y media móvil. El comando pnorm grafica un gráfico de probabilidad normal estandarizada (P-P) mientras qnorm traza los quantiles de una variable contra los quantiles de una distribución normal. Pnorm es sensible a la no-normalidad en el rango medio de los datos y qnorm es sensible a la no-normalidad cerca de las colas. Como se ve a continuación, los resultados de pnorm no muestran indicaciones de no normalidad, mientras que el comando qnorm muestra una ligera desviación de lo normal en la cola superior, como se puede ver en la kdensidad anterior. Sin embargo, esto parece ser una desviación menor y trivial de la normalidad. Podemos aceptar que los residuos están cerca de una distribución normal. También existen pruebas numéricas para probar la normalidad. Una de las pruebas es la prueba escrita por Lawrence C. Hamilton, Dept. of Sociology, Univ. De New Hampshire, llamado iqr. Puede obtener este programa de Stata escribiendo findit iqr (consulte Cómo puedo utilizar el comando findit para buscar programas y obtener ayuda adicional para obtener más información sobre el uso de findit). iqr stands for inter-quartile range and assumes the symmetry of the distribution. Severe outliers consist of those points that are either 3 inter-quartile-ranges below the first quartile or 3 inter-quartile-ranges above the third quartile. The presence of any severe outliers should be sufficient evidence to reject normality at a 5 significance level. Mild outliers are common in samples of any size. In our case, we dont have any severe outliers and the distribution seems fairly symmetric. The residuals have an approximately normal distribution. Another test available is the swilk test which performs the Shapiro-Wilk W test for normality. The p-value is based on the assumption that the distribution is normal. In our example, it is very large (.51), indicating that we cannot reject that r is normally distributed. 2.3 Checking Homoscedasticity of Residuals One of the main assumptions for the ordinary least squares regression is the homogeneity of variance of the residuals. If the model is well-fitted, there should be no pattern to the residuals plotted against the fitted values. If the variance of the residuals is non-constant then the residual variance is said to be quotheteroscedastic. quot There are graphical and non-graphical methods for detecting heteroscedasticity. A commonly used graphical method is to plot the residuals versus fitted (predicted) values. We do this by issuing the rvfplot command. Below we use the rvfplot command with the yline(0) option to put a reference line at y0. We see that the pattern of the data points is getting a little narrower towards the right end, which is an indication of heteroscedasticity. Now lets look at a couple of commands that test for heteroscedasticity. The first test on heteroskedasticity given by imest is the Whites test and the second one given by hettest is the Breusch-Pagan test. Both test the null hypothesis that the variance of the residuals is homogenous. Therefore, if the p-value is very small, we would have to reject the hypothesis and accept the alternative hypothesis that the variance is not homogenous. So in this case, the evidence is against the null hypothesis that the variance is homogeneous. These tests are very sensitive to model assumptions, such as the assumption of normality. Therefore it is a common practice to combine the tests with diagnostic plots to make a judgment on the severity of the heteroscedasticity and to decide if any correction is needed for heteroscedasticity. In our case, the plot above does not show too strong an evidence. So we are not going to get into details on how to correct for heteroscedasticity even though there are methods available. 2.4 Checking for Multicollinearity When there is a perfect linear relationship among the predictors, the estimates for a regression model cannot be uniquely computed. The term collinearity implies that two variables are near perfect linear combinations of one another. When more than two variables are involved it is often called multicollinearity, although the two terms are often used interchangeably. The primary concern is that as the degree of multicollinearity increases, the regression model estimates of the coefficients become unstable and the standard errors for the coefficients can get wildly inflated. In this section, we will explore some Stata commands that help to detect multicollinearity. We can use the vif command after the regression to check for multicollinearity. vif stands for variance inflation factor . As a rule of thumb, a variable whose VIF values are greater than 10 may merit further investigation. Tolerance, defined as 1/VIF, is used by many researchers to check on the degree of collinearity. A tolerance value lower than 0.1 is comparable to a VIF of 10. It means that the variable could be considered as a linear combination of other independent variables. Lets first look at the regression we did from the last section, the regression model predicting api00 from meals, ell and emer and then issue the vif command. The VIFs look fine here. Here is an example where the VIFs are more worrisome. In this example, the VIF and tolerance (1/VIF) values for avged gradsch and colgrad are worrisome. All of these variables measure education of the parents and the very high VIF values indicate that these variables are possibly redundant. For example, after you know gradsch and colgrad . you probably can predict avged very well. In this example, multicollinearity arises because we have put in too many variables that measure the same thing, parent education. Lets omit one of the parent education variables, avged . Note that the VIF values in the analysis below appear much better. Also, note how the standard errors are reduced for the parent education variables, gradsch and colgrad . This is because the high degree of collinearity caused the standard errors to be inflated. With the multicollinearity eliminated, the coefficient for gradsch . which had been non-significant, is now significant. Lets introduce another command on collinearity. The collin command displays several different measures of collinearity. For example, we can test for collinearity among the variables we used in the two examples above. Note that the collin command does not need to be run in connection with a regress command, unlike the vif command which follows a regress command. Also note that only predictor (independent) variables are used with the collin command. You can download collin from within Stata by typing findit collin (see How can I used the findit command to search for programs and get additional help for more information about using findit ). We now remove avged and see the collinearity diagnostics improve considerably. The condition number is a commonly used index of the global instability of the regression coefficients -- a large condition number, 10 or more, is an indication of instability. 2.5 Checking Linearity When we do linear regression, we assume that the relationship between the response variable and the predictors is linear. This is the assumption of linearity. If this assumption is violated, the linear regression will try to fit a straight line to data that does not follow a straight line. Checking the linear assumption in the case of simple regression is straightforward, since we only have one predictor. All we have to do is a scatter plot between the response variable and the predictor to see if nonlinearity is present, such as a curved band or a big wave-shaped curve. For example, recall we did a simple linear regression in Chapter 1 using dataset elemapi2 . Below we use the scatter command to show a scatterplot predicting api00 from enroll and use lfit to show a linear fit, and then lowess to show a lowess smoother predicting api00 from enroll . We clearly see some degree of nonlinearity. Checking the linearity assumption is not so straightforward in the case of multiple regression. We will try to illustrate some of the techniques that you can use. The most straightforward thing to do is to plot the standardized residuals against each of the predictor variables in the regression model. If there is a clear nonlinear pattern, there is a problem of nonlinearity. Otherwise, we should see for each of the plots just a random scatter of points. Lets continue to use dataset elemapi2 here. Lets use a different model. The two residual versus predictor variable plots above do not indicate strongly a clear departure from linearity. Another command for detecting non-linearity is acprplot . acprplot graphs an augmented component-plus-residual plot, a. k.a. augmented partial residual plot. It can be used to identify nonlinearities in the data. Lets use the acprplot command for meals and somecol and use the lowess lsopts(bwidth(1)) options to request lowess smoothing with a bandwidth of 1. In the first plot below the smoothed line is very close to the ordinary regression line, and the entire pattern seems pretty uniform. The second plot does seem more problematic at the right end. This may come from some potential influential points. Overall, they dont look too bad and we shouldnt be too concerned about non-linearities in the data. We have seen how to use acprplot to detect nonlinearity. However our last example didnt show much nonlinearity. Lets look at a more interesting example. This example is taken from quotStatistics with Stata 5quot by Lawrence C. Hamilton (1997, Duxbery Press). The dataset we will use is called nations. dta . We can get the dataset from the Internet. Lets build a model that predicts birth rate ( birth ), from per capita gross national product ( gnpcap ), and urban population ( urban ). If this were a complete regression analysis, we would start with examining the variables, but for the purpose of illustrating nonlinearity, we will jump directly to the regression. Now, lets do the acprplot on our predictors. The acprplot plot for gnpcap shows clear deviation from linearity and the one for urban does not show nearly as much deviation from linearity. Now, lets look at these variables more closely. We see that the relation between birth rate and per capita gross national product is clearly nonlinear and the relation between birth rate and urban population is not too far off from being linear. So lets focus on variable gnpcap . First lets look at the distribution of gnpcap . We suspect that gnpcap may be very skewed. This may affect the appearance of the acprplot . Indeed, it is very skewed. This suggests to us that some transformation of the variable may be necessary. One of the commonly used transformations is log transformation. Lets try it here. The transformation does seem to help correct the skewness greatly. Next, lets do the regression again replacing gnpcap by lggnp . The plot above shows less deviation from nonlinearity than before, though the problem of nonlinearity has not been completely solved yet. 2.6 Model Specification A model specification error can occur when one or more relevant variables are omitted from the model or one or more irrelevant variables are included in the model. If relevant variables are omitted from the model, the common variance they share with included variables may be wrongly attributed to those variables, and the error term is inflated. On the other hand, if irrelevant variables are included in the model, the common variance they share with included variables may be wrongly attributed to them. Model specification errors can substantially affect the estimate of regression coefficients. Consider the model below. This regression suggests that as class size increases the academic performance increases. Before we publish results saying that increased class size is associated with higher academic performance, lets check the model specification. There are a couple of methods to detect specification errors. The linktest command performs a model specification link test for single-equation models. linktest is based on the idea that if a regression is properly specified, one should not be able to find any additional independent variables that are significant except by chance. linktest creates two new variables, the variable of prediction, hat . and the variable of squared prediction, hatsq . The model is then refit using these two variables as predictors. hat should be significant since it is the predicted value. On the other hand, hatsq shouldnt, because if our model is specified correctly, the squared predictions should not have much explanatory power. That is we wouldnt expect hatsq to be a significant predictor if our model is specified correctly. So we will be looking at the p-value for hatsq . From the above linktest . the test of hatsq is not significant. This is to say that linktest has failed to reject the assumption that the model is specified correctly. Therefore, it seems to us that we dont have a specification error. But now, lets look at another test before we jump to the conclusion. The ovtest command performs another test of regression model specification. It performs a regression specification error test (RESET) for omitted variables. The idea behind ovtest is very similar to linktest . It also creates new variables based on the predictors and refits the model using those new variables to see if any of them would be significant. Lets try ovtest on our model. The ovtest command indicates that there are omitted variables. So we have tried both the linktest and ovtest . and one of them ( ovtest ) tells us that we have a specification error. We therefore have to reconsider our model. Lets try adding the variable full to the model. Now, both the linktest and ovtest are significant, indicating we have a specification error. Lets try adding one more variable, meals . to the above model. The linktest is once again non-significant while the p-value for ovtest is slightly greater than .05. Note that after including meals and full . the coefficient for class size is no longer significant. While acsk3 does have a positive relationship with api00 when no other variables are in the model, when we include, and hence control for, other important variables, acsk3 is no longer significantly related to api00 and its relationship to api00 is no longer positive . linktest and ovtest are tools available in Stata for checking specification errors, though linktest can actually do more than check omitted variables as we used here, e. g. checking the correctness of link function specification. For more details on those tests, please refer to Stata manual. 2.7 Issues of Independence The statement of this assumption that the errors associated with one observation are not correlated with the errors of any other observation cover several different situations. Consider the case of collecting data from students in eight different elementary schools. It is likely that the students within each school will tend to be more like one another than students from different schools, that is, their errors are not independent. We will deal with this type of situation in Chapter 4 when we demonstrate the regress command with cluster option. Another way in which the assumption of independence can be broken is when data are collected on the same variables over time. Lets say that we collect truancy data every semester for 12 years. In this situation it is likely that the errors for observation between adjacent semesters will be more highly correlated than for observations more separated in time. This is known as autocorrelation. When you have data that can be considered to be time-series you should use the dwstat command that performs a Durbin-Watson test for correlated residuals. We dont have any time-series data, so we will use the elemapi2 dataset and pretend that snum indicates the time at which the data were collected. We will also need to use the tsset command to let Stata know which variable is the time variable. The Durbin-Watson statistic has a range from 0 to 4 with a midpoint of 2. The observed value in our example is very small, close to zero, which is not surprising since our data are not truly time-series. A simple visual check would be to plot the residuals versus the time variable. In this chapter, we have used a number of tools in Stata for determining whether our data meets the regression assumptions. Below, we list the major commands we demonstrated organized according to the assumption the command was shown to test. Detecting Unusual and Influential Data predict -- used to create predicted values, residuals, and measures of influence. rvpplot --- graphs a residual-versus-predictor plot. rvfplot -- graphs residual-versus-fitted plot. lvr2plot -- graphs a leverage-versus-squared-residual plot. dfbeta -- calculates DFBETAs for all the independent variables in the linear model. avplot -- graphs an added-variable plot, a. k.a. partial regression plot. Tests for Normality of Residuals kdensity -- produces kernel density plot with normal distribution overlayed. pnorm -- graphs a standardized normal probability (P-P) plot. qnorm --- plots the quantiles of varname against the quantiles of a normal distribution. iqr -- resistant normality check and outlier identification. swilk -- performs the Shapiro-Wilk W test for normality. Tests for Heteroscedasticity rvfplot -- graphs residual-versus-fitted plot. hettest -- performs Cook and Weisberg test for heteroscedasticity. whitetst -- computes the White general test for Heteroscedasticity. Tests for Multicollinearity vif -- calculates the variance inflation factor for the independent variables in the linear model. collin -- calculates the variance inflation factor and other multicollinearity diagnostics Tests for Non-Linearity acprplot -- graphs an augmented component-plus-residual plot. cprplot --- graphs component-plus-residual plot, a. k.a. residual plot. Tests for Model Specification linktest -- performs a link test for model specification. ovtest -- performs regression specification error test (RESET) for omitted variables. See the Stata Topics: Regression page for more information and resources on regression diagnostics in Stata. 2.9 Self Assessment 1 . The following data set consists of measured weight, measured height, reported weight and reported height of some 200 people. You can get it from within Stata by typing use ats. ucla. edu/stat/stata/webbooks/reg/davis We tried to build a model to predict measured weight by reported weight, reported height and measured height. We did an lvr2plot after the regression and here is what we have. Explain what you see in the graph and try to use other STATA commands to identify the problematic observation(s). What do you think the problem is and what is your solution 2 . Using the data from the last exercise, what measure would you use if you want to know how much change an observation would make on a coefficient for a predictor For example, show how much change would it be for the coefficient of predictor reptht if we omit observation 12 from our regression analysis What are the other measures that you would use to assess the influence of an observation on regression What are the cut-off values for them 3 . The following data file is called bbwt. dta and it is from Weisbergs Applied Regression Analysis. You can obtain it from within Stata by typing use ats. ucla. edu/stat/stata/webbooks/reg/bbwt It consists of the body weights and brain weights of some 60 animals. We want to predict the brain weight by body weight, that is, a simple linear regression of brain weight against body weight. Show what you have to do to verify the linearity assumption. If you think that it violates the linearity assumption, show some possible remedies that you would consider. 4 . We did a regression analysis using the data file elemapi2 in chapter 2. Continuing with the analysis we did, we did an avplot here. Explain what an avplot is and what type of information you would get from the plot. If variable full were put in the model, would it be a significant predictor 5 . The data set wage. dta is from a national sample of 6000 households with a male head earning less than 15,000 annually in 1966. You can get this data file by typing use ats. ucla. edu/stat/stata/webbooks/reg/wage from within Stata . The data were classified into 39 demographic groups for analysis. We tried to predict the average hours worked by average age of respondent and average yearly non-earned income. Both predictors are significant. Now if we add ASSET to our predictors list, neither NEIN nor ASSET is significant. Can you explain why 6. Continue to use the previous data set. This time we want to predict the average hourly wage by average percent of white respondents. Carry out the regression analysis and list the STATA commands that you can use to check for heteroscedasticity. Explain the result of your test(s). Now we want to build another model to predict the average percent of white respondents by the average hours worked. Repeat the analysis you performed on the previous regression model. Explain your results. 7 . We have a data set that consists of volume, diameter and height of some objects. Someone did a regression of volume on diameter and height. Explain what tests you can use to detect model specification errors and if there is any, your solution to correct it. Click here for our answers to these self assessment questions. 2.10 For more information
No comments:
Post a Comment