A continuación se presenta un breve análisis de la base de datos Vivienda, centrándonos en los datos referentes al barrio El ingenio ubicado en la ciudad de Cali.
Inicialmente, procedemos a llamar la base de datos y se filtran los datos del barrio de interés:
datosV <- read_excel("Datos_Vivienda.xlsx")
attach(datosV)
datosIng <- subset(datosV, Barrio=="el ingenio", select = c(precio_millon, Area_contruida))
attach(datosIng)
## The following objects are masked from datosV:
##
## Area_contruida, precio_millon
Ahora, se define el modelo de regresión lineal simple, sus intervalos de confianza y datos descriptivos.
mod1=lm(precio_millon~Area_contruida, data = datosIng)
confint(mod1)
## 2.5 % 97.5 %
## (Intercept) 172.764966 218.664962
## Area_contruida 1.120257 1.302933
summary(mod1)
##
## Call:
## lm(formula = precio_millon ~ Area_contruida, data = datosIng)
##
## Residuals:
## Min 1Q Median 3Q Max
## -282.09 -61.15 -8.32 45.89 477.33
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 195.71496 11.63854 16.82 <2e-16 ***
## Area_contruida 1.21159 0.04632 26.16 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 105.2 on 200 degrees of freedom
## Multiple R-squared: 0.7738, Adjusted R-squared: 0.7727
## F-statistic: 684.2 on 1 and 200 DF, p-value: < 2.2e-16
Cómo se observa, el ajuste del coeficiente R2 es de 0.77, lo que indica que el modelo se ajusta bien al conjunto de datos. Además, se tiene que el intervalo de confianza nos da un rango de valores dentro de los cuales se encuentra el valor real de los parámetros. Entonces, \(\beta_0\) puede tomar un valor entre 172,76 y 218.66; mientras que \(\beta_1\) tomará un valo que se ubique entre 1.12 y 1.30. Adicionalmente, el \(\hat{\beta_1}\), indica que el precio de las viviendas ubicadas en el barrio El ingenio, aumenta 1.21 millones por m2 (el \(\hat{\beta_0}\) no se interpreta, pues en éste caso sólo se toma como un valor necesario para ajustar el modelo).
Graficamente, la relación entre las variables Precio y área construida se ve como se muestra acontinuación.
plot(Area_contruida,precio_millon,col="green",xlab=expression("Área construida" (m^{2})),ylab="Precio (millones)")
Como se ve, la relación entre éstas variables tiene un comportamiento lineal positivo fuerte. Por tanto, se realiza la prueba de correlación con el método de Pearson.
cor.test(datosIng$precio_millon,datosIng$Area_contruida)
##
## Pearson's product-moment correlation
##
## data: datosIng$precio_millon and datosIng$Area_contruida
## t = 26.157, df = 200, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.8441191 0.9075068
## sample estimates:
## cor
## 0.8796618
La correlación de 0,87 confirma la relación entre las variables, de lo que se sigue que, el Área construida es una buena variable al momento de determinar el Precio de las viviendas.
Por otro lado, interesa ver el precio promedio de las viviendas con un área construida de 110 m2.
x.nuevo=data.frame(Area_contruida = 110)
predict(mod1, x.nuevo, interval = 'prediction')
## fit lwr upr
## 1 328.9904 120.851 537.1298
Entonces, vemos que en un intervalo calculado con el 95% de confianza, se tiene que el valor real de los apartamentos de interés, se esperaría que se encuentre entre los 120.85 y los 537.12 millones. Además, éstos tienen un valor promedio de 328,99 miilones.
En lo que sigue, se realiza un diagnóstico del modelo de regresión lineal simple, planteado con anterioridad.
M=matrix(c(1,1,1,1,2,2,3,3),nrow=2,byrow=TRUE)
layout(M)
res = studres(mod1)
plot(mod1$fitted.values,res, xlab = "Valores ajustados",ylab = "Residuos estudentizados", main = "Supuesto de linealidad")
abline(h=0,lty=2)
lines(lowess(res~mod1$fitted.values), col = 2)
plot(mod1$fitted.values,abs(res), main = "Supuesto de heterocedasticidad", xlab = "Valores ajustados", ylab = "|Residuos estudentizados|")
lines(lowess(abs(res)~mod1$fitted.values), col = 2)
qqPlot(res, main = "Supuesto de normalidad", xlab = "Cuantiles", ylab = "Residuos estudentizados")
## [1] 125 75
shapiro.test(res)
##
## Shapiro-Wilk normality test
##
## data: res
## W = 0.93746, p-value = 1.23e-07
bptest(mod1)
##
## studentized Breusch-Pagan test
##
## data: mod1
## BP = 46.496, df = 1, p-value = 9.183e-12
De lo anterior tenemos que: primero, los residuos estudentizados tienden a dispersarse más alrededor de cero, a medida que los valores ajustados toman valores mayores a 400, lo que muestra que el supuesto de linealidad no se estaría cumpliendo; segundo, el gráfico de los valores absolutos de los residuos estudentizados, se observa el mismo comportamiento descrito, por tanto, el supuesto de homocedasticidad, tampoco parece cumplirse; y tercero, el gráfico quantil a quantil de los residuos, muestra que éstos se alejan de la línea de regresión y se salen del intervalo de confianza, cuando toman valores menores a -1.5 y mayores a 1.5, aproximadamente, de lo que se sigue que, no hay cumplimiento del supuesto de normalidad. Cabe mencionar, que en los tres graficos, se ve que hay presencia de valores atípicos.
Al realizar la prueba de Shapiro-Wilk para evaluar la normalidad, se obtiene un valor-P=1.23e-07 que rechaza la hipótesis de normalidad con que se realiza el test. Al hacer la prueba de Breush-Pagan para evaluar la homocedasticidad, el valor-P también lleva a rechazar la hipótesis de igualdad de varianza entre los errores.
Del análisis presentado hasta el momento, se concluye que, pese a que el modelo planteado brinda un buen ajuste a las variables de investigación, no se da cumplimiento a los supuestos que validan los modelos de regresión, por tanto, éste pierde validez estadística; entonces, se procede a transformar el modelo y reevaluarlo.
mod2 = lm(log(precio_millon)~log(Area_contruida))
summary(mod2)
##
## Call:
## lm(formula = log(precio_millon) ~ log(Area_contruida))
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.55486 -0.14176 0.01518 0.15998 0.47450
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.94324 0.11746 25.06 <2e-16 ***
## log(Area_contruida) 0.59957 0.02313 25.92 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2046 on 200 degrees of freedom
## Multiple R-squared: 0.7707, Adjusted R-squared: 0.7695
## F-statistic: 672 on 1 and 200 DF, p-value: < 2.2e-16
M=matrix(c(1,1,1,1,2,2,3,3),nrow=2,byrow=TRUE)
layout(M)
res2 = studres(mod2)
plot(mod2$fitted.values,res2, xlab = "Valores ajustados",ylab = "Residuos estudentizados", main = "Supuesto de linealidad")
abline(h=0,lty=2)
lines(lowess(res2~mod2$fitted.values), col = 2)
plot(mod2$fitted.values,abs(res2), main = "Supuesto de heterocedasticidad", xlab = "Valores ajustados", ylab = "|Residuos estudentizados|")
lines(lowess(abs(res2)~mod2$fitted.values), col = 2)
qqPlot(res2, main = "Supuesto de normalidad", xlab = "Cuantiles", ylab = "Residuos estudentizados")
## [1] 157 158
shapiro.test(res2)
##
## Shapiro-Wilk normality test
##
## data: res2
## W = 0.9842, p-value = 0.0231
bptest(mod2)
##
## studentized Breusch-Pagan test
##
## data: mod2
## BP = 5.7668, df = 1, p-value = 0.01633
De la tranformación se obtiene un coeficiente R2=0.7695, lo que indica que hay un buen ajuste del modelo con las variables de estudio. Además, se tiene que: primero, los residuos estudentizados ahora sí se encuentran dispersos alrededor del cero sin un patrón determinado, mostrando que hay cumplimiento del supuesto de linealidad; segundo, los valores absolutos de los residuos estudentizados también se esncuentran dispersos sin un patrón determinado, lo que indica que su varianza es constante; y tercero, en el gráfico quantil a quantil, se observa que los residuos se ajustan mejor a la línea de regresión y en general, se ubican dentro del intervalo de confianza, por tanto, el supuesto de normalidad se cumple. Adicionalmente, cabe resaltar que los valores atípicos mejoraron su efecto en el modelo.
Con respecto a las pruebas de normalidad y homocedasticidad, tenemos que siguen rechazando los supuestos que evalúan, sin embargo, los valores de P no se alejan demasiado de las significancia \(\alpha=0.05\) como lo hacían con el modelo no transformado. Por lo anterior, se puede concluir que en general, la tranformación mejoró el modelo.
Ahora, se procede a crear una nueva data que incluya la variable Tipo, para identificar cómo el tipo (casa o apartamento) y su área en metros cuadrados derteminan el precio de las viviendas.
datosIngTipo <- subset(datosV, Barrio=="el ingenio", select = c(precio_millon, Area_contruida, Tipo))
attach(datosIngTipo)
## The following objects are masked from datosIng:
##
## Area_contruida, precio_millon
## The following objects are masked from datosV:
##
## Area_contruida, precio_millon, Tipo
Como la variable Tipo es cualitativa, se procede a volverla cuántitativa, haciendo uso de la función dummy_cols de la librería fastDummies que crea dos variables dummy auxiliares con valores binarios para Apartamentos y Casas por separado. Así pues, la data quedará con cinco variables tal y como se muestra.
library(fastDummies)
Datos=dummy_cols(datosIngTipo,select_columns = "Tipo")
names(Datos)
## [1] "precio_millon" "Area_contruida" "Tipo" "Tipo_Apartamento"
## [5] "Tipo_Casa"
Donde la variable auxiliar Tipo_Apartamento tendrá esta forma: \[ Tipo\_Apartamento=\left\{ \begin{array}{ll} 1 \ \ si \ \ Tipo=Apartamento\\ 0 \ \ si \ \ Tipo=Casa \end{array} \right.\]
Ahora, se ajusta el nuevo modelo de regresión y se calculan los intervalos de confianza de los parámetros.
modRC=lm(precio_millon~Area_contruida+Tipo_Apartamento,data=Datos)
confint(modRC)
## 2.5 % 97.5 %
## (Intercept) 252.6591867 338.079828
## Area_contruida 0.9112192 1.132722
## Tipo_Apartamento -135.9898803 -62.509846
Vemos que el intervalo de confianza del 95% para los parámetros de interés, nos muestra que se esperaía que el valor real del parámetro \(\beta_0\) se encuentre entre 252.65 y 338.07, para \(\beta_1\) se esperaría que tomara valores entre 0.91 y 1.13, y en el caso de \(\beta_2\) que su posible valor estuviera entre -135.98 y -62.50. Sobre éste último, llama la atención que el intervalo es negativo, cosa que podría deberse al incumplimiento de algún supuesto.
Ahora, al modelo inicialmente planteado se le agrega un cuarto parámetro que indique el peso del producto entre las variables y luego se presenta un gráfico que relaciona el precio con el área construida de los diferentes tipos de viviendas.
modRC1=lm(precio_millon~Area_contruida+Tipo_Apartamento+Area_contruida*Tipo_Apartamento,data=Datos)
plot(Datos$precio_millon ~ Datos$Area_contruida ,data=Datos,col=Datos$Tipo_Casa+1,ylab='Precio millon vivienda',xlab='Area construida',main='Casa-Apartamento')
abline(a=modRC1$coefficients[1],b=modRC1$coefficients[2],lwd=2)
abline(a=modRC1$coefficients[1]+modRC1$coefficients[3],b=modRC1$coefficients[2]+modRC1$coefficients[4],col=2,lwd=2)
legend("bottomright", legend = c("Casa", "Apartamento"),
lwd = 3, col = c("indianred3", "black"))
En el gráfico se puede ver que se ajustaron dos líneas de regresión, una negra que que ajusta el modelo centrándose en cuando las viviendas son apartamentos, y una rosa, que centra las relaciones de precios y áreas de las viviendas tipo casas.
Ahora, se calculan los estadísticos y se evalúa la hipótesis de ajuste del modelo al comportamiento de los datos.
summary(modRC)
##
## Call:
## lm(formula = precio_millon ~ Area_contruida + Tipo_Apartamento,
## data = Datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -277.45 -48.20 -9.33 53.92 491.45
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 295.36951 21.65885 13.637 < 2e-16 ***
## Area_contruida 1.02197 0.05616 18.196 < 2e-16 ***
## Tipo_Apartamento -99.24986 18.63125 -5.327 2.69e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 98.68 on 199 degrees of freedom
## Multiple R-squared: 0.802, Adjusted R-squared: 0.8
## F-statistic: 403.1 on 2 and 199 DF, p-value: < 2.2e-16
Vemos que el modelo tiene un ajuste del coeficiente R2=0.8 que indica un buen ajuste del modelo a los datos. En lo que sigue, se evalúan sus supuestos.
M=matrix(c(1,1,1,1,2,2,3,3),nrow=2,byrow=TRUE)
layout(M)
resRC = studres(modRC)
plot(modRC$fitted.values,resRC, xlab = "Valores ajustados",ylab = "Residuos estudentizados", main = "Supuesto de linealidad")
abline(h=0,lty=2)
lines(lowess(resRC~modRC$fitted.values), col = 2)
plot(modRC$fitted.values,abs(resRC), main = "Supuesto de heterocedasticidad", xlab = "Valores ajustados", ylab = "|Residuos estudentizados|")
lines(lowess(abs(resRC)~modRC$fitted.values), col = 2)
qqPlot(resRC, main = "Supuesto de normalidad", xlab = "Cuantiles", ylab = "Residuos estudentizados")
## [1] 125 75
shapiro.test(resRC)
##
## Shapiro-Wilk normality test
##
## data: resRC
## W = 0.92127, p-value = 6.325e-09
bptest(modRC)
##
## studentized Breusch-Pagan test
##
## data: modRC
## BP = 38.517, df = 2, p-value = 4.326e-09
En el gráfico vemos que tanto los residuos estudentizados como sus valores absolutos, tienden a aumentar su varianza cuando los valores ajustados toman valores aproximadamente mayores o iguales a 400, cosa que indica que no se cumplen los supuestos de normalidad ni homocedasticidad. Sobre el grafico quantil a quantil, se observa que no hay buen ajuste de los residuos estudentizados a la línea de regresión y buena parte de ellos se ubica por fuera del intervalo de confianza, lo que denota falta de normalidad de los residuos.
Al realizar las pruebas de normalidad con el método de Shapiro-Wilk y la prueba de homocedasticidad con el método de Breush-Pagan, se obtuvieron valores de P que nos conducen a rechazar las hipótesis de normalidad y varianza constante (valor-P=6.325e-09 , valor-P=4.326e-09 respectivamente), por tanto, estos supuestos no se cumplen y el modelo pierde validez estadística.
Dado que el modelo no es el adecuado, se plantea la siguiente transformación al modelo, en aras de corregir las faltas en los supuestos.
modRC2 = lm(log(precio_millon)~log(Area_contruida)+Tipo_Apartamento,data=Datos)
summary(modRC2)
##
## Call:
## lm(formula = log(precio_millon) ~ log(Area_contruida) + Tipo_Apartamento,
## data = Datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.49884 -0.12889 -0.00278 0.14767 0.49248
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.58424 0.18948 18.916 < 2e-16 ***
## log(Area_contruida) 0.49516 0.03329 14.873 < 2e-16 ***
## Tipo_Apartamento -0.18111 0.04301 -4.211 3.85e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.1965 on 199 degrees of freedom
## Multiple R-squared: 0.7894, Adjusted R-squared: 0.7873
## F-statistic: 373 on 2 and 199 DF, p-value: < 2.2e-16
Vemos que el coeficiente R2=0.78 indica que el modelo tiene un buen ajuste, por tanto podría servir para describir el comportamiento de los datos. Además, llama la atención el hecho de que el parámetro estimado \(\hat{\beta_2}\) es negativo, lo que de cierto modo denotaría que el precio de las viviendas tiende a decrecer cuando éstas son apartamentos. Pra revisar que ésto no se deba a incumplimientos en los supuestos, se procede a evaluarlos.
M=matrix(c(1,1,1,1,2,2,3,3),nrow=2,byrow=TRUE)
layout(M)
resRC2 = studres(modRC2)
plot(modRC2$fitted.values,resRC2, xlab = "Valores ajustados",ylab = "Residuos estudentizados", main = "Supuesto de linealidad")
abline(h=0,lty=2)
lines(lowess(resRC2~modRC2$fitted.values), col = 2)
plot(modRC2$fitted.values,abs(resRC2), main = "Supuesto de heterocedasticidad", xlab = "Valores ajustados", ylab = "|Residuos estudentizados|")
lines(lowess(abs(resRC2)~modRC2$fitted.values), col = 2)
qqPlot(resRC2, main = "Supuesto de normalidad", xlab = "Cuantiles", ylab = "Residuos estudentizados")
## [1] 63 125
shapiro.test(resRC2)
##
## Shapiro-Wilk normality test
##
## data: resRC2
## W = 0.98463, p-value = 0.02677
bptest(modRC2)
##
## studentized Breusch-Pagan test
##
## data: modRC2
## BP = 6.3194, df = 2, p-value = 0.04244
En los gráficos se observa que tanto los residuos estudentizados, como sus valores absolutos aumentaron su dispersión a lo largo del rango de valores que toman los valores ajustados. Es decir, ya no conservan inguna tendencia o patrón, lo que denota que los supuestos de linealidad y homocedasticidad se cumplen. También se ve que, en el gráfico que evalúa la normalidad, los residuos estudentizados se ajustan mejor a la línea de regresión y no se salen del intervalo de confianza, por tanto, e estaría cumpliendo este supuesto.
Pese a las pruebas gráficas, al realizar el test de Breush-Pagan y el de Shapiro-Wilk para evaluar la homocedasticidad y normalidad del modelo, respectivamente, nuevamente vemos que ambas pruebas rechazan dichas hipótesis, aunque los valores de P ya no están tan alejados de la significancia de 5%.
Ahora, se desea evaluar el efecto de las variables Tipo y Área construida, comparando los modelos anteriores a partir del análisis de varianza que se presenta acontinuación.
anova(mod2, modRC2)
## Analysis of Variance Table
##
## Model 1: log(precio_millon) ~ log(Area_contruida)
## Model 2: log(precio_millon) ~ log(Area_contruida) + Tipo_Apartamento
## Res.Df RSS Df Sum of Sq F Pr(>F)
## 1 200 8.3719
## 2 199 7.6870 1 0.68493 17.731 3.852e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
El ANOVA evalúa la hipótesis nula de que los dos modelos son iguales. Del resultado se concluye que dado que el valor-P es incluso menor a una significancia de \(\alpha=0\), por lo tanto, se debe concluir que sí hay diferencias significativas entre las varianzas de los modelos.
se presenta la información de la masa y la edad de un grupo de personas, recopilada en un centro médico. Analisis explotaratorio de los datos
datosME <- read.table("datosME.txt")
attach(datosME)
names(datosME)<- c("masa","edad")
pairs(datosME)
cor(datosME)
## masa edad
## masa 1.000000 -0.866064
## edad -0.866064 1.000000
Donde se observa una relación negativa entre las variables.
• Defina xi = Xi − {x} y genere un modelo de regresión cuadrático. Así mismo, adjunte una gráfica.
#Centrar Xi-Xbarra
edadcent<- scale(datosME$edad, center = TRUE)
#modelo lineal
modnor<- lm(datosME$masa~edadcent)
#modelo de regresion cuadratico
modpoly2<- lm(datosME$masa~edadcent+I(edadcent^2))
summary(modnor)
##
## Call:
## lm(formula = datosME$masa ~ edadcent)
##
## Residuals:
## Min 1Q Median 3Q Max
## -16.1368 -6.1968 -0.5969 6.7607 23.4731
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 84.967 1.055 80.53 <2e-16 ***
## edadcent -14.038 1.064 -13.19 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 8.173 on 58 degrees of freedom
## Multiple R-squared: 0.7501, Adjusted R-squared: 0.7458
## F-statistic: 174.1 on 1 and 58 DF, p-value: < 2.2e-16
summary(modpoly2)
##
## Call:
## lm(formula = datosME$masa ~ edadcent + I(edadcent^2))
##
## Residuals:
## Min 1Q Median 3Q Max
## -15.086 -6.154 -1.088 6.220 20.578
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 82.936 1.543 53.745 <2e-16 ***
## edadcent -13.967 1.046 -13.358 <2e-16 ***
## I(edadcent^2) 2.065 1.163 1.776 0.0811 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 8.026 on 57 degrees of freedom
## Multiple R-squared: 0.7632, Adjusted R-squared: 0.7549
## F-statistic: 91.84 on 2 and 57 DF, p-value: < 2.2e-16
Grafico de distribucion de puntos.
ggplot(datosME,aes(x=edad, y=masa))+
geom_point() +
geom_smooth(method='lm', formula=y~x, se=FALSE, col='dodgerblue1') +
geom_smooth(method='lm', formula=y~x+I(x^2), se=FALSE, col='tomato') +
theme_light()
Donde se observa de color azul el modelo simple vs el modelo cuadratico de color rojo.
coef(modnor)
## (Intercept) edadcent
## 84.96667 -14.03838
coef(modpoly2)
## (Intercept) edadcent I(edadcent^2)
## 82.93575 -13.96715 2.06534
El \(\beta_1\) tiene nos representa el valor de cambio por cada unidad que se amente la edad, los que nos indica que por cada año de edad la persona representa -13.96 unidades en la masa,El \(\beta_2\) represnta cada unidad de cambio cuadrático en el incremento de la edad,el \(\hat{\beta_0}\) indica la media de la masa entre las personas de los datos del centro médico.
• (5pt) Ahora plantee la hipótesis de sí el término cuadrático puede ser eliminado o no del modelo y justifique su respuesta.
anova(modnor, modpoly2)
## Analysis of Variance Table
##
## Model 1: datosME$masa ~ edadcent
## Model 2: datosME$masa ~ edadcent + I(edadcent^2)
## Res.Df RSS Df Sum of Sq F Pr(>F)
## 1 58 3874.4
## 2 57 3671.3 1 203.13 3.1538 0.08109 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
\(H_0\) = No existe diferencia significativas entre los modelos \(H_a\) = Existe diferencia significativas entre los tratamientos
Con el análisis de varianza y evaluado por una prueba F se tiene que no hay suficiente evidencia para rechazar H0, por lo que los modelos no parecen tener diferencia entre ellos.
Grafico de los supuesto del modelo sin el termino cuadratico.
##
## Shapiro-Wilk normality test
##
## data: res.stud.modnor
## W = 0.97769, p-value = 0.3389
se cumple los supuestos del modelo sin el termino cuadratico.
Supuestos del modelo con termino cuadratico
par(mfrow=c(1,3))
res.stud.modpoly2 = studres(modpoly2)
mod.fit.vehicles = modpoly2$fitted.values
#par(mfrow=c(1,2))
plot(mod.fit.vehicles,res.stud.modpoly2, ylab='residuos estudentizados',
xlab='valores ajustados',main ="Grafico de los residuos")
abline(h=0,lty=2)
lines(lowess(res.stud.modpoly2~mod.fit.vehicles), col = "red")
plot(mod.fit.vehicles,abs(res.stud.modpoly2),
ylab='|residuos estudentizados|',
xlab='valores ajustados',main='Grafico de los valores absolutos')
lines(lowess(abs(res.stud.modpoly2)~mod.fit.vehicles), col = "red")
car::qqPlot(modnor,xlab='cuantiles teoricos',ylab='residuos estudentizados',main="Grafico de normalidad",
distribution = 'norm',col="red",id=FALSE)
#nortest::ad.test(res.stud.table.b3)
shapiro.test(res.stud.modpoly2)
##
## Shapiro-Wilk normality test
##
## data: res.stud.modpoly2
## W = 0.97808, p-value = 0.353
Se cumplen los supuestos del modelo con el termino cuadratico.
se observa que no hay mucha diferencia entre la distribución de los residuales. Dado a los resultados obtenidos se prefiere el modelo sin la componente cuadrática por que no hay una diferencia significativa entre los modelos y la interpretación es mas sencilla en el simple.
• ¿Justificó la transformación de la variable en el punto inicial (centrar la variable) para eliminar la multicolinealidad entre la variable y su forma cuadrática? Argumente usando las correlaciones
Se Realiza el VIF para un modelo SIN la tranformacion inicial y con su respectiva componente cuadratica
modp2<- lm(datosME$masa~datosME$edad+I(datosME$edad^2))
car::vif(modp2)
## datosME$edad I(datosME$edad^2)
## 128.256 128.256
Se obtiene valors de vif mayores a 10 lo que nos indica un problema de multicolinealidad entre las covariables del modelo
cor(datosME$edad, I(datosME$edad^2))
## [1] 0.9960939
Con una alta correlacion entre las covariables.
Se Realiza el VIF para un modelo CON la tranformacion inicial y con su respectiva componente cuadratica.
vif(modpoly2)
## edadcent I(edadcent^2)
## 1.001473 1.001473
El vif nos indica valores menores a 10 lo cual no parece no presentar problemas de multicolinealidad para esto tambien se observa su correlacion
cor(edadcent, I(edadcent^2))
## [,1]
## [1,] -0.03835694
Cuenta con una correlación de -0.03, lo cual es un buen indicio para el centrado de variables por lo sí se justifica centrar variables en la forma cuadrática para corregir la multicolinealidad.