REFERENCIA RÁPIDA PARA INSTRUCCIÓN EN STATA Descripción y análisis de datos en Stata
Este documento se puede usar como referencia durante y después del entrenamiento en Stata, particularmente particularmente para los v ídeos sobre descripción y análisis de datos. Se presentarán algunos ejemplos para esclarecer ciertos ciertos comandos. Varios comandos pueden ser especificados especificados con abreviaciones (por ejemplo, tanto tabulate como tab son apropiados para indicar tabulate ), presentándose a continuación varios ejemplos. El texto en courier new rojo se refiere a un comando a ser digitado en la ventana de comandos del programa Stata. El texto en courier new rojo itálico se refiere a información a ser digitada que varía con el banco de datos/archivo del usuario. En la mayoría de los casos, hay opciones adicionales que pueden seguir comandos iniciales para funciones y operaciones más específicas/detalladas. Sólo algunos ejemplos de líneas de comandos aparecen en este documento.
I. Descripción de datos I.1. Describir datos1
Describir el banco datos datos en la memoria memoria (formato, (formato, leyendas, leyendas, etc.): etc.): describe o des o Describir una variable (formato, leyendas, etc.): describe variable o des variable
de
I.2. Resumir datos
Reportar promedio, desviación estándar, errores, etc., de variables: su var1 var2 var3, var3 , detail
detail adiciona detail adiciona otras estadísticas
I.3. Tabla de sentido único
1
Reportar cada valor valor único y su frecuencia, porcentaje, porcentaje, y porcentaje porcentaje acumulado en formato formato de tabla: o tab var1 o tab1 tabulate var1 var1 [in][if][options] [in][if][options] tab1 var1 var1 Con expresión condicional: tab var1 var1 if if var1 var1==3 ==3 & var2 var2!=1 !=1 Reportar por grupo: bysort grupo Ejemplo: Ejemplo: bysort comunidad grupo: : tab var2 o by grupo sort: tab var2 : tab ingresos Con datos estadísticos: tabstat var1 var1 , , stat(count stat(count mean sd p10 p50 p90 ) o tabstat var1 if var2 var2==1, ==1, stat(count stat(count min max sd cv sk) sk ) Con sumas/promedios sumas/promedios de variables por grupo: ) o table grupo table grupo grupo, , contents (mean var3 var4 var7 grupo, , contents (sum var3 var4 var7) Reportar el promedio, desviación desviación estándar estándar y frecuencia frecuencia de las observaciones por grupo en var1. tab var1 var1, , su(var2 su(var2) )
variable = variable de interés var# = cada variable de interés grupo = variable categórica Traducido y adaptado de ayuda de Stata y dataninja.wordpress.com dataninja.wordpress.com Contribuidores: Ronnie Babigumira, Jamie Cotta, Carolina de Souza Costa y Pablo Prado
I.4. Tabla de sentido doble
Tabla básica: tab2 var1 var2 La primera variable será presentada en líneas, la segunda en columnas Producir tres tablas de sentido doble con cada combinación: tab2 var1 var2 var3 Separar las tablas en grupos: bysort grupo: tab2 var2 var3 Ejemplo: bysort comunidad : tab2 ingresos_agric ingresos_bosque
I.5. Histogramas
Histograma de la distribución de valores de una variable: histogram variable [in][if][options] Exhibir la frecuencia de cada observación en cada columna: histogram variable, frequency Especificar número de columnas (i.e. 15): histogram variable, bin(15) frequency Exhibir las porcentajes de los valores: histogram variable, percent Exhibir la curva normal en el mismo gráfico: histogram variable, normal percent Ejemplo: histogram ingresos, normal percent
I.6. Diagrama de caja y bigotes (Box and whisker plot) graph box var1 [in][if][options] Ejemplo: graph box educacion in 1/100
I.7. Diagrama de tallo y hojas (Stem and leaf plot) stem var1 [in][if][options] Ejemplo: stem educacion if genero==1, lines(5) digits(3)
lines = exhibir hasta # líneas digits = exhibir hasta # dígitos
II. Análisis de datos II.1. Evaluación de sesgo y curtosis
Prueba de normalidad Shapiro Wilk: swilk variable o by grupo, sort: swilk var1 Prueba de sesgo/curtosis de Stata (parecido con prueba Shapiro Wilk): sktest variable
II.2. Correlación
Correlaciones entre variables normalmente distribuidas: correlate var1 var2 var3 [in][if][options] o corr var1 var2 var3 o corr var1 var2 var3, covariance Todas las correlaciones entre cada par de variables: pwcorr var1 var2 var3 [in][if][options] pwcorr var1 var2 var3 displ, sig obs pwcorr var1 var2 var3 displ, print(.05) star(.01) bon sig obs = mostrar nivel de significancia para cada observación star = exhibir nivel de significancia con una estrella bon = corrección Bonferroni Traducido y adaptado de ayuda de Stata y dataninja.wordpress.com Contribuidores: Ronnie Babigumira, Jamie Cotta, Carolina de Souza Costa y Pablo Prado
II.3. Prueba de Chi^2 tabulate var1 var2, chi2 Ejemplo: tabulate genero alfabetizacion, chi2
II.4. Prueba de igualdad de varianza sdtest variable, by (grupo) *válido sólo cuando se comparan dos grupos Ejemplo: sdtest educacion, by(comunidad )
II.5. Prueba T1
Comparar promedio de 1 muestra con un valor (#) especificado ttest var1 = # Ejemplo: ttest crecimiento = 0 Comparar promedio de 2 muestras (no-pareado o pareado) o ttest var1 = var2 ttest var1 = var2, unpaired Ejemplo: ttest ingresos_grupo1 = ingresos_grupo2, unpaired Comparar promedio de 2 muestras exhibiendo p-valor de .05: ttest var1 = var2, level(95) Comparar promedio de 2 grupos (presupuesto de varianza igual o desigual) o ttest var1, by(grupo) ttest var1, by(grupo) unequal
II.6. Prueba de Mann-Whitney U (Wilcoxon Rank Sum)
1
Comparar 2 muestras que no tienen distribuciones normales: ranksum var1, by(grupo) Ejemplo: ranksum ingresos, by(comunidad)
P r e s u p u e s t o s c l a v e s d e l a P r u e b a t : Las poblaciones siguen una distribución normal. Las muestras son independientes. Traducido y adaptado de ayuda de Stata y dataninja.wordpress.com Contribuidores: Ronnie Babigumira, Jamie Cotta, Carolina de Souza Costa y Pablo Prado
II.7. Regresión
Regresión lineal: o reg vardepend varindep 1 regress vardepend varindep Ejemplo: reg ingreso_total ingreso_bosque Regresión computando un estimador de varianza robusto: reg vardepend varindep, vce(robust) Regresión lineal realizada para cada grupo: by grupo, sort: reg vardepend varindep Ejemplo: by comunidad , sort: ingreso_total ingreso_bosque Regresión múltiple con expresión condicional: reg var1 var3 var4 if var2 !="x” Ejemplo: reg ingreso_total ingreso_bosque ingreso_gobierno if comunidad != 3 Regresión logística (mismas opciones que para la regresión): logit var1 var2 var3 [options] Regresión por pasos conservando sólo las variables predictoras estadísticamente significativas al nivel .05): stepwise, pr(.05): regress var1 var2 var3 var4 var5 [options] Regresión por pasos (conservando sólo las variables predictoras estadísticamente significativas al nivel .05, fijando var1): stepwise, pr(.05) lockterm1: regress var1 var2 var3 var4 var5 [options] Regresión por pasos (incluyendo variables predictoras que son significativas al nivel .10): stepwise, pr(.10): regress var1 var2 var3 var4 (var5 var6 var7) var5 var6 y var7 son incluidas o excluidas como un conjunto Regresión robusta rreg var1 var2 var3 var4 Regresión cuantílica qreg var1 var2 var3 var4 o bsqreg var1 var2 var3 var4, rep(#) bsqreg aplica el método “ bootstra p” (data resampling) para estimar errores estándar. rep(#) controle el número de repeticiones
II.8. Gráficos en regresión:
1
Gráfico de dispersión de sentido doble, con predicción linear: twoway scatter var1 var2 || lfit var1 var2 Ejemplo: twoway scatter ingreso_total ingreso_bosque || lfit ingreso_total ingreso_bosque Gráfico de dispersión de sentido doble, con predicción cuadrática: twoway scatter var1 var2 || qfit var1 var2 Ejemplo: twoway scatter ingreso_total ingreso_bosque || qfit ingreso_total ingreso_bosque Gráficos de dispersión para cada grupo o para cada grupo junto con muestra total: scatter var1 var2, by (grupo) o scatter var1 var2, by (grupo, total) Ejemplo: scatter ingresototal ingresobosque, by(comunidad, total)
vardepend = variable dependiente (y)
varindep = variable independiente (x) Traducido y adaptado de ayuda de Stata y dataninja.wordpress.com Contribuidores: Ronnie Babigumira, Jamie Cotta, Carolina de Souza Costa y Pablo Prado
II.9. Diagnósticos realizados a continuación de la regresión1
Predecir residuos: predict resid , residuals Predecir residuos conforme distribución estándar o distribución student’s t: o predict studres, rstudent predict stdres, rstandard Predecir influencia (leverage) de cada observación: predict lev , leverage Ordenar residuos estándar: sort stdres Tabular residuos estándar: tabulate stdres Resumir residuos estándar: su stdres Evaluar sesgo/curtosis de residuos: sktest resid En caso de no cumplirse el criterio de normalidad, hay que transformar los datos Exhibir cuantiles de variable contra cuantiles de la distribución normal: qnorm resid Mientras más cercanos los puntos a la línea, mejor Exportar gráfico qnorm: graph export caminho\graf_normresid.tif , replace Evaluar homocedasticidad/heterocedasticidad (test Cook-Weisburg (1983)): hettest Gráfico de influencia-versus-residuos al cuadrado (leverage versus squared residuals) lvr2plot Valores extremos con mucha influencia aparecen en el cuadro n oreste Estimación por estimadores tipo núcleo (kernels) de una función de densidad univariada: kdensity r, normal Gráfico de resíduos versus fitted: rvfplot Calcular factores centrados o descentrados de inflación de la varianza (FIVs) para los regresores especificados en el modelo de regresión linear: estat vif Este comando tiene que seguir la regresión. El FIV mayor no debería ser >10. Para excluir muliticolinearidad, el FIV promedio no deberia ser >1 Computar varas medidas de colinearidad entre variables (i.e. VIF, tolerancia, valores eigen, etc.) : collin var1 var2 Si collin no funciona, escriba findit collin en la ventana de comandos y instalar el archivo para usarlo.
1
Valores de standard residuals con valor absoluto > 3.5 o valores de leverage entre 1/n y 1 pueden representar valores atípicos y merecen más atención P r e s u p u e s t o s c l a v e s d e r e g r e s i ó n : La muestra debe representar la población para realizar una previsión de inferencia. Las variables independientes deben ser linealmente independientes (ausencia de multicolinearidad). Los errores no están correlacionados. La varianza de error es constante para todas las observaciones (homocedasticidad).
Traducido y adaptado de ayuda de Stata y dataninja.wordpress.com Contribuidores: Ronnie Babigumira, Jamie Cotta, Carolina de Souza Costa y Pablo Prado
Ejemplo de secuencia potencial de diagnósticos a continuación de la regresión: predict resid , residuals predict stdres, rstandard predict lev , leverage sort stdres tabulate stdres su stdres sktest resid qnorm resid graph export camino/graf_normresid.tif , replace estat hettest lvr2plot kdensity r, normal rvfplot vif collin var1 var2
II.10. ANOVA1
Sentido único: anova vardepend varindep Ejemplo: anova ingresos educacion
One-way incluyendo tabla con pruebas de comparación múltipleSidak, Scheffe, y Bonferroni :
Sentido único grande (ofrece opciones adicionales que oneway no ofrece)
Sentido doble:
anova vardepend varindep, tabulate sidak scheffe bonferroni *cualquier comparación o combinación de las tres puede ser especificada loneway vardepend varindep anova vardepend varindep1 varindep2 Ejemplo: anova ingresos educacion comunidad
Sentido doble con interacción: anova vardepend varindep1 varindep2 varindep1*varindep2 Ejemplo: anova ingresos comunidad distancia_estrada comunidad *distancia_estrada
“Anidado” (Nested): anova vardepend varindep2 / varindep1|varindep2 / Ejemplo: anova ingresos comunidad / municipalidad|comunidad /
Medidas Repetidas (Repeated measures): anova vardepend varindep1 varindep2, repeated(varindep2) Ejemplo: anova resultado individuo tratamiento, repeated(tratamiento)
1
=variable dependiente (y) varindep=variable independiente (x) vardepend P r e s u p u e s t o s c l a v e s d e A N O V A : Las poblaciones siguen una distribución normal. Las muestras son independientes. Las distribuciones de los residuos son normales. Las varianzas son iguales (homocedasticidad). Los grupos tienen el mismo tamaño de la muestra. Traducido y adaptado de ayuda de Stata y dataninja.wordpress.com Contribuidores: Ronnie Babigumira, Jamie Cotta, Carolina de Souza Costa y Pablo Prado
II.11. Kruskal Wallace (alternativa no-parametrica al ANOVA) kwallis variable, by(grupo)
III. Consejos adicionales III.1. Transformaciones de datos no-normales:
Mostrar la distribución que resulta después de transformaciones comunes: gladder var1 o gladder, frequency o gladder, percent Visualizar Chi2 y nivel de significancia de transformaciones comunes: ladder variable
III.2. Creación de nuevas variables basado en transformaciones comunes:
Para normalizar distribución con sesgo positivo (tipo Poisson), generar la raíz cuadrada de la variable: gen sqrt_var1 = sqrt(var1) Para normalizar distribución con sesgo negativo, generar el cuadrado de la variable: gen var1_sq = (var1)^2 Para normalizar distribución exponencial, generar el log o recíproco de la variable: gen log_var1 = log(var1) o gen recip_var = (1/var1) Otras transformaciones: (variable)^3 1/(variable)^2 1/(variable)^3 1/sqrt(variable)
Traducido y adaptado de ayuda de Stata y dataninja.wordpress.com Contribuidores: Ronnie Babigumira, Jamie Cotta, Carolina de Souza Costa y Pablo Prado