miércoles, 30 de octubre de 2019

Problema de interacción de dos variables continuas (sin solución)


El siguiente ejemplo está inspirado en uno del estupendo libro de Jim Frost Regression Analysis




Imaginemos que deseemos maximizar la resistencia (strength) de una aleación, y que tenemos razones teóricas para creer que depende de la temperatura (temperature), la presión (pressure) y el tiempo (time) en el horno.

Se piensa también, a partir de consideraciones teóricas, que existe interacción entre temperatura, presión y resistencia.

Se pide:


1) Establezca la ecuación de regresión para la variable dependiente resistencia (strength), con las variables independientes temperatura, presión, tiempo, y la interacción entre temperatura y presión.


2) Grafique la relación entre resistencia y temperatura con ayuda de los comandos margins y marginsplot, para distintos puntos de presión.
[margins, at (temperature=( 95 (5) 110)  pressure= (70 (5) 80))
marginsplot]

(Nota: para graficar un caso de interacción de dos variables continuas, se emplea un solo at. Se abre paréntesis y allí se ponen las dos variables, seguidos de signos "=" y de los valores que se desean graficar).


3) Interprete.


4) Grafique la relación entre resistencia y presión, para distintos puntos de temperatura, con ayuda de los comandos margins y marginsplot. [margins, at ( pressure= (70 (5) 80)  temperature=( 95 (5) 110) )]


5) Interprete.




Base de datos

viernes, 25 de octubre de 2019

Regresión lineal. Margins y marginsplot. Texto


Los comandos margins y marginsplot son sumamente útiles cuando estamos en presencia de interacciones y de relaciones curvilíneas.

En el documento se muestran las sintaxis a utilizar y los resultados que producen.


domingo, 20 de octubre de 2019

Interaccion. Dos variables cuantitativas y una categórica. Video

En este ejemplo se analiza la relación entre palabras aprendidas de un idioma extranjero y tiempo de estudio. Luego se introduce la variable Piensa Viajar.

Parece razonable pensar que las palabras aprendidas de un idioma extranjero por hora dependen de si piensa viajar o no. Si piensa viajar aumenta la motivación, y es probable que en cada hora se aprendan más palabras.

La de arriba es una hipótesis de interacción: el efecto de las horas de estudio sobre las palabras aprendidas depende de si piensa viajar o no.

La interacción se representará en la regresión por el producto de las variables en interacción. Aquí se introduce el producto de las variables piensa viajar por horas de estudio.

Cuando hay interacciones se usa una nomenclatura especial:
las palabras categóricas llevan delante una i. Ejemplo: i.piensa_viajar

Las continuas llevan una c. Ejemplo: c.horas_estudio

Y el término de interacción se escribe:
i.piensa_viajar#c.horas_estudio

La base a utilizar surge de la siguiente sintaxis:



*******************************************************************
clear
set seed 2027
set obs 5000
gen piensa_viajar = rbinomial(1, 0.55)
gen horas_estudio = round(rnormal(250, 70))
gen palabras_aprendidas = round(300 + 2 * horas_estudio + rnormal(0,200)) if piensa_viajar == 0
replace palabras_aprendidas = round(500 + 16 * horas_estudio + rnormal(0,200)) if piensa_viajar == 1
*******************************************************************

Video

jueves, 10 de octubre de 2019

Interacción. Dos variables cualitativas y una continua. Video.

La sintaxis adjunta genera una base que simula datos sobre personal administrativo que no habla idiomas, que habla inglés o chino, o que habla ambos idiomas.

Se trata de conocer la importancia que tiene sobre el salario hora, el conocimiento de dichos idiomas por separado y conjuntamente.

Se mostrará una interacción: el efecto de dos características (aquí hablar chino y hablar inglés) es distinto de la suma de ambos efectos! En este caso es una sinergia: saber ambos idiomas redunda más que la suma de cada uno por separado.


************************************************
clear all
set obs 600
set seed 1534
gen habla_chino = rbinomial(1,0.35)

label define habla_chino 0 "No habla chino" 1 "Habla chino"
label values habla_chino habla_chino
gen habla_ingles = rbinomial(1,0.55)

label define habla_ingles 0 "No habla inglés" 1 "Habla inglés"
label values habla_ingles habla_ingles
gen salario_hora = rnormal(500, 15)
replace salario_hora = salario_hora + 100 if habla_chino == 1
replace salario_hora = salario_hora + 150 if habla_ingles == 1
replace salario_hora = salario_hora + 400 if habla_ingles==1 & habla_chino== 1
************************************************


Video

lunes, 30 de septiembre de 2019

Interacción. Ejemplo con tres variables categóricas. Video.

La base adjunta tiene información sobre presos liberados que reciben o no ayuda del Patronato del Liberado.

Se advierte en un primer momento una asociación entre recibir ayuda y no reincidir: quienes son ayudados reinciden menos.

Pero surge una segunda hipótesis que se desea verificar: que la acción del Patronato es más importante en el subgrupo de quienes no tienen capital social (amigos, conocidos, etc.) que en el de quienes sí tienen.

En los datos que nos ocupan sucede eso: el Patronato es importante para quienes no tienen apoyos y no lo es para quienes los tienen.

Este es un caso típico de interacción: para contestar sobre la eficacia del Patronato, debemos decir que depende de una tercera variable: en este caso el capital social del ex preso.




Base

Video

domingo, 15 de septiembre de 2019

Regresión lineal. Ejercicio sobre supresión (sin solución)

 Una compañia de préstamos desea investigar la relación entre ingresos y deuda entre pagadores atrasados. Desea además saber si el sexo influye.

Genere la base (hipotética), corriendo la sintaxis que sigue:


*****************************************

cls

clear all

set seed 185966

set obs 500

gen sexo = trunc(runiform() * 2)

label define sexo 0 "Hombre" 1 "Mujer"

label value sexo sexo

gen ingresos = 3500 + runiform() * 2000 - 500 * sexo

gen deuda = -0.5 * ingresos - 1500 * sexo + rnormal(8000, 500)

lowess deuda ingresos

regress deuda ingresos

regress deuda ingresos i.sexo

*****************************************


Se pide al estudiante:

1. Grafique la relación entre deuda (variable dependiente) e ingresos.

2. Efectúe una regresión lineal solo con deuda e ingresos.

3. La regresión anterior, ¿da un modelo significativo?

4. ¿Cuál es su R cuadrado ajustado?

5. ¿Cuál es su Root MSE?

6. Ahora genere un nuevo modelo  incorporando además la variable categórica sexo.

7. ¿Este modelo es ahora significativo?

8. ¿Cómo cambió el R cuadrado ajustado?

9. ¿Cómo cambió el Root MSE?

10. ¿Cómo cambió el coeficiente de ingresos?

11. Explique los cambios anteriores.

12. ¿Cuál es la ecuación de regresión del nuevo modelo?

13. Según este último modelo, si se aumentan los ingresos en una unidad, ¿es cuánto varía la estimación de la deuda?



martes, 10 de septiembre de 2019

Confusión. Ejemplo de relación suprimida. Video.

La base que utilizaremos simula sueldos de docentes de idiomas con distintos niveles de solvencia.

Primero se analizará la relación entre sueldo y sexo, y no se verá ninguna relación. Hombres y mujeres ganan lo mismo.

Pero las mujeres tienen en esta base mayores niveles de solvencia, y a igual nivel de solvencia los hombres ganan bastante más que las mujeres.

Esta relación sexo sueldo estaba suprimida, no era visible. Solo se hizo visible cuando se incorporó al modelo la solvencia. La solvencia es una variable confusora en la relación sexo-sueldo.

Base

Video

viernes, 30 de agosto de 2019

Confusión. Ejemplo con variables continuas y regresión lineal. Video

Los casos de confusión también aparecen en regresiones lineales.

Aquí se verá la asociación entre horas viendo el canal de televisión National Geographic y puntaje en examen Geografía.

Un primer análisis sugiere que ver el canal influye fuertemente sobre el puntaje. Pero quienes miran más el canal también estudian más Geografía. Luego de que se tiene esto en cuenta, baja la influencia que se le atribuirá a ver el canal sobre los puntajes.

Base

Video


martes, 20 de agosto de 2019

Confusión. Concepto y ejemplo con dos variables categóricas. Video

En este video se presenta el fenómeno de confusión (emparentado con los conceptos de espureidad, espureidad parcial y supresión manejados con estos nombres en las ciencias sociales).

Se dice que hay confusión cuando las asociaciones entre variables sugieren una posible relación causal que, analizada más de cerca, no existe o es de una magnitud distinta a la que sugiere el primer análisis de datos.

Aquí se analiza una base ficticia que muestra una aparente relación entre tomar café y tener cardiopatías: en la base entre quienes toman café hay más cardiópatas.

Pero ello no se debe a que el café genere cardiopatías, sino a que entre los aficionados al café hay más fumadores.





Base de datos

Video

jueves, 25 de julio de 2019

Notación factorial. Texto

La notación factorial de Stata facilita mucho el trabajo con regresiones.

Hay cuatro elementos:


i.

Se usa en las regresiones para decirle a Stata que una variable es categórica, y así no tener que hacer variables dummy una por una.

Por ejemplo, si queremos predecir ingresos a partir de la variable profesión (con varias categorías) escribiríamos:

regress ingresos i.profesion



#
Se usa en las regresiones para que Stata genere una variable producto de dos variables. Cuando se desean analizar interacciones, se necesitan variables producto. También para cuando se desean valores al cuadrado o al cubo.


Por ejemplo, si deseamos ver la influencia de raza, genero y de su interacción en los ingresos, pediríamos:

regress ingresos i.raza i.genero i.raza#i.genero

i.raza#i.genero calcula automáticamente la variable producto de raza por género, que es necesaria para estudiar interacción. Si no fuera por esta notación, deberíamos crear dicha variable producto con generate.

También se usa para los cuadrados y los cubos en regresiones cuadráticas y cúbicas.
Por ejemplo, si quisiéramos una regresión que tenga como variables predictoras continuas a X y a X cuadrado, pediríamos:

regress y X c.X#c.X

Y si quisiéramos tomar como variables independientes a las variables continuas X, Xcuadrado y Xcubo, podríamos pedir

regress y X  c.X#c.X   c.X#c.X#c.X




c.

Se usa en las regresiones para decirle a Stata que una variable independiente es continua. Siempre se puede usar. En algunas ocasiones es imprescindible usar la c y en otras es opcional. Es obligatorio cuando hay interacciones.

Ejemplos:

regress salario c.aniosEducacion // aquí la c es opcional.

regress salario c.aniosEducacion   i.raza   c.aniosEducacion#i.raza //En las interacciones es obligatoria la c para las variables continuas.




##

El doble numeral indica que se desean los efectos principales y la interacción.

Por ejemplo,

regress y c.x##c.z  // Este comando indica que en la regresión de y, las variables predictoras son tres:  x, z y la interacción entre x y z. (En el ejemplo de arriba la c. indica adicionalmente que las variables son continuas).


Otro ejemplo:

regress rendimiento ansiedad##ansiedad, significa que las variables predictoras son dos: ansiedad y ansiedad multiplicada por ansiedad, es decir, ansiedad y ansiedad al cuadrado.


Otro ejemplo:
Si queremos regresar Y con la variable continua X, con X al cuadrado y con X al cubo,
podemos pedirlo también de la siguiente manera:

regress Y c.X##c.X##c.X


Escribiendo esto así, regresará Y con las variables independientes X, X al cuadrado y X al cubo.



Es extremadamente importante familiarizarse con esta nomenclatura: los comandos margins y marginsplot que se verán más adelante no funcionan si no es con ella.





Ejemplos varios:


regress cholesterol i.smoker##i.agegrp c.bmi i.smoker#c.bmi

Aquí las variables independientes son smoker (categórica), agegrp (categórica),
su interacción, bmi (variable continua: bmi por body mass index) y la interacción
de smoker con bmi.




regress price weight length headroom c.length#c.weight

Aquí las variable independientes son price (es continua, no está la c porque es opcional, weight (continua con c opcional). headroom, y la interacción entre length y weight (en las interacciones con variables continuas, la c es obligatoria).



regress peso_bebe c.edad_madre##i.fumadora

Aqui las variables independientes son edad de la madre (variable continua), su caracter de fumadora (variable categórica) y la interacción entre ambas variables.






sábado, 20 de julio de 2019

Regresión lineal. Modelos polinómicos. Video



En ocasiones tenemos relaciones curvilíneas entre variables. Aún así, la técnica de regresión lineal puede con frecuencia funcionar eficazmente.

Las relaciones curvilíneas muchas veces pueden ser ajustadas introduciendo como variables predictoras adicionales la variable elevada al cuadrado y/o al cubo.


Terminos cuadráticos 

Un término cuadrático es simplemente una variable elevada al cuadrado.


Por ejemplo, véase la siguiente relación entre x e y.






Se grafica abajo, en color rojo, la predicción lineal hallada usando como variables predictoras X y su cuadrado.




 Cuando la curva ajusta bien, se da que 1) aumenta el R^2 ajustado y 2) la variable X^2 se muestra significativa. Además, la verificación de los residuos del modelo nos dirá que estos se distribuyen normalmente y en forma heterocedástica, como se verá más adelante.


Si no ajustara bien, podrán buscarse otros modelos para ajustar dicha curvatura.


En las regresiones no conviene generar una nueva variable con el cuadrado. Para tener el término cuadrado de una variable continua var1, nos conviene pedirlo así: var1#var1. La razón es que los comandos margins y marginsplot exigen esta nomenclatura para funcionar adecuadamente. Todo esto se verá más adelante.



***


Los modelos polinómicos no solo pueden tener términos al cuadrado, también los pueden tener cúbicos, elevados a la cuarta potencia, etc.


Términos cúbicos

 La gráfica que sigue muestra una doble inflexión, primero hacia abajo y luego hacia arriba. 





Estas curvas pueden ser modeladas, a veces, con un término al cuadrado y otro cúbico. O sea, los predictores fueron X, X^2 y X^3. Abajo se muestra el ajuste del modelo. Los valores predichos están graficados en rojo, y como puede verse, reflejan muy bien la relación entre las variables. Los términos cúbicos de variables continuas también conviene pedirlos usando notación factorial. Así var1 al cubo se representará en el comando regress con c.var1#c.var1#c.var1. La c indica que la variable es continua y el símbolo de numeral funciona aquí como si fuera un símbolo de multiplicación.





 ¿Puede un modelo lineal predecir una relación curvilínea? ¿Es lineal un modelo que tiene variables elevadas al cuadrado y al cubo? Sí, es lineal. Veamos la definición matemática de un modelo lineal.


Dice Jim Frost:

“linear models must follow one very particular form:

Dependent variable = constant + parameter * IV + … + parameter * IV
The form is linear in the parameters because all terms are either the constant or a parameter multiplied by an independent variable (IV). A linear regression equation simply sums the terms. While the model must be linear in the parameters, you can raise an independent variable by an exponent to fit a curve. For instance, you can include a squared or cubed term.”



Y si una ecuación no tiene este formato no es lineal.
Por ejemplo, si X figura como exponente en la ecuación (b^x), si hay cosenos de X, etc. Las ecuaciones no lineales son más difíciles de interpretar. Si se puede modelar bien una ecuación mediante modelos lineales es mejor: se interpretan más fácilmente. Para usar modelos no lineales, probablemente el mejor camino sea consultar a estadísticos.


Video













miércoles, 10 de julio de 2019

Regresión lineal. Residuos. Comando predict. Video

En este ejemplo se presentará un hipotético control de la Dirección Impositiva de los impuestos pagados.

Supondremos que se tienen datos sobre lo que los contribuyentes (aquí solamente 10) gastaron con sus tarjetas de crédito y los impuestos que pagaron.

Se hallará una ecuación de regresión y se verá qué tan alejados están los valores pagados de impuestos de la estimación que surge de la ecuación de regresión: cuanto menos hayan pagado de impuestos con respecto al valor esperado, más sospechosa será la persona de haber eludido impuestos.

La resta entre un valor observado y un valor predicho por el modelo se llama RESIDUO.


La base con que trabajaremos se genera corriendo la siguiente sintaxis:


 ***************************************
clear all
set obs 10
set seed 1479
gen gastos_tarjeta = runiform() * 500 + 400
gen impuestos = 300 + gastos_tarjeta * 0.03 + rnormal(0, 3)
***************************************

Video

viernes, 5 de julio de 2019

Ejercicio de regresión lineal con variable categórica (sin solución)


Genérese una base corriendo la sintaxis que sigue:

****************
clear all
set obs 300
set seed 1234
gen tema = trunc(runiform()*3) + 1
label define tema 1 "policial" 2 "comedia" 3 "politica"
label values tema tema
gen presupuesto = round(rnormal(4000, 800))

label variable presupuesto "presupuesto en miles de dólares"
gen taquilla = presupuesto * 2 + (tema==3) * 0.8 + (tema==2) * 800 + rnormal(0, 1600)

label variable taquilla "Taquilla en millones de dólares" 
cls

****************

La base simula datos sobre películas: sobre su presupuesto, tema y taquilla.

Un investigador desea predecir la taquilla en base a su presupuesto y tema.

1) De un primer análisis gráfico, ¿se justifica hacer un modelo de predicción lineal con estas variables?

2) Dado ese primer análisis gráfico, ¿qué conclusiones espera?

2)  Efectúe la regresión lineal. ¿Cuál es la ecuación de predicción?

3) ¿Ambas variables son significativas?

4) Las diferencias entre temas (policial, comedia y política), ¿son todas significativas? Explique.

domingo, 30 de junio de 2019

Regresion lineal múltiple. Segundo ejemplo. Video


En este video analizaremos una base real, que tiene datos sobre 400 establecimientos escolares de California del año 2000, base que tomo de esta página


Las variables que nos interesarán son:


api00           Academic Performance Index (Indice de Performance Academíca año                    2000)

meals           pct free meals (% de comidas gratis: indicador indirecto de                        pobreza)

ell             english language learners (Indicador de niños inmigrantes)

yr_rnd          year round school (Escuela que funciona todo el año. La carga                      horaria es la misma: las clases se espacían más)

mobility        pct 1st year in school (Porcentaje de alumnos nuevos en la escuela)

acs_k3          avg class size k-3 (Tamaño promedio de clases en preescolares)

acs_46          avg class size 4-6 (Tamaño promedio clases en la escuela)

full            pct full credential (% de docentes con credenciales plenas)

emer            pct emer credential (% de docentes con credenciales de emergencia)

enroll          number of students (Número de estudiantes en la escuela)



Base

Video

jueves, 20 de junio de 2019

Regresión lineal múltiple. Primer ejemplo. Video


A partir de la constitución de una base con la sintaxis adjunta, se arma modelo para predecir el colesterol a partir de las variables sexo, calorías de la dieta, porcentaje de grasa de la dieta, y minutos de TV -este último como indicador de sedentarismo-.


****************
clear all
set obs 500
set seed 1320
gen minutos_TV = round(rnormal(300,50))
gen pct_grasasDieta = rnormal(30,8)
gen calorias_dieta = round(rnormal(1600,100) + pct_grasasDieta * 10 + rnormal(0, 300))
gen sexo = rbinomial(1,0.4)
label define sexo 0 "Hombre" 1 "Mujer"
label values sexo sexo

gen colesterol = minutos_TV * 0.05 + pct_grasasDieta + 0.02 * calorias_dieta + rnormal(0,17) - 15*sexo
****************


Video

viernes, 14 de junio de 2019

Homocedasticidad, heterocedasticidad, estat hettest y opción robust. Video.

 En este video se verá el concepto de homocedasticidad y su opuesto, el de heterocedasticidad.

Uno de los supuestos del método de regresión lineal es la homocedasticidad. En este video se explica como explorarla gráficamente en las regresiones con una sola variable predictora, se ve un test de significación para la homocedasticidad (estat hettest), y una forma de contrarrestar las dificultades que presenta la heterocedasticidad: usar el comando regress con la opción robust.


do file

Video

lunes, 10 de junio de 2019

Regresión lineal: relaciones curvilíneas. Video

Antes de hacer una regresión hay que graficar.

Hay que graficar para detectar outliers, si los hay.

Hay que graficar para detectar relaciones curvilíneas si las hay.

En el video que sigue, se utilizará la base que surge de correr la sintaxis siguiente.



********************************
clear all
set obs 100
set seed 568995
gen ansiedad = runiform() * 9 + 1
replace ansiedad = round(ansiedad, 0.2)
gen puntaje_examen = 30 + 20 * ansiedad -1.5 * ansiedad^2 + rnormal(0,5)
********************************



Video

jueves, 30 de mayo de 2019

Regresión lineal: outliers. Video

En este video se muestra que es un outlier, cuál es su influencia en las regresiones lineales, y posibles cursos de acción si los hay.

El video hace uso de la base que genera el correr la siguiente sintaxis:

************************************
clear all
set obs 25
set seed 5628
gen años_educacion = round(rnormal(15, 3))
gen salario_hora = 25 + 3 * años_educacion + rnormal(0,5)
set obs 26
replace años_educ = 28 in 26
replace salario_hora = 48 in 26
************************************


Video

domingo, 26 de mayo de 2019

Regresión lineal. Ejercicio con variable predictora con cuatro categorías (sin solución)


Corra la sintaxis que sigue a fin de generar una base de datos.

***************
clear all
set obs 400
set seed 1234
gen metodo= trunc((runiform() * 4) + 1)
gen palabras = trunc(rnormal(3000, 400))
replace palabras = palabras + 500 if metodo == 3

***************

La base simula la cantidad de palabras aprendidas en inglés luego de cursos de duración similar dictados según varios métodos de enseñanza, aquí llamados método 1, 2, 3 y 4.

Se pide al estudiante:

1) Haga un análisis gráfico que muestre la relación entre los distintos métodos y la cantidad de palabras aprendidas. ¿Cuáles son las conclusiones preliminares que saca?

2) El análisis gráfico, ¿sugiere que es posible realizar una regresión lineal para predecir la cantidad de palabras aprendidas en función del método?

3) Efectúe la regresión lineal anterior. ¿Cuál es la ecuación de regresión?

4) ¿Cuál es el método que en principio lleva a aprender más palabras?

5) La variable método, ¿es significativa?

6) ¿Entre qué métodos hay diferencias significativas, si las hay?


sábado, 25 de mayo de 2019

testparm y pwcompare. Video


Dos comandos útiles para analizar las variables categóricas en el seno de regresiones son testparm y pwcompare. Estos son comandos postestimación: primero debe hacerse la regresión que interesa y luego de estimarla se corren estos comandos.

testparm es útil para testear la hipótesis de que una variable categórica, introducida como un conjunto de variables dummy, no aporta al modelo. Por ejemplo, podemos tener en una regresion lineal la variable profesion con valores abogacía, escribanía y diplomacia.

testparm testea que los coeficientes de abogacía, escribanía y diplomacia son simultáneamente 0. Si el p-valor de testparm es mayor a 0.05, no podemos descartar la hipótesis nula de que todos los coeficientes sean 0 en el universo, y entonces probablemente no tiene sentido mantener la variable profesión en el modelo.

Si en cambio testparm arroja un p-valor menor a 0.05, no todas las profesiones tienen coeficientes iguales entre sí e iguales a 0 (recuérdese que en un modelo de regresión lineal la categoría base siempre tiene un coeficiente 0).

Y lo que hace pwcompare es comparar cada coeficiente con cada uno de los otros, y establecer cuáles de las diferencias son significativas. Por ejemplo, puede llegarse a la conclusión de que abogacía y diplomacia no tienen diferencias significativas entre sí, pero que sí las tienen con escribanía.

do file
Video

lunes, 20 de mayo de 2019

Ejercicio de regresión lineal con variable cualitativa no dicotómica (sin solución).


El siguiente ejercicio pedirá la construcción e intepretación de una regresión lineal con una variable predictora cualitativa no dicotómica. Se trata de hallar el valor esperado de quienes practican cricket, fútbol, básquetbol, maratonismo y golf dada la base de datos que se genera a partir de sintaxis.

**************************************
clear
set obs 300
set seed 12589
gen deporte = trunc(runiform()*5)
label define deporte  0 "cricket"
1 "futbol" 2 "basquetbol" 3 "maratonismo" 4 "golf" 
label values deporte deporte
gen puntaje_aerobico = round(rnormal(100,15)) if deporte <=2
replace puntaje_aerobico = round(rnormal(140,15)) if deporte == 3
replace puntaje_aerobico = round(rnormal(60,15)) if deporte == 4
**************************************


Ejercicio


  1. Pida las medias de puntaje para cada uno de los deportes.
  2. Corra la regresión, tomando como variable a predecir el puntaje en prueba aeróbica y como variable predictora el deporte practicado (No olvide pedirle a Stata que a partir de la variable  deporte genere variables dummy).
  3. ¿Se puede rechazar la hipotesis nula de que conocer el deporte que practica no aporta a la predicción del puntaje aeróbico? Explique.
  4. ¿Cuál es la varianza explicada por el modelo?
  5. ¿Cuál es la ecuación de predicción del modelo?
  6. ¿Qué predice el modelo para quienes practican cricket, fútbol, básquetbol, maratonismo y golf?
  7. ¿Coinciden estas predicciones con las medias de puntaje de los distintos deportes?
  8. Efectúe una regresión pidiendo como categoría base el golf. ¿Cuántos puntos adicionales sobre el golf se esperan para un maratonista?
  9. Los datos probablemente mostrarán mayor capacidad aeróbica del maratonista. ¿Se puede concluir solo a partir de estos datos que hay aquí una relación causal en la que el maratonismo incrementa la capacidad aeróbica? Fundamente su respuesta.


viernes, 10 de mayo de 2019

Regresión lineal simple. Variables cualitativas no dicotómicas. Video

En un video anterior, dijimos que en la regresión lineal pueden usarse como variables predictoras, variables cuantitativas y variables cualitativas, a condición de que estas sean dicotómicas, esto es, que tomen solo dos valores.

¿Pero que pasa cuando tenemos una variable caulitativa que toma 3 o más valores?

Estas variables también podemos usarlas como variables predictoras, a condición de transformarlas en variables dicotómicas (dummies).

En este video mostraremos como hacerlo.

Se trabajará con la base que genera la siguiente sintaxis.


********************************
clear all
set obs 200
set seed 5635
gen metodo_ensenanza = trunc(runiform() * 4 + 1)
gen puntaje = round(rnormal(200,15)) if metodo_ensenanza < 4
replace puntaje = rnormal(300,15) if metodo_ensenanza == 4
********************************




Video

martes, 30 de abril de 2019

Ejercicio de regresión lineal simple (sin solución).

Imaginemos que un conservatorio musical registró el tiempo que los estudiantes dedicaron al estudio y las evaluaciones que obtuvieron de expertos. Asumamos que los datos son los de la base que se genera a partir de la sintaxis que sigue.

****************************
clear all
set obs 200
set seed 1457
gen tiempo_estudio = round(runiform()* 30 + 150)
gen evaluacion= round(-60 + 1.6 * tiempo_estudio + rnormal(15,8))

****************************




Ejercicio

Genere una base de datos a partir de la sintaxis de arriba. Luego:

  1. Grafique la relación entre tiempo de estudio y evaluación.
  2. ¿La relación se muestra aproximadamente lineal?
  3. ¿Hay outliers (valores extremos) muy marcados? ¿Hay puntos muy apartados de la nube de puntos?
  4. Si la relación es aproximadamente lineal y no hay grandes outliers, halle la ecuación de regresión para predecir el resultado de la evaluación usando como variable predictora el tiempo de estudio.
  5. ¿El modelo es significativo? Explique cómo lo sabe a partir de la regresión y qué significa esto.
  6. ¿Cuál es el R cuadrado del modelo? ¿Cuál es el valor máximo y el valor mínimo que puede tomar el R^2? ¿Qué nos dice el R^2 del modelo?
  7. ¿Cuál es la ecuación de regresión para este modelo?

sábado, 20 de abril de 2019

Regresión lineal simple. Video


En este video se verán los primeros conceptos de regresión lineal simple. Se analizará la relación entre dos variables continuas: notas promedio en liceo y notas promedio en universidad.

Se trabajará con la base que surge de la siguiente sintaxis:

***************************
clear all
set obs 200
set seed 1458
gen notas_liceo = runiform() * 6 + 6
gen notas_universidad = notas_liceo + rnormal(0,1)
drop if notas_universidad > 12
gen sexo = rbinomial(1, 0.4)
label define sexo 0 "Hombre" 1 "Mujer"
label values sexo sexo
***************************


Video

miércoles, 10 de abril de 2019

Ejercicio de conversión de variables almacenadas como cadenas a variables almacenadas numéricamente (sin solución)

Genere una base de datos corriendo el siguiente archivo do:

***********************
clear all
set obs 200
set seed 1269
gen altura = rnormal(1.70, 0.06)
label variable altura "Altura en metros"
gen peso = altura*100 - 100 + rnormal(0,6)
gen cintura = peso + rnormal(5,7)
label variable cintura "Cintura en cm"
tostring altura, replace force
tostring peso, replace force
tostring cintura, replace force
replace peso = "Sin dato" in 4/6
replace peso = subinstr(peso, ".", "," , .)

***********************

Imaginemos que estos datos los obtuvimos de una base recogida en un servicio de salud.

Se le pide:
1) indique cuál es la media de peso.
2) indique cuál es la media de altura.
3) calcule el índice de masa corporal (IMC), que tiene como fórmula
IMC= peso en kg / (altura en metros) ^2
4) grafique la relación entre cintura e IMC, e interprete la gráfica


sábado, 30 de marzo de 2019

Comandos tostring y destring. Video

Los comandos tostring y destring se usan para cambiar el formato de almacenamiento de variables que tienen números.

Usualmente, si una variable tiene números y está en formato numérico, no requiere de más transformaciones. Pero a veces una variable con números puede estar almacenada en formato de cadena.


Un ejemplo: una variable que tiene números podemos importarla desde Excel y encontrarnos con que tiene un formato de cadena. Esto es, si por ejemplo en un caso tenemos el número 145, Stata puede no ver allí un número sino una sucesión de caracteres: un "1" seguido de un "4", seguido de un "5". O sea, ve el 145 como una cadena de caracteres, y no como un número que puede ser sumado, restado, etc.

Cuando tenemos números con los que queremos operar matemáticamente y figuran como de cadena, necesitamos reconvertirlos a formato numérico. Esto se hace con el comando destring.

A su vez, en alguna ocasión podemos querer transformar una variable numérica en una variable de cadena que tenga números. Por ejemplo, podemos desear hacer esto si tenemos varios archivos con una variable, por ejemplo "código", y en unos está como de cadena y en otros como numérica. Si deseamos fusionar estos archivos, tenemos que llevarlas a un mismo formato, por ejemplo de cadena. Podemos hacer esto con el comando tostring.

Mostraremos el uso de estos comandos con la base que se crea luego de correr este do file:

*********************************
clear all
set obs 100
set seed 1240
gen double altura = round(rnormal(170,5))
gen double peso = altura - 100 + rnormal(0,4)
replace peso = round(peso, 0.1)
tostring peso, gen(peso_str) force
replace peso_str= subinstr(peso_str, ".", ",", 1)
tostring altura, replace
gen salario = rnormal(300,50)
gen patrimonio = int(rnormal(10000,500))
tostring patrimonio, replace
replace patrimonio = "NA" in 4
*********************************


Video

miércoles, 20 de marzo de 2019

Ejercicio de fusión de archivos (sin solución)


En este ejercicio se presentan dos archivos, uno de personas y otro de hogares.

El de hogares tiene información sobre el tipo de techo de la vivienda y sobre si tiene patio. El de personas tiene información sobre sexo y edad.



Se pide fusionar los archivos y a continuación contestar  las siguientes preguntas:

¿Cuántas personas viven en casa con techo de losa?

¿Cuántos menores de 14 (de cualquier sexo) viven en casas con patio?

¿Cuantas mujeres viven en casas con patio o con techo de losa?



Archivo hogar

Archivo personas


domingo, 10 de marzo de 2019

Comando merge 1 a muchos, y muchos a 1. Video.

En esta entrada se mostrará como fusionar archivos en las modalidades uno a muchos (1:m) y muchos a uno (m:1).

Ambas modalidades realizan la misma fusión. Se diferencian solo del archivo que abren primero.




Archivo nombre_cargo

Archivo cargo_sueldo

Video

domingo, 10 de febrero de 2019

Ejercicio de fusión de archivos (sin solución)


La DGI tiene un archivo sobre cuánto pagan las personas de impuesto al patrimonio. A su vez, consiguió archivos sobre la gente que posee autos y sobre la que manda a sus hijos a colegios privados.

Algunos inspectores desean auditar a quienes no pagan nada de impuesto al patrimonio, y están en una de las tres situaciones que siguen:

a) tienen un auto de alta gama
b) mandan a sus hijos a un colegio de alta gama
c) tienen auto y mandan sus hijos a colegio privado (sean o no de alta gama)


Se pide:

Indique cuántas personas deberían ser auditadas usando los criterios anteriores.

Impuestos patrimonio
Autos
Colegios

miércoles, 30 de enero de 2019

Problema con fusión de archivos (con solución en video)


Se produjo un robo mediante la modalidad de entrar a través de un boquete.

La policía recibe la información de que fue visto el probable delincuente y que mide entre 175 y 180 cm de altura, ambos extremos incluidos.

Sospecha además que debe estar en su lista de boqueteros, y a su vez desea descartar a los que están presos. Tiene un archivo total de boqueteros del país, y otro de los boqueteros presos.

Problema:


Indicar cuántos boqueteros libres miden entre 175 y 180 y son por tanto sospechosos en primera instancia.



Boqueteros_total

Boqueteros_presos

Video con solución

sábado, 26 de enero de 2019

Ejercicio 5 de repaso acumulativo. Sin solución



Razas de perros



La base adjunta tiene información sobre perros.

  1. Indique cuál es el número total de perros de la base.

  1. Represente la variable Raza mediante una gráfica adecuada, con las razas con más ejemplares primero.

  1. Represente la variable Raza mediante una tabla de frecuencia adecuada, con las razas con más ejemplares primero.

  1. Represente la variable peso mediante una gráfica adecuada. Comente la forma de la distribución: ¿es simétrica? ¿es unimodal? ¿es sesgada a izquierda o derecha? ¿tiene outliers marcados?

  1. Si tiene valores imposibles, recodifique ese valor a un missing.

  1. Represente mediante los estadísticos adecuados la variable peso.

  1. Represente la variable Docilidad mediante una gráfica adecuada.

  1. Represente la variable Docilidad mediante estadísticos de resumen adecuados.

  1. Estudie la relación entre Raza y docilidad gráficamente. ¿Qué conclusiones saca? (No son necesarias aquí pruebas de significación ni coeficientes de asociación).

  1. Estudie la relación entre Raza y docilidad mediante tablas numéricas adecuadas. ¿Llega a las mismas conclusiones que mediante las gráficas?

  1. Estudie gráficamente la relación entre peso de los perros y fuerza. ¿Qué conclusión extrae?

  1. Recodifique el peso de los perros en estas franjas:

    • 0 a 12 kg, incluidos ambos extremos. Serán llamados "Peso Liviano".
    • 12 a 29 kg, incluida la última cifra. Serán llamados "Peso mediano – bajo".
    • 29 a 35 kg, incluida la última cifra. Serán llamados "Peso mediano – pesado".
    • Más de 35 kg. Serán llamados "Peso pesado".

  1. Las rotulaciones de estas categorías se harán mediante sintaxis.

  1. Haga una tabla en donde aparezcan de un lado las categorías de peso del punto anterior, y de otro las medianas de fuerza. ¿Qué pasa con la fuerza cuando aumenta el peso en la tabla?


domingo, 20 de enero de 2019

Fusión de archivos. Añadir variables 1 a 1. Comando merge. Video


En ocasiones es necesario unir informaciones que están en más de un archivo.

Por ejemplo, podríamos tener información sobre las personas, identificadas por su número de cédula, en 2 archivos: uno de ellos de jubilaciones percibidas y otro de deudas con el Banco República.

Para descontar las deudas, tenemos que generar un único archivo que tenga los ingresos y también las deudas de las personas, para así calcular los descuentos.

O se puede tener un archivo de personas que viajaron al exterior y otro de personas con Covid19, y se puede querer reunirlos para saber cuántas de las personas infectadas viajaron al exterior.

En estos casos y otros, se hace una fusión de archivos con el comando merge, en la modalidad uno a uno.

El video muestra una fusión con los archivos adjuntos.


Video


Archivo 1

Archivo 2

jueves, 10 de enero de 2019

Ejercicio 4 de repaso acumulativo. Sin solución.



Buscando empleados


Una empresa de colocaciones requiere personal para distintos puestos.
  1. Para el puesto 1, se solicita hombre para seguridad. Los requisitos: altura > 170, que hable inglés o alemán ( o ambos), y que tenga un índice de masa corporal de 23 o más. Si hay más de 10 aspirantes que reúnan los requisitos, seleccione los 10 más altos y haga una lista con las siguientes variables: identificación, altura, peso, habla alemán y habla inglés. Si hubiera menos de 10 se listarán todos.
  2. Para el puesto 2, se requiere hombre o mujer para recepción. Presencia formal, que hable inglés o alemán, pero no ambos, y que esté uno de los dos quintiles más altos de educación. Ordene la lista en sentido descendente según años de educación (las personas con más educación quedarán primeras), y luego emita una lista de 10 candidatos con las siguientes variables: identificación, habla alemán, habla inglés, presencia formal, años de educación. Si hubiera menos de 10, se listarán los que haya.
  3. Para el puesto 3, se requiere una mujer para relaciones públicas. Debe medir entre 164 y 175 cm. Su índice de masa corporal debe estar entre 22 y 24. No debe ser atea. Ordene la base por altura, y liste 10 posibles candidatos que cumplan con los requisitos. La lista contendrá las variables altura, índice de masa corporal, religión.
  4. El puesto 4 es de telefonista en embajada de Pakistán. Puede ser hombre o mujer. Debe saber inglés. Debe vestirse formalmente. No debe ser de religión hinduista. Debe estar en los quintiles 2, 3 o 4 de altura. Si hubiera más de 10 candidatos que cumplan con los requisitos, liste los 10 primeros por orden de altura (los más bajos tienen preferencia). Las variables que se listarán serán identificación, habla inglés, presencia formal, religión y altura.



domingo, 30 de diciembre de 2018

Autoevaluación parcial 1. Cuatro problemas con soluciones escritas.


Se adjuntan cuatro ejercicios.

Se invita al estudiante a tratar de resolverlos con los recursos aprendidos, y solo luego consultar mi solución.

Es un magnífico método de aprendizaje, y a la vez ayudará al estudiante a detectar aquellos puntos que necesitan repaso.




Bases y Letra evaluación parcial

Solución escrita y do file.

jueves, 20 de diciembre de 2018

Ejercicio con preserve, restore, keep y drop (sin solución)


En este ejercicio se tomará un archivo de la red, se dividirá en dos partes y luego se fusionarán esas dos partes para volver a tener un archivo similar al original.



  1. Corra el comando webuse lifeexp. Así cargará el archivo de datos lifeexp.dta. Dicho archivo tiene una variable región, que contiene las categorías Europa y Asia, Norteamérica y Sudamérica.
  2. Indique si la variable region tiene faltantes.
  3. Preserve ("saque una foto") del archivo lifeexp.dta (comando preserve)
  4. Quédese con los casos correspondientes a América. Grabe esos casos con el nombre America.dta (comandos keep o drop)
  5. Restaure el archivo lifeexp.dta con el comando restore.
  6. Quédese ahora con los casos que corresponden a Europa y Asia.
  7. Grabe dicho archivo con el nombre Europa_Asia.dta.
  8. Elimine los datos que Stata tiene en memoria con el comando clear all
  9. Abra el archivo que guardó con el nombre América.dta, y fusiónelo con el llamado Europa_Asia.dta.
  10. Pida una frecuencia de la variable region. ¿Están todos los casos originales?

lunes, 10 de diciembre de 2018

Comandos preserve / restore. Video.


Los comandos preserve y restore se usan en conjunto.

preserve "saca una foto" del estado de una base de datos en el momento en que se ejecuta.

Luego podemos generar variables, cambiarlas, eliminarlas, añadir casos, eliminarlos o lo que se desee.

El comando restore vuelve la base al momento en que se ejecutó el comando preserve.

Si más tarde se desea modificar nuevamente la base y volverla a la situación en que está al momento del preserve, se deberá correr nuevamente este comando. El preserve original se agota luego del restore, no sigue vigente.


Video

viernes, 30 de noviembre de 2018

Comando append. Video

El comando append permite fusionar archivos de datos de Stata que tienen fundamentalmente las mismas variables.

Por ejemplo, se generan archivos de personal en distintas sucursales y luego se desea reunirlos en un archivo único a nivel de empresa.

Los archivos deben tener las mismas variables y en los mismos formatos.

El comando append es similar a la función añadir casos de SPSS.


Video

martes, 20 de noviembre de 2018

Ejercicio 3 de repaso acumulativo. Sin solución.



Costo de políticas sociales


La base CostoPoliticasSociales.dat simula una serie de hogares, e indica los ingresos del hogar, el número de hijos chicos y los ingresos totales del hogar.
Se está estimado el costo de algunas políticas sociales.

  • Entregar $ 4000 a aquellos hogares que tienen hijos y que viven en viviendas deficitarias.
  • Entregar $ 2000 a cada hogar en que no hay cónyuge y hay 2 o más hijos.
  • Entregar $ 3000 a los hogares del primer quintil de ingresos.
  • Entregar $6000 a aquellos hogares con hijos y jefatura femenina sin conexión a Internet.
  1. Calcule cuánto recibiría cada hogar si recibiera todos los beneficios a los que sus condiciones de vida les darían derechos.
  2. Indique cuánto recibiría el hogar más favorecido y cuál es su identificación, y cuánto el hogar menos favorecido, y cuál es su identificación.
  3. Indique en una tabla cuál es la media de los beneficios que recibirían los hogares con jefatura femenina y cuál la media de los hogares con jefatura masculina.


sábado, 10 de noviembre de 2018

Ejercicio 2 de repaso acumulativo. Sin solución.



Investigación criminal.


La base InvestigacionCriminal.dat simula una base de personas con antecedentes penales.

Se ha cometido un crimen y hay tres testigos.

  • El primero de ellos dice que el culpable es un hombre de entre 165 y 175 cm (ambos extremos incluidos) con un tatuaje en el brazo derecho.
  • El segundo testigo dice que es un hombre de apellido López, que es obeso (se interpretó como un índice de masa corporal > 30).
  • El tercer testigo afirma que es un hombre con sobrepeso u obeso (se interpretó como un índice de masa corporal superior a 25), y con un tatuaje en uno de los brazos.
  1. Se desea saber qué personas de la base (si las hay) concuerdan simultáneamente con las descripciones de los tres testigos. Haga una lista, ordenada por identificación, con las identificaciones de los que cumplen con las descripciones de los tres testigos (Si la lista excede los 10 casos presente solo los 10 primeros).
  2. Adicionalmente se quiere saber qué personas concuerdan con por lo menos dos de las descripciones. Presente una lista, ordenada por identificación, de las identificaciones de los sospechosos (si la lista excede los 15 casos, presente solo los 15 primeros).


martes, 30 de octubre de 2018

Ejercicio1 de repaso acumulativo. Sin solución.



En este ejercicio se repasa:  exploración general de la base, análisis univariado, análisis bivariado, recodificaciones, cálculos, confección de listados.



Base y letra del problema (archivo rar)

sábado, 20 de octubre de 2018

Comando de usuario asdoc. Video

El comando de usuario asdoc permite exportar tablas de calidad a un documento Word. La ventaja de exportarlas así es que se puede editar: añadirle títulos, ponerle notas al pie, etc.

asdoc permite además ponerle títulos a las tablas, elegir el tamaño de la letra, elegir la cantidad de cifras decimales, etc.


Video

lunes, 10 de septiembre de 2018

Ejercicio con sort e in (sin solución)


Abra el archivo lifeexp.dta que viene con Stata.

Conteste las siguientes preguntas:

¿Cuáles son los 3 países con menor PBI per cápita (variable gnppc) de la base?

¿Cuáles son los 3 países con menor PBI per cápita de la región Europa _ Asia?

¿Cuáles son los 5 países con mayor porcentaje de agua potable de la región sudamericana?

¿De los países que tienen una expectativa de vida mayor o igual a 60 años, cuál es el que tiene menor PBI per cápita?


jueves, 30 de agosto de 2018

Ejercicio con sort e in (con solución en video)


Cárguese en memoria el archivo auto.dta, que viene con Stata.

Conteste las siguientes preguntas:

¿Cuáles son las 5 marcas y modelos (variable make) más económicas de la base?

De los autos que rinden entre 28 y 36 millas por galón (variable mpg), ¿cuáles son las tres marcas (variable make) más económicas?

El auto de mayor peso, ¿es nacional o extranjero (variable foreign)? ¿de qué marca es (variable make)?


Video

sábado, 25 de agosto de 2018

Ejercicio con comando egen, sobre familias y alturas. Sin solución.


Base de datos

Letra del problema

El calificador "in" (texto)


Se dice que "in" es un calificador. ¿Por qué?

Porque califica, especifica, las observaciones a que se aplicarán un conjunto de comandos.

 En la ayuda de "in" se ponen los siguientes ejemplos.



 sysuse auto
        . list price in 10                                                                                                                   
 Ese "in 10" significa que solo se tomará la observación Nro. 10.

        . list price in 10/20












"in 10/20" significa que se listarán las observaciones que van del 10 al 20





        . list price in 20/l 
"in 20/l" indica que se tomarán las observaciones de 20 hasta la última (l por last: No es un 1).


"in 20/L" es una expresión sinónima de la anterior, esta vez con mayúscula.
                                                                                                                                      
        . list price in -10/l  (expresión sinónima de -10/L)
"in -10/l" significa las 10 últimas. De la menos 10 a la última (last). No confundir la letra l con un número 1.










Este calificador se aplica con frecuencia en combinación con sort.
Por ejemplo, si queremos los 8 precios más baratos, podemos ordenar la base y luego pedir los primeros ocho casos.


sort precio
list precio in 1/8


Y si quisiéramos los siete precios más caros los podríamos pedir así:
gsort - precio
list precio in 1/7

lunes, 20 de agosto de 2018

Comandos "sort" y "gsort". Video.


Los comandos sort y gsort sirven para ordenar la base según una o más variables.

sort

sort ordena la base de forma ascendente.

Ejemplo: si queremos ordenar una base de forma ascendente según la variable precio deberemos escribir el comando
sort precio



gsort

El comando gsort (por generalized sort) es más amplio: permite ordenar en forma ascendente o descendente.

Si quisiéramos ordenar por precios ascendentes, podemos escribir:

gsort price (o, lo que es equivalente, gsort + price)


Si quisiéramos ordenar por precios descendentes, podemos escribir:

gsort - price


Ordenando por dos o más variables


Tanto con gsort como con sort es posible ordenar por dos variables o más. ¿Qué quiere decir ordenar por dos variables? Ordenar por la primera variable, y si hay empates en la primera, ordenar los casos empatados en la primera por una segunda variable.

Por ejemplo, el comando

gsort color -precio

ordenaría primero por color, y dentro de cada color, si hay empates, en forma descendente por precio.



Pero, ¿para qué sirve ordenar la base?

En general las bases se ordenan cuando se desean conocer los valores menores o mayores de alguna variable.

Por ejemplo, si tenemos una base de libros puede interesarnos saber cuáles son los más vendidos, o los menos vendidos.

Si vamos a comprar un auto, puede ser interesante conocer cuáles tienen mejor kilometraje por litro de nafta, etc.






Video










sábado, 18 de agosto de 2018

Ejercicio sobre escuelas y alumnos, con comando egen y otros (sin solución)




En la base anexa hay datos sobre escuelas y alumnos.


  1. ¿Qué variables se refieren a las clases?
  2. ¿Qué variables se refieren a los alumnos?
  3. ¿Hay relación entre la cantidad de alumnos que tienen las clases y las notas individuales que sacan los alumnos? ¿Parecen ser mejores iguales o peores las notas de los alumnos de clases más grandes?
  4. ¿Qué porcentaje de los alumnos excelentes (10 o más puntos) cursó con un equipamiento bueno?


Base de datos