Regresion Lineal
Regresion Lineal
Regresion Lineal
David Mejía-Gómez
David.mejia4@udea.edo.co
𝑝
|𝐷𝐹𝐹𝐼𝑇𝑆(𝑖) | > 2√ = 0.03998
𝑛
Si hay alguna observación que no cumpla con estos parámetros será detectado como punto
de influencia y por ende removido de la interpretación.
Varianza constante para residuales: Para verificar que los residuales tengan
homocedasticidad se hacen las siguientes pruebas:
1. La prueba de Breusch-Pagan
2. Gráfico de dispersión de valores ajustados vs residuales
3. Gráfico de cada una de las variables regresoras vs residuales.
Independencia para residuales: Para verificar que los residuales no tengan una
dependencia serial:
1. Gráfico de autocorrelación (ACF)
2. Gráfico de autocorrelación parcial (PACF)
3. Gráfico de orden vs residuales.
4. Prueba de Durbin-Watson
5. Prueba de Breusch-Godfrey
Formulación de hipótesis:
1. 𝐻0 =La variable genero(gender) no influye en la variable respuesta (lengthofstay).
2. 𝐻0 = la variable número readmisiones (rcount) influye en la variable respuesta
(lendthofstay)
3. 𝐻0 =la variable promedio hematocrito(hematocritic) influye en la variable respuesta.
4. 𝐻0 =la variable bmi (índice de masa corporal) influye en la variable respuesta
Análisis de resultado:
Para hacer el análisis exploratorio se denominaron que variables eran de tipo factor y tipo
numéricas para poder interpretar los resultados de forma más simple, luego del análisis
exploratorio las variables que eran tipo indicador fueron designadas como variables
cuantitativas.
• Variables tipo factor:
• Variables cuantitativas
• variable respuesta.
Se toma como variable respuesta lengthofstay (tiempo de estancia hospitalaria) a esta
variable se le realizan las respectivas pruebas de normalidad y los resultados arrojados por
las pruebas analíticas para un 𝛼=0,05 es rechazar la hipótesis de que la variable mencionada
tiene una distribución normal. En los gráficos para la variable notamos que ella tiene un sesgo
muy grande a la derecha
Se procede a hacer la eliminación de puntos influénciales por medio de las pruebas para
2 𝑝
muestras grandes las cuales son |𝐷𝐹𝐵𝐸𝑇𝐴(𝑖) | > = 0.007068 y |𝐷𝐹𝐹𝐼𝑇𝑆(𝑖) | > 2√𝑛 =
√ 𝑛
0.03998 dado que la distancia de cook para todos los puntos es cero.
para ver cómo se afecta, para el primer sumary del modelo se tuvieron en cuenta todas las
variables excepto las variables Vdate y Eid al hacer esta corrida se evidencio que las
variables: sodium, glucosa, creatinine, bmi, pulse y secondarydiagnosisnonicd9 no son
significantes para nuestro modelo por lo que se tomó la decisión de eliminarlas del modelo y
conservar las variables que nos aportan más al modelo al ser más significantes.
Análisis de multicolinealidad: Analizando el VIF se puede decir que el modelo no presenta
1
problemas de multicolinealidad dado que la columna de salida 𝐺𝑉𝐼𝐹 2∗𝐷𝐹
no supera el límite de 5, es decir que no se requiere medidas remediales.
MEAN
Columna1 DF SUM SQ SQ F VALUE PR(>F)
Rcount 5 251304 50261 37957.82 <2.2e-16
Gender 1 2353 2353 1776.80 <2.2e-16
Dialysisrenalendstage 1 12206 12206 9218.39 <2.2e-16
Asthma 1 3161 3161 2380.27 <2.2e-16
Irondef 1 12291 12291 9280.05 <2.2e-16
Pneum 1 3436 3436 2594.84 <2.2e-16
Substancedependence 1 6406 6406 4837.76 <2.2e-16
psychologicaldisordermajor 1 25543 25543 19290.78 <2.2e-16
Depress 1 855 855 646.09 <2.2e-16
Psychother 1 4754 4754 3590.59 <2.2e-16
Fibrosisandother 1 1164 1164 879.03 <2.2e-16
Malnutrition 1 1162 1161 877.19 <2.2e-16
Hemo 1 8099 8099 6116.63 <2.2e-16
Neutrophils 1 814 814 614.84 <2.2e-16
Facid 4 5685 1421 1073.41 <2.2e-16
Residuals 80034 105975 1
Al hacer un análisis con el AIC donde se hacía depuración de las variables una por una se
llegó a la conclusión de que el modelo más optimo es el que se designó al principio cuando
se eliminaron las variables poco significativas, por ende, se continuará con este modelo para
aplicar el ANOVA y hacer la verificación de los supuestos del modelo seleccionado.
̂
𝑙𝑒𝑛𝑔𝑡ℎ𝑜𝑓𝑠𝑡𝑎𝑦
̂ + 2.5591𝑟𝑐𝑜𝑢𝑛𝑡2
= 1.6246 + 0.9930 𝑟𝑐𝑜𝑢𝑛𝑡1 ̂ + 3.5556𝑟𝑐𝑜𝑢𝑛𝑡3 ̂
̂ + 5.5744𝑟𝑐𝑜𝑢𝑛𝑡5
+ 4.5638𝑟𝑐𝑜𝑢𝑛𝑡4 ̂ + 0.0873 𝑔𝑒𝑛𝑑𝑒𝑟𝑀 ̂
̂
+ 0.8047𝑑𝑖𝑎𝑙𝑦𝑠𝑖𝑠𝑟𝑒𝑛𝑎𝑙𝑒𝑛𝑑𝑠𝑡𝑎𝑔𝑒 ̂ + 0.3408𝑖𝑟𝑜𝑛𝑑𝑒𝑓
+ 0.3642𝑎𝑠𝑡ℎ𝑚𝑎 ̂
+ 0.4385𝑝𝑛𝑒𝑢𝑚 ̂
̂ + 0.6116𝑠𝑢𝑏𝑠𝑡𝑎𝑛𝑐𝑒𝑑𝑒𝑝𝑒𝑛𝑑𝑒𝑛𝑐𝑒
̂
+ 0.7745 𝑝𝑠𝑦𝑐ℎ𝑜𝑙𝑜𝑔𝑖𝑐𝑎𝑙𝑑𝑖𝑠𝑜𝑟𝑑𝑒𝑟𝑚𝑎𝑗𝑜𝑟 + 0.3813 𝑑𝑒𝑝𝑟𝑒𝑠𝑠 ̂
̂
+ 0.7152𝑝𝑠𝑦𝑐ℎ𝑜𝑡ℎ𝑒𝑟 ̂
+ 0.8129𝑓𝑖𝑏𝑟𝑜𝑠𝑖𝑠𝑎𝑛𝑑𝑜𝑡ℎ𝑒𝑟
̂
+ 0.3799𝑚𝑎𝑙𝑛𝑢𝑡𝑟𝑖𝑡𝑖𝑜𝑛 ̂ + 0.0224 𝑛𝑒𝑢𝑡𝑟𝑜𝑝ℎ𝑖𝑙𝑠
+ 1.2226ℎ𝑒𝑚𝑜 ̂
̂ + 1.1075𝑓𝑎𝑐𝑖𝑑𝐶
− 0.0052𝑓𝑎𝑐𝑖𝑑𝐵 ̂ + 0.9151𝑓𝑎𝑐𝑖𝑑𝐷 ̂ + 0.7872𝑓𝑎𝑐𝑖𝑑𝐸 ̂
En el Anova se observar que todas las variables son significativas y que 76,34% de la
variabilidad del tiempo de estancia hospitalario es explicado a través del modelo de regresión
seleccionado, y solo el 23,66% es explicado por los residuales, por lo que se puede concluir
que en general el modelo seleccionado explica el tiempo de estancia hospitalaria.
En la verificación de los supuestos del modelo, las pruebas analíticas nos indican que los
residuales no siguen una distribución normal y esto tiene sentido, pues desde el principio
sabíamos que la variable respuesta no seguía una distribución normal ni siquiera aplicando
transformaciones a esta. Por ende, se debe buscar otras medidas remediales u otras formas
de modelar las variables diferentes a la regresión lineal.
Las pruebas analíticas nos dicen que los residuales tienen una relación serial. Ninguno de los
supuestos es cumplido.
Por medio del valor-p se determinó que la variable rcount si influye en la variable respuesta
lengthofstay dado que es menor que el nivel de significancia 𝛼 = 0.05 por ende se dice que
la variable es significativa e importante para el modelo.
Por medio del valor-p se determinó que la variable hematocritic no influye en la variable
respuesta lengthofstay dado que es mayor que el nivel de significancia 𝛼 = 0.05 por ende se
dice que la variable no es significativa e importante para el modelo.
Referencias:
Ceballos T, Velásquez P, Jaén J. (2014). “Duración de la estancia hospitalaria.”.
Metodologías para su intervención". Rev. Gerenc. Polít. Salud.; 13(27): 274-295.
http://dx.doi.org/10.11144/Javeriana.rgyps13-27.dehm
Aguirre H, García M y Garibaldi J. (1997). "Los factores asociados con la estancia
hospitalaria prolongada en una unidad de tercer nivel". Gac. méd. Méx; 133(2): 71-7.
Recuperado de: http://www.anmm.org.mx/bgmm/1864_2007/1997-133-2-71-77.pdf
Montgomery, Peck y Vining (2006). "introducción al análisis de regresión". Cecsa. Pag 302.
Script R:
#Llamo mi base de datos:
datos<-datos_los_train_2_1_ [-2]
attach(datos)
#Paquetes necesarios:
require(car)
require(olsrr)
require(psych)
require(nortest)
require(tseries)
require(lmtest)
require(RcmdrMisc)
#analisis exploratorio
#Variables Cualitativas:
#datos$vdate <- as.factor(vdate)
datos$gender <- as.factor(gender)
datos$facid <- as.factor(facid)
datos$rcount <- as.factor(rcount)
#datos$dialysisrenalendstage <- as.factor(dialysisrenalendstage)
#datos$asthma <- as.factor(asthma)
#datos$irondef <- as.factor(irondef)
#datos$pneum <- as.factor(pneum)
#datos$substancedependence <- as.factor(substancedependence)
#datos$psychologicaldisordermajor <- as.factor(psychologicaldisordermajor)
#datos$depress <- as.factor(depress)
#datos$psychother <- as.factor(psychother)
#datos$fibrosisandother <- as.factor(fibrosisandother)
#datos$malnutrition <- as.factor(malnutrition)
#datos$hemo <- as.factor(hemo)
#variables cuantitativas
datos$hematocrit <- as.numeric(hematocrit)
datos$neutrophils <- as.numeric(neutrophils)
datos$sodium <- as.numeric(sodium)
datos$glucose <- as.numeric(glucose)
datos$bloodureanitro <- as.numeric(bloodureanitro)
datos$creatinine <- as.numeric(creatinine)
datos$bmi <- as.numeric(bmi)
datos$pulse <- as.numeric(pulse)
datos$respiration <- as.numeric(respiration)
datos$secondarydiagnosisnonicd9 <- as.numeric(secondarydiagnosisnonicd9)
datos$lengthofstay <- as.numeric(lengthofstay)
#matriz de dispersion
cuantitativas<- cbind(datos2[,c(15,16,17,18,19,20,21,22,23,24,26)])
cor(cuantitativas)
pairs.panels(cuantitativas,smooth = F,ellipses = F)
modelo1 <- lm(lengthofstay ~ . -eid -sodium -glucose -creatinine -bmi -pulse -respiration -
secondarydiagnosisnonicd9 -bloodureanitro -hematocrit, data = datos)
summary(modelo1)
#Pruebas analiticas
ad.test(lengthofstay)
shapiro.test(lengthofstay)
cvm.test(lengthofstay)
jarque.bera.test(lengthofstay)
#Graficos transformacionT:
par(mfrow=c(1,3))
hist(lengthofstayT, xlab = "Porcentaje",ylab="Frecuencia",col =
"lightcyan3",main="Histograma del \n tiempo de estancia hospitalaria Trans.
potencia(0,37)")
boxplot(lengthofstayT, ylab="Porcentaje", main="Boxplot del \n tiempo de estancia
hospitalaria",col="lightblue1")
points(mean(lengthofstayT),col=2,pch=16)
qqPlot(lengthofstayT,xlab="cuantiles teoricos",ylab = "cuantiles muestrales",main =
"qqPlot del tiempo de estancia transformacion potencia")
#puntos influenciales
summary(influence.measures(modelo1))
summary(influence.measures(modelo2))
summary(influence.measures(modelo3))
attach(datos)
#analisis de multicolinealidad
vif(modelo1)
require(lmtest)
vif(modelo2)
#anova
anova(modelo1)
#2.Varianza constante:
#Pruebas graficas
par(mfrow=c(1,1))
plot(modelo1$fit,rstandard(modelo1), main="Valores Ajustados vs residuales
estandarizados", xlab="valores ajustados",ylab="residuales",ylim=c(-4,4))
abline(h=c(-3,0,3),col=2,lty=2)
#Pruebas análiticas:
bptest(modelo1)
ncvTest(modelo1)
#3. Independencia
#Pruebas graficas
par(mfrow=c(1,3))
plot(modelo1$residuals)
abline(h=0,col=2)
acf(modelo1$residuals,ylim=c(-0.1,0.1))
pacf(modelo1$residuals,ylim=c(-0.1,0.1))
#Pruebas análiticas:
dwtest(modelo1,alternative="two.sided")
bgtest(modelo1)
#llame libreria
library(Metrics)
#evaluar entrenamiento
modelo1 <- lm(lengthofstay ~ . -eid -sodium -glucose -creatinine -bmi -pulse -respiration -
secondarydiagnosisnonicd9, data = datos)
summary(modelo1)
actual<-datos$lengthofstay
mape_entrenamiento<-mape(actual,predicho)
#calcular predicción en evalucion
predicho_test<-predict(modelo1,datos_test)
prueba3<-data.frame("eid"=datos_test$eid,"lengthofstay"=predicho_test)
write.csv(prueba3,"prueba2.csv",row.names = F)