You are on page 1of 15

Ayudantia 3

Víctor Landaeta Torres


23/10/2017

Problema 6
Las calificaciones de 40 alumnos en psicología evolutiva y en estadística han sido las de la tabla adjunta.

a) Obtener la ecuación de la recta de regresión de calificaciones de estadística respecto de las calificaciones


de psicología.
b) ¿Cuál será la nota esperada en estadística para un alumno que obtuvo un 4,5 en psicología?
c) ¿Cuál es el coeficiente de correlación entre las notas en psicología y las notas en estadística? ¿Cuánto
porcentaje de la varianza está explicada en la regresión del item a) ?

Solución

a) Primero, ingresamos los datos de la tabla en variables en R.


psicologia <- c(3,4,5,6,6,7,7,8,10)
estadistica <- c(2,5,5,6,7,6,7,9,10)
n_alumnos <- c(4,6,12,4,5,4,2,1,2)

Ojo que esta tabla es una tabla de frecuencias para los pares de notas de psicología y estadística. Por
tanto, para crear dos vectores que tengan todas las notas de psicología y estadística, con las repeticiones
correspondientes, podemos construirlas ocupando una funcion que se llama rep.
Esta función tiene los argumentos x y times, donde el primero es la variable (vector) que quieres que se repita
y times es el vector con la cantidad de veces que quieres que se repita. Los argumentos están vectorizados, lo
que significa que si ambos vectores tienen el mismo largo, el primer elemento de x se va a repetir tantas veces
como indique el primer elemento de times, el segundo elemento de x como el segundo elemento de times y así
sucesivamente.
veamos que pasa cuando ejecutamos
rep(x = psicologia, times = n_alumnos )

## [1] 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6
## [24] 6 6 6 6 6 6 6 6 7 7 7 7 7 7 8 10 10
Entonces, construimos las nuevas variables

1
X_psicologia <- rep(x = psicologia,times=n_alumnos)
Y_estadistica <- rep(x = estadistica,times=n_alumnos)

Recordando que el modelo estimado sería


Ŷi = α̂ + β̂Xi
Como quiero predecir las notas en estadística respecto a las notas en biología, las notas en estadística serán
mi variable dependiente (Y ) y las notas en psicología mi variable independiente (X). Recordando además que

Cov(X, Y ) sY
β= =r
V ar(X) sX
y que
α̂ = Y − β̂X

Entonces, calculamos primero el parámetro β. En orden de mostrar los comandos y las multiples opciones
que tenemos en R, lo haremos de distintas formas.

PiXi Yi Pi Xi Pi Yi
Cov(X, Y ) E[XY ] − E[X]E[Y ] N −
β= = = PNi Xi 2 N
E[X 2 ] − E[X]2
P i Xi 2
V ar(X)
N − ( N )

beta_I <- (sum(X_psicologia*Y_estadistica)/(sum(n_alumnos)) - (sum(X_psicologia)/(sum(n_alumnos)))* (sum

beta_I

## [1] 1
beta_II <- (mean(X_psicologia*Y_estadistica)-mean(X_psicologia)*mean(Y_estadistica))/(mean(X_psicologia^

beta_II

## [1] 1
beta_III <- cov(x = X_psicologia,y = Y_estadistica)/var(x = X_psicologia)

beta_III

## [1] 1
Como vemos, las tres formas me dan el mismo resultado. Pero definitivamente la más sencilla es la III.
Ahora calculamos el estimador para α
alpha <- mean(Y_estadistica) - beta_III * mean(X_psicologia)
alpha

## [1] 0.1
Por lo tanto, la ecuación de la recta de regresión buscada será

Ŷ = 0.1 + 1 · X

b)
Reemplazamos un 4.5 en la recta de regresión obtenida en a)

0.1 + 1 · 4.5 = 4.6

2
La nota esperada en estadística habiendo obtenido un 4,5 en psicología es de 4,6
c) El coeficiente de correlación de Pearson entre dos variables aleatorias cuantitativas está dado por

Cov(X, Y )
rXY =
sd(X)sd(Y )

Entonces,
coef_correlacion <- cov(x = X_psicologia,y = Y_estadistica)/(sd(X_psicologia)*sd(Y_estadistica))

coef_correlacion

## [1] 0.9172916
El coeficiente de determinación o Bondad de Ajuste, también llamado R2 , describe el porcentaje de variación
de la variable de respuesta que se explica con su relación con una o más variables predictoras. Es una medida
de que tan bien describe el modelo estimado la realidad. Definiendo:
• Suma Total de Cuadrados: ST C = (Yi − Ȳ )2
P

• Suma Explicada de Cuadrados: SEC = (Ŷi − Ȳ )2


P

• Suma Residual de Cuadrados: SRC = (Yi − Ŷ )2


P

En el modelo simple (bivariado con intercepto) estimado por minimos cuadrados ordinarios, se cumple que
ST C = SEC + SRC (ver demostración en clase 3 del apunte). Y el coeficiente de bondad de ajuste R2 se
define como:
SRC
R2 = 1 −
ST C
Entonces, combinando las dos ecuaciones anteriores, en un modelo simple también se cumple que

SEC
R2 =
ST C
Calculamos SEC, SRC y ST C Para ello, primero definimos todos los Y estimados.
Y_estimado <- alpha + beta_III*X_psicologia
stc <- sum((Y_estadistica-mean(Y_estadistica))^2)
sec <- sum((Y_estimado - mean(Y_estadistica))^2)
src <- sum((Y_estadistica - Y_estimado )^2)

R_cuadrado_I <- sec/stc


R_cuadrado_II <- 1-src/stc

R_cuadrado_I

## [1] 0.8414239
R_cuadrado_II

## [1] 0.8414239
Vemos que ambos valores son iguales. Es importante recordar también que en un modelo simple, el R2 es
también igual al cuadrado del coeficiente de correlación de Pearson. Veamos si es así
R_cuadrado_III <- coef_correlacion^2

R_cuadrado_III

## [1] 0.8414239

3
Por último, veremos como R posee comandos específicos para haber calculado todo lo que hicimos en muchas
menos líneas de código, y como se trabaja una regresión lineal simple en este programa.
Primero, para estimar un modelo lineal, se ocupa la función lm.
En este caso, respondiendo las preguntas
modelo <- lm(formula =Y_estadistica ~ X_psicologia)

# Para ver los coeficientes ejecuto

modelo

##
## Call:
## lm(formula = Y_estadistica ~ X_psicologia)
##
## Coefficients:
## (Intercept) X_psicologia
## 0.1 1.0
# Con esto, ya tengo la pregunta a). Para contestar b), ocupamos la función predict

predict(object = modelo, newdata = data.frame(X_psicologia = 4.5))

## 1
## 4.6
# Para c), tenemos dos partes.
# Primero, para calcular un coeficiente de correlación entre dos variables, ocupamos la función cor()

cor(x = X_psicologia, Y_estadistica)

## [1] 0.9172916
# Vemos que es igual al coeficiente de correlación encontrado anteriormente
coef_correlacion

## [1] 0.9172916
# El R cuadrado del modelo, así como otros parámetros en los cuales después profundizaremos,
# vienen todos precalculados, y se pueden ver aplicando la función summary al modelo

summary(modelo)

##
## Call:
## lm(formula = Y_estadistica ~ X_psicologia)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.1 -0.1 -0.1 0.9 0.9
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.10000 0.40363 0.248 0.806
## X_psicologia 1.00000 0.07042 14.200 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

4
##
## Residual standard error: 0.7182 on 38 degrees of freedom
## Multiple R-squared: 0.8414, Adjusted R-squared: 0.8373
## F-statistic: 201.6 on 1 and 38 DF, p-value: < 2.2e-16
\\

5
Problema 7
El coeficiente de correlación entre dos variables X e Y es 0.6. Sabiendo además que, x̄ = 10 sx = 1.5 ȳ = 20
sy = 2
a) Hallar las rectas de regresión de Y/X y de X/Y
b) Calcular la varianza residual para las dos regresiones anteriores

Solución

a) Recta de regresión de Y sobre X:


cov(X, Y ) cov(X, Y )
ŷ − ȳ = βYˆ|X (x − x̄) = (x − x̄) = (x − x̄)
var(X) sx 2
Recta de regresión de X sobre Y :

ˆ (y − ȳ) = cov(X, Y ) (y − ȳ) = cov(X, Y ) (y − ȳ)


x̂ − x̄ = βX|Y
var(Y ) sy 2
En ambas ecuaciones solo nos falta un término, cov(X, Y ), pero sabemos que el coeficiente de correlación
es
cov(X, Y )
r = 0.6 =
sx · sy

cov(X, Y ) = r · sx · sy = 0.6 · 1.5 · 2 = 1.8


Por lo tanto,
Recta de regresión de Y sobre X:
cov(X, Y )
ŷ − ȳ = (x − x̄)
sx 2
1.8
ŷ − 20 = (x − 10)
1.52
=⇒ y = 12 + 0.8x
Recta de regresión de X sobre Y :
cov(X, Y )
x̂ − x̄ = (y − ȳ)
sy 2
1.8
x̂ − 10 = (y − 20)
22
=⇒ x = 1 + 0.45x

b) Sabemos que

SRC
R2 = 1 − =⇒ SRC = ST C(1 − R2 )
ST C
Con SRC dado por i (yˆi − yi )2 y ST C dado por i (yi − ȳ)2 , para el caso de la regresión de Y |X, y
P P
lo mismo con la variable x para X|Y . A la vez, sabemos que R2 = r2 en un modelo lineal univariado,
que r es igual para Y |X y para X|Y , y que

(yi − ȳ)2
P X
V ar(Y ) = sy = i
2
=⇒ (yi − ȳ)2 = ST CY |X = sy 2 (n − 1)
n−1 i

6
Entonces,
SRCY |X
SRCY |X = ST CY |X (1−R2 ) = (n−1)sy 2 (1−R2 ) =⇒ = V arianzaResidualY |X = sy 2 (1−R2 )
n−1
Análogamente es fácil notar que

V arianzaResidualX|Y = sx 2 (1 − R2 )

Entonces, reemplazando:

V arianzaResidualY |X = 22 (1 − 0.62 ) = 2.56


V arianzaResidualX|Y = 1.52 (1 − 0.62 ) = 1.44

Problema 8
El Coast Starlight Amtrak train va desde Seattle a Los Angeles. El scatterplot de más abajo muestra la
distancia entre cada parada y la siguiente (en millas) y la cantidad de tiempo que toma viajar desde una
parada a otra (en minutos)

Figure 1:

a) Describe la relación entre distancia y tiempo de viaje


b) ¿Cómo cambiaría la relación si el tiempo de viaje fuera medido en horas, y la distancia fuera medida en
kilómetros?

7
c) La correlación entre tiempo de viaje (en millas) y distancia (en minutos) es de r = 0.636. ¿Cuál es la
correlación entre tiempo de viaje (en kilómetros) y distancia (en horas) ?
El promedio de tiempo de viaje entre una estación y la siguiente es de 129 minutos, con una desviación
estándar de 113 minutos. La distancia promedio entre una estación y la siguiente es de 108 millas, con
una desviación estándar de 99 millas.
d) Escribe la ecuación de la recta de regresión que predice tiempo de viaje
e) Interpreta la pendiente y el intercepto en este contexto
f) Calcula el R2 de la regresión, e interpretalo en el contexto de esta aplicación.
g) La distancia entre Santa Bárbara y Los Angeles es de 103 millas. Usa el modelo para estimar el tiempo
que se toma el *Starlight* en viajar entre esas dos ciudades
h) El tiempo real de viaje entre Santa Bárbara y Los Angeles en el *Coast Starlight* es de 168 minutos.
Calcula el residuo y explica el significado de este valor residual
i) Suponga que *Amtrak* está pensando en añadir una parada al *Coast Starlight* a 500 millas de Los
Angeles. ¿Sería apropiado usar este modelo lineal para predecir el tiempo de viaje desde Los Angeles a
esta nueva parada?

Solución

a) Hay una posible relación lineal debil y positiva entre la distancia y el tiempo de viaje. Hay clustering
en la esquina izquierda de abajo, a lo cual deberíamos tomarle especial atención.
b) Cambiar las unidades no cambia la forma, dirección o fuerza de la relación entre las dos variables.
c) Como vimos anteriormente, el coeficiente de correlación no cambia si hay cambio de variables, por lo
tanto el mismo, r = 0.636
d) Primero, calculemos la pendiente. Recordando que
sy
β̂ = r
sx
113
β̂ = 0.636 ·= 0.726
99
Ahora calculamos el parámetro α. Recordando que una recta de regresión siempre pasa por el punto
(x̄, ȳ), tenemos que:
ȳ = α̂ + β̂ x̄
Esto implica que
α̂ = ȳ − β̂ x̄ = 129 − 0.726 · 108 = 50.59
Por lo tanto, la recta de regresión está dada por

Tviaje = 50.59 + 0.726 · D

Siendo T tiempo y D distancia.


e) La pendiente: por cada milla adicional de distancia, el modelo predice 0.726 minutos de viaje adicionales
en el tiempo de viaje. El intercepto: Cuando la distancia viajada es de 0 millas, el tiempo de viaje
esperado es de 50.59 minutos. No tiene sentido tener un viaje de 0 millas en este contexto. El intercepto
en este caso sirve solo para ajustar la altura de la línea y no tiene significado por si mismos.
f) Recordamos que en una regresión lineal univariada

R2 = r 2

8
por lo tanto
R2 = 0.6362 = 0.404
El 40.4% de la varianza en el tiempo de viaje está contabilizado en el modelo, esto es, explicado por la
distancia viajada.
g)
Tviaje = 50.59 + 0.726 · D
La distancia de Santa Barbara a Los Angeles es de 103 millas, por tanto, la predicción será

Tviaje = 50.59 + 0.726 · 103 ≈ 126 minutos

h)
ûi = yi − yˆi = 168 − 126 = 42 minutos
Un residuo positivo significa que el modelo subestimó el tiempo de viaje.
i) No, porque 500 millas no están en el rango de la variable distancia.

9
Problema 9
El siguiente resultado de una regresión es para una predicción de homicidios aunales por millón usando la
variable porcentaje de la población viviendo en la pobreza, en una muestra aleatoria de 20 áreas metropolitanas.

Figure 2:

a) Escribe el modelo lineal


b) Interpreta el intercepto
c) Interpreta la pendiente
d) Interpreta el R2
e) Calcula el coeficiente de correlación
f) ¿Cuáles son las hipótesis para evaluar si el porcentaje de pobreza es un predictor significativo de la tasa
de homicidios?
g) ¿Cuál es la conclusión de este test de hipótesis de la pregunta *f)* en el contexto de los datos?
h) Calcula un intervalo de confianza del 95 % para la pendiente del porcentaje de pobreza, e intrepretalo
en el contexto de los datos.

10
Solución

a)
\ = −29.901 + 2.559 · poverty%
murder

b) La tasa de homicidos estimada en áreas metropolitanas sin pobreza es de −29.901 por millón. Esto
obviamente no tiene sentido, solo sirve para ajustar la altura de la linea de regresión.
c) Por cada 1 % de incremento en pobreza, se espera que los homicidios aumenten en 2.559 por millón.
d) El nivel de pobreza explica un 70.52% de la varianza en las tasas de homicidio en áreas metropolitanas.
√ √
e) En un modelo lineal simple, R2 = r2 por lo tanto r = R2 = 0.7052 ≈ 0.84
f)
H0 : βpoverty% = 0 ; HA : βpoverty% 6= 0

g) El p-value para este test es aproximadamente 0, por lo tanto rechazamos H0 . Es decir, los datos nos
proveen evidencia que la pobreza es un predictor significativo de la tasa de homicidios.
h) Un intervalo de confianza de nivel (1 − α)para un coeficiente estimado de regresión β̂ está dado por

β̂ ± tdf,α/2 · SE(β̂)

Siendo SE(β̂) el error estándar asociado al coeficiente y tdf,α/2 el percentil de la distribución t student
con df grados de libertad, que deja a su derecha un área de α/2%. Los grados de libertad están dados
por el número de observaciones n de una muestra, menos el número de parámetros del modelo. Como
un modelo lineal simple tiene dos parámetros, en este caso df = n − 2. Vemos que en la tabla está
indicado el error estándar para este parámetro (0.390) y en el enunciado se indicaba que la muestra era
sobre 20 áreas metropolitanas. Para encontrar entonces el valor de tdf =18,α/2=2.5%
qt(0.025, df = 18, lower.tail = F)

## [1] 2.100922
Por lo tanto, el intervalo de confianza está dado por

β̂ ± 2.1 · 0.390 = (1.74, 3.378)


O sea, por cada aumento de una unidad en porcentaje de pobreza se espera que la tasa de asesinatos aumente
en promedio entre 1.74 a 3.378 por millón.

11
# Problema 10
En R, carga los datos mtcars ejecutando el comando data(mtcars). Con ayuda de google
a) Haz un gráfico ‘mpg‘ v/s ‘wt‘. Agrega labels para el eje X e Y, titulo y cambia la forma y el color de los
puntos.
b) Realiza un modelo lineal cuya variable explicada sea Millas por Galón y cuya variable explicativa sea
el peso del auto y guárdalo en una variable llamada ‘mpg.fit‘. Agrega la linea de regresión al gráfico
anterior utilizando el comando abline.
c) Reporta los valores de β y del R2 .
d) Crea una nueva variable llamada ‘mpg estimado‘ que ocupe el modelo calculado en *a)* para predecir
los valores estimados para los mismos pesos de los autos.
e) Haz un gráfico ‘mpg estimado‘ v/s ‘mpg‘

Solución

#cargamos los datos


data("mtcars")
#algunos comandos para revisar un dataset
head(mtcars)

## mpg cyl disp hp drat wt qsec vs am gear carb


## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
str(mtcars)

## 'data.frame': 32 obs. of 11 variables:


## $ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
## $ cyl : num 6 6 4 6 8 6 8 4 4 6 ...
## $ disp: num 160 160 108 258 360 ...
## $ hp : num 110 110 93 110 175 105 245 62 95 123 ...
## $ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
## $ wt : num 2.62 2.88 2.32 3.21 3.44 ...
## $ qsec: num 16.5 17 18.6 19.4 17 ...
## $ vs : num 0 0 1 1 0 1 0 1 1 1 ...
## $ am : num 1 1 1 0 0 0 0 0 0 0 ...
## $ gear: num 4 4 4 3 3 3 3 4 4 4 ...
## $ carb: num 4 4 1 1 2 1 4 2 2 4 ...
summary(mtcars)

## mpg cyl disp hp


## Min. :10.40 Min. :4.000 Min. : 71.1 Min. : 52.0
## 1st Qu.:15.43 1st Qu.:4.000 1st Qu.:120.8 1st Qu.: 96.5
## Median :19.20 Median :6.000 Median :196.3 Median :123.0
## Mean :20.09 Mean :6.188 Mean :230.7 Mean :146.7
## 3rd Qu.:22.80 3rd Qu.:8.000 3rd Qu.:326.0 3rd Qu.:180.0
## Max. :33.90 Max. :8.000 Max. :472.0 Max. :335.0
## drat wt qsec vs

12
## Min. :2.760 Min. :1.513 Min. :14.50 Min. :0.0000
## 1st Qu.:3.080 1st Qu.:2.581 1st Qu.:16.89 1st Qu.:0.0000
## Median :3.695 Median :3.325 Median :17.71 Median :0.0000
## Mean :3.597 Mean :3.217 Mean :17.85 Mean :0.4375
## 3rd Qu.:3.920 3rd Qu.:3.610 3rd Qu.:18.90 3rd Qu.:1.0000
## Max. :4.930 Max. :5.424 Max. :22.90 Max. :1.0000
## am gear carb
## Min. :0.0000 Min. :3.000 Min. :1.000
## 1st Qu.:0.0000 1st Qu.:3.000 1st Qu.:2.000
## Median :0.0000 Median :4.000 Median :2.000
## Mean :0.4062 Mean :3.688 Mean :2.812
## 3rd Qu.:1.0000 3rd Qu.:4.000 3rd Qu.:4.000
## Max. :1.0000 Max. :5.000 Max. :8.000
# a)

plot(x = mtcars$wt,y = mtcars$mpg,xlab = "wt",


ylab = "mpg",col="red", pch=17)
30
25
mpg

20
15
10

2 3 4 5

wt
# b)

mpg.fit <- lm(formula = mpg ~ wt ,data = mtcars)

plot(x = mtcars$wt,y = mtcars$mpg,xlab = "wt",


ylab = "mpg",col="red", pch=17 )
abline(mpg.fit)

13
30
25
mpg

20
15
10

2 3 4 5

wt
# c) Para ello, ejecutamos la función summary sobre la variable que nos guardó la regresión

summary(mpg.fit)

##
## Call:
## lm(formula = mpg ~ wt, data = mtcars)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.5432 -2.3647 -0.1252 1.4096 6.8727
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 37.2851 1.8776 19.858 < 2e-16 ***
## wt -5.3445 0.5591 -9.559 1.29e-10 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.046 on 30 degrees of freedom
## Multiple R-squared: 0.7528, Adjusted R-squared: 0.7446
## F-statistic: 91.38 on 1 and 30 DF, p-value: 1.294e-10
# Por lo tanto, el beta estimado para la variable wt es de -5.3445 y el R^2 es de 0.7528

# d)
mpg.estimado <- predict(mpg.fit)

# e)

plot(x = mtcars$mpg,y = mpg.estimado ,xlab = "mpg observado",


ylab = "mpg estimado",col="blue", pch=16,xlim = c(0,40),ylim = c(0,40) )
abline(coef = c(0,1) )

14
40
30
mpg estimado

20
10
0

0 10 20 30 40

mpg observado

15

You might also like