Hoja de Trabajo 3 - Grupo 1

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 12

Maestría en Estadística Aplicada

Modelos de Regresión Lineal


Docente: Lic. M.A. Andre Chocó

Tarea 3. Hoja de trabajo III: Selección de variables y Modelo Lineal General

Nombre Clave
Victor Vicente Ochoa Contreras 13
Jorge Humberto Ramos Santizo 14
Boris Massaru Quan Alvarado 17
Estuardo José Estrada Godínez 24
Ronald Antonio Sandoval López 25
Nixon Berni Noriega Urizar 29

Instrucciones: Esta es una tarea grupal (grupos de 4 a 6 estudiantes). Responda clara y


brevemente a cada cuestionamiento y en caso de que se requieran operaciones
matemáticas o manejo de software deje constancia de la evidencia correspondiente. Al
finalizar convierta el documento a formato PDF y súbalo a la plataforma a más tardar el
jueves 4 de abril de 2024 a las 23 59 horas (sin excepciones). CADA INTEGRANTE DEL
GRUPO DEBE SUBIR SU TAREA DE FORMA INDIVIDUAL.

1
SERIE ÚNICA. SINTAXIS DE R

CASO A
Trabaje con la dataframe venta_frente_a_publicidad.xslx. Para cada cuestionamiento vaya
indicando la sintaxis específica para resolver la tarea solicitada y el resultado, interpretación
y razonamiento, cuando aplique:

R Script

library( dyverse)
library(car)

#Selección de variables indicadas

venta_publicidad <- data.frame(venta_frente_a_publicidad$ventas_semanales_dolares,


venta_frente_a_publicidad$tv, venta_frente_a_publicidad$radio,
venta_frente_a_publicidad$periodico, venta_frente_a_publicidad$redes)

colnames(venta_publicidad) <- c("venta_semanal","tv","radio","periodico","redes")

#la variable ventas_semanales_dolares se renombra venta_semanal

2
R Script

#Modelo Vacío
modelo_vacio <- lm(venta_semanal ~ 1, data = venta_publicidad)
summary (modelo_vacio)

#Modelo Saturado
modelo_saturado <- lm(venta_semanal ~ ., data = venta_publicidad)
summary(modelo_saturado)

#Forward Model
modelo_forward <- step(modelo_vacio, scope=list(lower=modelo_vacio, upper=modelo_saturado),
direc on = "forward")
modelo_forward
summary(modelo_forward)

#Backward model
modelo_backward <- step(modelo_saturado, scope=list(lower=modelo_vacio, upper=modelo_saturado),
direc on = "backward")
modelo_backward
summary(modelo_backward)

#Stepwise model
modelo_stepwise <- step(modelo_vacio, scope=list(lower=modelo_vacio, upper=modelo_saturado),
direc on = "both")
modelo_stepwise
summary(modelo_stepwise)

3
4
R Script

#Cuadro de comparación de estadís cos de bondad de ajuste

library(Metrics)
Modelos <- c("Forward", "Backward","Stepwise")
R2aj <- c(summary(modelo_forward)$adj.r.squared, summary(modelo_backward)$adj.r.squared,
summary(modelo_stepwise)$adj.r.squared) #R2 ajustado
AIC <- c(AIC(modelo_forward), AIC(modelo_backward), AIC(modelo_stepwise)) #Akaike
BIC <- c(BIC(modelo_forward), BIC(modelo_backward), BIC(modelo_stepwise)) #Bayesiano

obs <- venta_publicidad$venta_semanal


valores_ajustados_mf <- fi ed(modelo_forward)
valores_ajustados_mb <- fi ed(modelo_backward)
valores_ajustados_ms <- fi ed(modelo_stepwise)
RMSE <- c(rmse(obs,valores_ajustados_mf), rmse(obs,valores_ajustados_mb),
rmse(obs,valores_ajustados_ms))

estadis cos <- data.frame(Modelos, R2aj, AIC, BIC, RMSE)


estadis cos

5
R Script

#Coeficientes y efectos

resumen <- summary(modelo_stepwise)


resumen

Los modelos “Forward”, “Backward” y “Stepwise” son idénticos en sus respectivas variables de
comparación estadísticas, por lo que podemos seleccionar cualquiera de los 3 modelos, que nos
daría lo mismo. Podemos asumir que, al ser variables pre-seleccionadas por su nivel predictivo, los
modelos quedaron iguales. Al tener un R2 de 0.7585, se puede inferir que los modelos tienen tiene
un buen nivel predictivo.

Las variables tv, radio y redes parecen ser significativas en el modelo (p < 0.05). La variable periodico
no es significativamente diferente de cero en el nivel del 5% (p > 0.05), lo que sugiere que no hay
suficiente evidencia para afirmar que tiene un efecto significativo sobre la variable dependiente en
este modelo.

6
R Script

#Calculo de VIF

VIF <- vif(modelo_stepwise)


VIF

No se presenta problemas de multicolinealidad para ninguno de los modelos, dado que ningún VIF
es mayor a 5. Por tal motivo, podemos afirmar que no existe dicho fenómeno en ningún modelo.

7
CASO B
Trabaje con la dataframe adjunto Funding.csv. Para cada cuestionamiento vaya indicando
la sintaxis específica para resolver cada tarea que a continuación se le solicita:

R Script

trasplante = read.csv("Funding.csv", header = T)


library( dyverse)
library(car)
library (Metrics)

trasplante %>%
ggplot(aes(x = dollars, y = disabil)) + geom_point() +
labs(x = "Años-Persona", y = "Fondos de inves gación") +
stat_smooth(method = "lm")

#modelo lineal

modelo1 <- lm(disabil ~ dollars, data = trasplante)


S(modelo1)

#TEST DE RAMSEY

RAMSEY <- rese est(modelo1)


RAMSEY

Hipótesis:
Ho: La regresión lineal se modela correctamente como lineal.
H1: La regresión lineal no tiene una relación lineal.

Al ser el valor de P bajo, encontramos un valor no significativo, por ello, se puede concluir
que esta relación lineal no será suficiente para el modelamiento de una relación entre las

8
variables “disabil” y “dollars”. La relación no es lineal, por lo que se rechaza la hipótesis nula
Ho y se acepta la hipótesis alternativa H1.

R Script

#transformación logarítmica, variable de respuesta


modelo2 <- lm(log10(disabil) ~ dollars, data = trasplante)
S(modelo2)

#transformación logarítmica, variable independiente


modelo3 <- lm(disabil ~ log10(dollars), data = trasplante)
S(modelo3)

#transformación de ambos términos


log_log_model <- lm(log10(disabil) ~ log10(dollars), data = trasplante)
log_log_model
S(log_log_model)

#cuadro compara vo
modelos_comparacion <-c("Lineal", "Log (V. Respuesta)", "Log (V. Independiente)", "Potencial")
R2 <- c(summary(modelo1)$r.squared, summary(modelo2)$r.squared,
summary(modelo3)$r.squared, summary(log_log_model)$r.squared)
AIC <- c(AIC(modelo1), AIC(modelo2), AIC(modelo3), AIC(log_log_model))
BIC <- c(BIC(modelo1), BIC(modelo2), BIC (modelo3), BIC(log_log_model))
data.frame (modelos_comparacion, R2, AIC, BIC)

obs <- log10(trasplante$disabil)


pred_modelo1 <- fi ed (modelo1)
pred_modelo2 <- fi ed (modelo2)
pred_modelo3 <- fi ed (modelo3)
pred_logmodel <- fi ed (log_log_model)

RMSE= c(rmse(obs,pred_modelo1), rmse(obs,pred_modelo2), rmse(obs,pred_modelo3),


rmse(obs,pred_logmodel))

estadis cos <- data.frame(modelos_comparacion, R2, AIC, BIC, RMSE)


estadis cos

9
10
Se puede apreciar en la tabla presentada en el inciso anterior que el modelo “Lineal” tiene
el R2 más bajo (0.0142). Al hacer las transformaciones respectivas, el R2 va en aumento,
siendo el modelo “Potencial” el que tiene el valor más alto de R2(0.4127). Aun así, es un
R2 bajo, lo que indica que el modelo no tiene una muy buena capacidad predictiva.
Evaluando la prueba entre modelos AIC/BIC, se observa que entre los modelos candidatos
el modelo “potencial” tiene el valor más bajo; el error cuadrático medio RSME más bajo nos
indica un mejor ajuste y precisamente se presenta en el modelo “Potencial”; estas pruebas
entre modelos nos ayudan a reforzar la conclusión de que modelo elegir entre los
modelos comparados.

# log y = log α + β log x = β0 + β1 log x


# y = αx^β
# log α = 0.8803
# α = 10^0.8803

alfa <- 10^0.8803


# α = 7.591018

# β = 0.8656
beta <-0.8656

# y = 7.591018*x^0.8656
# Prediga un x = 0.30

x1 = 0.3
y1 = (alfa*x1^beta)
print(y1)

11
El valor promedio de la variable de respuesta, en términos de años-persona de vida
perdidos ajustados por discapacidad, en función de la inversión de los fondos de
investigación de NIH correspondientes a 0.30 billones de dólares, es de 2.68 años-persona.

R Script

#Gráfico

Funding %>%
ggplot(aes(x = log10(disabil), y = log10(dollars))) + geom_point() +
labs(x = "log10(Años personas de vida perdidos ajsutados por dicapacidad (millones)))",
y = "log10(Fondos de inves gación del NIH (Billones de dolares)))") +
stat_smooth(method = "lm")

Según se puede observar en la grafica, los datos no se distribuyen de una forma lineal, aun
con los transformaciones aplicadas. Estoque corrobora el R2 bajo que se presentó en los
cuadros anteriores.

12

También podría gustarte