Está en la página 1de 36

Universidad Técnica Estatal De Quevedo

Facultad Ciencias De La Industria y Producción


Ingeniería Agroindustrial
MODULO IX

ASIGNATURA:

PAQUETES ESTADISTICOS

TEMA:

ANÁLISIS DESCRIPTIVO

AUTORES:

MOLINA LOPEZ NELSON JOSUE

QUILUMBA CINO JOSE EDUARDO

ZAMBRANO SABANDO KARLA JAMILETH

DOCENTE:

ING. CARLOS ROA

FECHA:

20/08/2021

QUEVEDO-LOS RIOS-ECUADOR
2020 – 2021
2da PARTE DE LA TAREA:

REGRESIÓN LINEAL MÚLTIPLE

Para leer los datos en “R” utilice las siguientes funciones:

Primero se deben instalar los paquetes “MASS” e “ISLR”

 library(MASS)
 library(ISLR)
 data("Boston")
 str(Boston)

“BOSTON”
a) Realice el análisis descriptivo concerniente a la regresión lineal,
esto es: calcular todas las correlaciones y hacer los diagramas de
dispersión de la variable “Y” comparado con cada una de las
variables “Xs”.

> datos <- as.data.frame(Boston)

> round(cor(x = datos, method = "pearson"), 4)

crim zn indus chas nox rm


age dis rad

medv -0.3883 0.3604 -0.4837 0.1753 -0.4273 0.6954


-0.3770 0.2499 -0.3816

tax ptratio black lstat medv

medv -0.4685 -0.5078 0.3335 -0.7377 1.0000


# Obtener los diagramas de dispersión entre cada variable independiente y la variable
“Medv”

#Diagrama de dispersión de: Y vs. X1 > plot(Boston$medv,Boston$crim)

#Diagrama de dispersión de: Y vs. X2 > plot(Boston$medv,Boston$zn)


#Diagrama de dispersión de: Y vs. X3 > plot(Boston$medv,Boston$indus)

#Diagrama de dispersión de: Y vs. X4 > plot(Boston$medv,Boston$chas)


#Diagrama de dispersión de: Y vs. X5 > plot(Boston$medv,Boston$nox)

#Diagrama de dispersión de: Y vs. X6 > plot(Boston$medv,Boston$rm)


#Diagrama de dispersión de: Y vs. X7 > plot(Boston$medv,Boston$age)
#Diagrama de dispersión de: Y vs. X8 > plot(Boston$medv,Boston$dis)

#Diagrama de dispersión de: Y vs. X9 > plot(Boston$medv,Boston$rad)


#Diagrama de dispersión de: Y vs. X10 > plot(Boston$medv,Boston$tax)

#Diagrama de dispersión de: Y vs. X11 >plot(Boston$medv,Boston$ptratio)


#Diagrama de dispersión de: Y vs. X12 >plot(Boston$medv,Boston$black)

#Diagrama de dispersión de: Y vs. X13 >plot(Boston$medv,Boston$lstat)


b. Aplique los métodos “forward”, “backward” y “step” y
compare los resultados para el mejor subconjunto de modelos
de regresión según la cantidad de variables.
 Utilice los criterios de “R2 cuadrado ajustado”, “Suma de Residuales
Cuadráticos” y “AIC” para comparar los posibles modelos de regresión y
proceder a seleccionar el mejor modelo.
 #instalar el paquete LEAPS desde el menú de [R]
> install.packages ("leaps")
> summary(regresionForward)$which
(Intercept)crim zn indus chas nox rm age dis rad tax
1 TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
2 TRUE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
3 TRUE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
4 TRUE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE
5 TRUE FALSE FALSE FALSE FALSE TRUE TRUE FALSE TRUE FALSE FALSE
6 TRUE FALSE FALSE FALSE TRUE TRUE TRUE FALSE TRUE FALSE FALSE
7 TRUE FALSE FALSE FALSE TRUE TRUE TRUE FALSE TRUE FALSE FALSE
8 TRUE FALSE TRUE FALSE TRUE TRUE TRUE FALSE TRUE FALSE FALSE
9 TRUE TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE FALSE FALSE
10 TRUE TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE TRUE FALSE
11 TRUE TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE TRUE TRUE
12 TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE
13 TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
ptratio black lstat
1 FALSE FALSE TRUE
2 FALSE FALSE TRUE
3 TRUE FALSE TRUE
4 TRUE FALSE TRUE
5 TRUE FALSE TRUE
6 TRUE FALSE TRUE
7 TRUE TRUE TRUE
8 TRUE TRUE TRUE
9 TRUE TRUE TRUE
10 TRUE TRUE TRUE
11 TRUE TRUE TRUE
12 TRUE TRUE TRUE
13 TRUE TRUE TRUE

Mejor modelo de regresión con 1 variable: Y=β0+β1*lstat

Mejor modelo de regresión con 2 variables: Y=β0+β1*lstat+β2*rm

Mejor modelo de regresión n con 3 variables: Y=β0+β1*lstat+β2*rm+β3*ptratio


Mejor modelo de regresión con 4 variables: Y=β0+β1*lstat+β2*rm+β3*ptratio+β4*dis

Mejor modelo de regresión con 5 variables:


Y=β0+β1*lstat+β2*rm+β3*ptratio+β4*dis+β5*nox

Mejor modelo de regresión con 6 variable:


Y=β0+β1*lstat+β2*rm+β3*ptratio+β4*dis+β5*nox+ β6* chas

Mejor modelo de regresión con 7 variables:


Y=β0+β1*lstat+β2*rm+β3*ptratio+β4*dis+β5*nox+ β6* chas+β7*black

Mejor modelo de regresión con 8 variables:


Y=β0+β1*lstat+β2*rm+β3*ptratio+β4*dis+β5*nox+ β6* chas+β7*black +β8*zn

Mejor modelo de regresión con 9 variables:


Y=β0+β1*lstat+β2*rm+β3*ptratio+β4*dis+β5*nox+ β6* chas+β7*black +β8*zn +β9*crim

Mejor modelo de regresión con 10 variables:


Y=β0+β1*lstat+β2*rm+β3*ptratio+β4*dis+β5*nox+ β6* chas+β7*black +β8*zn +β9*crim
+β10*rad

Mejor modelo de regresión con 11 variables:


Y=β0+β1*lstat+β2*rm+β3*ptratio+β4*dis+β5*nox+ β6* chas+β7*black +β8*zn +β9*crim
+β10*rad +β11* tax

Mejor modelo de regresión con 12 variables:


Y=β0+β1*lstat+β2*rm+β3*ptratio+β4*dis+β5*nox+ β6* chas+β7*black +β8*zn +β9*crim
+β10*rad +β11* tax +β12* indus

Modelo de regresión con 13 variables:


Y=β0+β1*lstat+β2*rm+β3*ptratio+β4*dis+β5*nox+ β6* chas+β7*black +β8*zn +β9*crim
+β10*rad +β11* tax +β12* indus +β13* age

Forward: r-cuadrado
# Para poder obtener el valor del r-cuadrado ajustado usamos “$adjr2” en la función
“summary”
> summary(regresionForward)$adjr2

[1] 0.5432418 0.6371245 0.6767036 0.6878351 0.7051702


0.7123567 0.7182560 0.7222072

[9] 0.7239046 0.7288066 0.7348058 0.7343282 0.7337897

Se comparan los valores y se escoge el modelo de regresión que contiene a las 11


variables porque representa el valor más alto del R-cuadrado ajustado (73.48 %)

Y= β0 +0.7337897*lstat +0.7123567*rm +0.7348058*ptratio +0.7222072*dis


+0.7051702*nox +0.6878351* chas +0.7343282*black +0.6371245*zn
+0.5432418*crim +0.7239045*rad +0.7288066* tax

Forward: residual

Para poder obtener el valor del “suma de residuales cuadráticos” usamos “$rss”

> summary(regresionForward)$rss

[1] 19472.38 15439.31 13727.99 13228.91 12469.34 12141.07


11868.24 11678.30 11583.59

[10] 11354.98 11081.36 11078.85 11078.78l

Se comparan los valores $rss y se escoge el modelo de regresión que contiene a las 13
variables porque representa el valor MÁS BAJO de la suma de residuales cuadráticos
(11078.78).

Y=β0+11078.78*lstat+12141.07*rm+11081.36*ptratio+11678.30*dis+12469.34*nox+
13228.91* chas+11078.85*black +15439.31*zn +19472.38*crim +11583.59*rad
+11354.98* tax +13727.99* indus +11868.24* age

> regresionBackward<-regsubsets(as.matrix(Boston[,-14]),Boston[,14], nbest = 1,


nvmax = NULL, method='backward')
> summary(regresionBackward)$which

(Intercept) crim zn indus chas nox rm age dis rad tax

1 TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE

2 TRUE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE

3 TRUE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE

4 TRUE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE

5 TRUE FALSE FALSE FALSE FALSE TRUE TRUE FALSE TRUE FALSE FALSE

6 TRUE FALSE FALSE FALSE FALSE TRUE TRUE FALSE TRUE FALSE FALSE

7 TRUE FALSE FALSE FALSE FALSE TRUE TRUE FALSE TRUE TRUE FALSE

8 TRUE TRUE FALSE FALSE FALSE TRUE TRUE FALSE TRUE TRUE FALSE

9 TRUE TRUE FALSE FALSE FALSE TRUE TRUE FALSE TRUE TRUE TRUE

10 TRUE TRUE TRUE FALSE FALSE TRUE TRUE FALSE TRUE TRUE TRUE

11 TRUE TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE TRUE TRUE

12 TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE

13 TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE

ptratio black lstat

1 FALSE FALSE TRUE

2 FALSE FALSE TRUE

3 TRUE FALSE TRUE

4 TRUE FALSE TRUE

5 TRUE FALSE TRUE

6 TRUE TRUE TRUE

7 TRUE TRUE TRUE

8 TRUE TRUE TRUE

9 TRUE TRUE TRUE

10 TRUE TRUE TRUE


11 TRUE TRUE TRUE

12 TRUE TRUE TRUE

13 TRUE TRUE TRUE

Mejor modelo de regresión con 1 variable: Y=β0+β1*lstat

Mejor modelo de regresión con 2 variables: Y=β0+β1*lstat+β2*rm

Mejor modelo de regresión n con 3 variables: Y=β0+β1*lstat+β2*rm+β3*ptratio

Mejor modelo de regresión con 4 variables: Y=β0+β1*lstat+β2*rm+β3*ptratio+β4*dis

Mejor modelo de regresión con 5 variables:


Y=β0+β1*lstat+β2*rm+β3*ptratio+β4*dis+β5*nox

Mejor modelo de regresión con 6 variable:


Y=β0+β1*lstat+β2*rm+β3*ptratio+β4*dis+β5*nox+ β6* chas

Mejor modelo de regresión con 7 variables:


Y=β0+β1*lstat+β2*rm+β3*ptratio+β4*dis+β5*nox+ β6* chas+β7*black

Mejor modelo de regresión con 8 variables:


Y=β0+β1*lstat+β2*rm+β3*ptratio+β4*dis+β5*nox+ β6* chas+β7*black +β8*zn

Mejor modelo de regresión con 9 variables:


Y=β0+β1*lstat+β2*rm+β3*ptratio+β4*dis+β5*nox+ β6* chas+β7*black +β8*zn +β9*crim

Mejor modelo de regresión con 10 variables:


Y=β0+β1*lstat+β2*rm+β3*ptratio+β4*dis+β5*nox+ β6* chas+β7*black +β8*zn +β9*crim
+β10*rad

Mejor modelo de regresión con 11 variables:


Y=β0+β1*lstat+β2*rm+β3*ptratio+β4*dis+β5*nox+ β6* chas+β7*black +β8*zn +β9*crim
+β10*rad +β11* tax

Mejor modelo de regresión con 12 variables:


Y=β0+β1*lstat+β2*rm+β3*ptratio+β4*dis+β5*nox+ β6* chas+β7*black +β8*zn +β9*crim
+β10*rad +β11* tax +β12* indus
Modelo de regresión con 13 variables:
Y=β0+β1*lstat+β2*rm+β3*ptratio+β4*dis+β5*nox+ β6* black+β7*rad +β8*crim +β9*tax
+β10*zn +β11* chas +β12* indus +β13* age

Backward: r - ajustado

> summary(regresionBackward)$adjr2
[1] 0.5432418 0.6371245 0.6767036 0.6878351 0.7051702
0.7119672 0.7147861 0.7195336
[9] 0.7243416 0.7299149 0.7348058 0.7343282 0.7337897
0.7348058 es el R CUADRADO AJUSTADO para el modelo de regresión con 11
variables independientes
0.7343282 es el R CUADRADO AJUSTADO para el modelo de regresión con 12
variables independientes
73. 48 %
=1 . 0006 este valor lo multiplico al 100% y da resultado: 0.06 %
73. 43 %
El valor obtenido con 12 variables es ligeramente mayor al del modelo con 11 variables.
Por lo tanto, al agregar la variable 12 no hubo una mejora significativa en el modelo de
regresión.
Y=β0+0.7337897*lstat+0.7119672*rm+0.7348058*ptratio+0.7195336*dis+0.7051702*
nox+ 0.7343282* black+0.7243416*rad +0.5432418*crim +0.7299149*tax
+0.6371245*zn +0.6878351* chas

Backward: residual

> summary(regresionBackward)$rss
[1] 19472.38 15439.31 13727.99 13228.91 12469.34 12157.51
12014.40 11790.70 11565.25
[10] 11308.58 11081.36 11078.85 11078.78
Decisión: escogemos como mejor modelo el que es de 13 variables:
Y=β0+11078.78*lstat+12141.07*rm+11081.36*ptratio+11678.30*dis+12469.34*nox+
13228.91* black+11078.85*rad +15439.31*crim +19472.38*tax +11583.59*zn
+11354.98* chas +13727.99* indus +11868.24* age
Métodos de construcción de la ecuación de regresión: step Criterios de selección
de la mejor ecuación de regresión: AIC

library(dplyr)

datos <- as.data.frame(swiss)


#vamos a calcular la correlación entre todas las variables
> datos <- as.data.frame(Boston)

> round(cor(x = datos, method = "pearson"), 4)

crim zn indus chas nox rm


age dis rad

crim 1.0000 -0.2005 0.4066 -0.0559 0.4210 -0.2192


0.3527 -0.3797 0.6255

zn -0.2005 1.0000 -0.5338 -0.0427 -0.5166 0.3120


-0.5695 0.6644 -0.3119

indus 0.4066 -0.5338 1.0000 0.0629 0.7637 -0.3917


0.6448 -0.7080 0.5951

chas -0.0559 -0.0427 0.0629 1.0000 0.0912 0.0913


0.0865 -0.0992 -0.0074

nox 0.4210 -0.5166 0.7637 0.0912 1.0000 -0.3022


0.7315 -0.7692 0.6114

rm -0.2192 0.3120 -0.3917 0.0913 -0.3022 1.0000


-0.2403 0.2052 -0.2098
age 0.3527 -0.5695 0.6448 0.0865 0.7315 -0.2403
1.0000 -0.7479 0.4560

dis -0.3797 0.6644 -0.7080 -0.0992 -0.7692 0.2052


-0.7479 1.0000 -0.4946

rad 0.6255 -0.3119 0.5951 -0.0074 0.6114 -0.2098


0.4560 -0.4946 1.0000

tax 0.5828 -0.3146 0.7208 -0.0356 0.6680 -0.2920


0.5065 -0.5344 0.9102

ptratio 0.2899 -0.3917 0.3832 -0.1215 0.1889 -0.3555


0.2615 -0.2325 0.4647

black -0.3851 0.1755 -0.3570 0.0488 -0.3801 0.1281


-0.2735 0.2915 -0.4444

lstat 0.4556 -0.4130 0.6038 -0.0539 0.5909 -0.6138


0.6023 -0.4970 0.4887

medv -0.3883 0.3604 -0.4837 0.1753 -0.4273 0.6954


-0.3770 0.2499 -0.3816

tax ptratio black lstat medv

crim 0.5828 0.2899 -0.3851 0.4556 -0.3883

zn -0.3146 -0.3917 0.1755 -0.4130 0.3604

indus 0.7208 0.3832 -0.3570 0.6038 -0.4837

chas -0.0356 -0.1215 0.0488 -0.0539 0.1753

nox 0.6680 0.1889 -0.3801 0.5909 -0.4273

rm -0.2920 -0.3555 0.1281 -0.6138 0.6954

age 0.5065 0.2615 -0.2735 0.6023 -0.3770

dis -0.5344 -0.2325 0.2915 -0.4970 0.2499

rad 0.9102 0.4647 -0.4444 0.4887 -0.3816

tax 1.0000 0.4609 -0.4418 0.5440 -0.4685


ptratio 0.4609 1.0000 -0.1774 0.3740 -0.5078

black -0.4418 -0.1774 1.0000 -0.3661 0.3335

lstat 0.5440 0.3740 -0.3661 1.0000 -0.7377

medv -0.4685 -0.5078 0.3335 -0.7377 1.0000

# Elaboración de un gráfico que muestras los diagramas de dispersión y los valores


de correlación entre todas las variables de la base de datos analizada
# Primero instalar el paquete “GGally”
library(ggplot2)
library(GGally)
> library(ggplot2)

> library(GGally)

Registered S3 method overwritten by 'GGally':

method from

+.gg ggplot2

> ggpairs(datos, lower = list(continuous = "smooth"),

+ diag = list(continuous = "barDiag"), axisLabels =


"none")
Método step: para construir la ecuación de regresión

#Es el 3er método para construir ecuaciones de regresión lineal múltiple


> modelo <- lm ( medv ~ crim + zn + indus + chas + nox + rm
+ age + dis + rad + tax + ptratio + black +
lstat,data=datos)

> summary(modelo)

Call:

lm(formula = medv ~ crim + zn + indus + chas + nox + rm +


age + dis + rad + tax + ptratio + black + lstat, data =
datos)

Residuals:

Min 1Q Median 3Q Max

-15.595 -2.730 -0.518 1.777 26.199

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 3.646e+01 5.103e+00 7.144 3.28e-12 ***


crim -1.080e-01 3.286e-02 -3.287 0.001087 **

zn 4.642e-02 1.373e-02 3.382 0.000778 ***

indus 2.056e-02 6.150e-02 0.334 0.738288

chas 2.687e+00 8.616e-01 3.118 0.001925 **

nox -1.777e+01 3.820e+00 -4.651 4.25e-06 ***

rm 3.810e+00 4.179e-01 9.116 < 2e-16 ***

age 6.922e-04 1.321e-02 0.052 0.958229

dis -1.476e+00 1.995e-01 -7.398 6.01e-13 ***

rad 3.060e-01 6.635e-02 4.613 5.07e-06 ***

tax -1.233e-02 3.760e-03 -3.280 0.001112 **

ptratio -9.527e-01 1.308e-01 -7.283 1.31e-12 ***

black 9.312e-03 2.686e-03 3.467 0.000573 ***

lstat -5.248e-01 5.072e-02 -10.347 < 2e-16 ***

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 4.745 on 492 degrees of freedom

Multiple R-squared: 0.7406, Adjusted R-squared: 0.7338

F-statistic: 108.1 on 13 and 492 DF, p-value: < 2.2e-16

p-valor = 2.2×10-16 es menor que 0,05


Como el p-valor ≤ 0,05 entonces se rechaza la hipótesis de que no hay modelo de
regresión, esto quiere decir que SI es válida la ecuación de regresión planteada.

R cuadrado ajustado = 73.38 %


Dicho valor es suficientemente alto, el “R cuadrado ajustado” es una medida que indica
el porcentaje de variabilidad de la variable Y (medv) que se puede explicar según la
variabilidad de todas las variables independientes.
> step(object = modelo, direction = "both", trace = 1)

Start: AIC=1589.64

medv ~ crim + zn + indus + chas + nox + rm + age + dis +


rad + tax + ptratio + black + lstat

Df Sum of Sq RSS AIC

- age 1 0.06 11079 1587.7

- indus 1 2.52 11081 1587.8

<none> 11079 1589.6

- chas 1 218.97 11298 1597.5

- tax 1 242.26 11321 1598.6

- crim 1 243.22 11322 1598.6

- zn 1 257.49 11336 1599.3

- black 1 270.63 11349 1599.8

- rad 1 479.15 11558 1609.1

- nox 1 487.16 11566 1609.4

- ptratio 1 1194.23 12273 1639.4

- dis 1 1232.41 12311 1641.0

- rm 1 1871.32 12950 1666.6

- lstat 1 2410.84 13490 1687.3

Step: AIC=1587.65

medv ~ crim + zn + indus + chas + nox + rm + dis + rad +


tax + ptratio + black + lstat

Df Sum of Sq RSS AIC

- indus 1 2.52 11081 1585.8


<none> 11079 1587.7

+ age 1 0.06 11079 1589.6

- chas 1 219.91 11299 1595.6

- tax 1 242.24 11321 1596.6

- crim 1 243.20 11322 1596.6

- zn 1 260.32 11339 1597.4

- black 1 272.26 11351 1597.9

- rad 1 481.09 11560 1607.2

- nox 1 520.87 11600 1608.9

- ptratio 1 1200.23 12279 1637.7

- dis 1 1352.26 12431 1643.9

- rm 1 1959.55 13038 1668.0

- lstat 1 2718.88 13798 1696.7

Step: AIC=1585.76

medv ~ crim + zn + chas + nox + rm + dis + rad + tax +


ptratio + black + lstat

Df Sum of Sq RSS AIC

<none> 11081 1585.8

+ indus 1 2.52 11079 1587.7

+ age 1 0.06 11081 1587.8

- chas 1 227.21 11309 1594.0

- crim 1 245.37 11327 1594.8

- zn 1 257.82 11339 1595.4

- black 1 270.82 11352 1596.0

- tax 1 273.62 11355 1596.1


- rad 1 500.92 11582 1606.1

- nox 1 541.91 11623 1607.9

- ptratio 1 1206.45 12288 1636.0

- dis 1 1448.94 12530 1645.9

- rm 1 1963.66 13045 1666.3

- lstat 1 2723.48 13805 1695.0

Call:

lm(formula = medv ~ crim + zn + chas + nox + rm + dis + rad


+ tax + ptratio + black + lstat, data = datos)

Coefficients:

(Intercept) crim zn chas


nox rm

36.341145 -0.108413 0.045845 2.718716


-17.376023 3.801579

dis rad tax ptratio


black lstat

-1.492711 0.299608 -0.011778 -0.946525


0.009291 -0.522553

El mejor modelo seleccionado con el método “STEP” y el criterio “AIC” contiene once
(11) variables, entonces la ecuación de regresión es la siguiente:

Ymedv = 36.341145 -0.108413*crim +0.045845*zn +2.718716*chas -17.376023*nox


+3.801579*rm -1.492711*dis +0.299608*rad -0.011778*tax -0.946525*ptratio
+0.009291*black -0.822553*lstat

c) Criterio adicional (revisión del modelo de regresión seleccionado):


ANÁLISIS GRÁFICOS DE LOS RESIDUALES

library(ggplot2)
library(gridExtra)
> library(ggplot2)
> library(gridExtra)
Attaching package: ‘gridExtra’
The following object is masked from ‘package:dplyr’:
combine
> plot11 <- ggplot(data = datos, aes(crim, modelo$residuals)) +
geom_point()
> plot21 <- ggplot(data = datos, aes(zn, modelo$residuals)) +
geom_point()
> plot31 <- ggplot(data = datos, aes(chas, modelo$residuals)) +
geom_point()
> plot41 <- ggplot(data = datos, aes(nox, modelo$residuals)) +
geom_point()
> plot51 <- ggplot(data = datos, aes(rm, modelo$residuals)) +
geom_point()
> plot61 <- ggplot(data = datos, aes(dis, modelo$residuals)) +
m odelo$residuals

m odelo$residuals

m odelo$residuals

geom_point()
20 20 20
> plot71
10
<- ggplot(data =
10
datos, aes(rad, modelo$residuals))
10
+
geom_point()
0 0 0

> -10
plot81 <- ggplot(data -10 -10
= datos, aes(tax, modelo$residuals)) +
0 25 50 75 0 25 50 75 100 0.00 0.25 0.50 0.75 1.00
geom_point()
crim zn chas
m odelo$residuals

m odelo$residuals

m odelo$residuals

> plot91 <- ggplot(data = datos, aes(ptratio, modelo$residuals)) +


20 20 20
geom_point()
10 10 10
> plot101
0
<- ggplot(data 0= datos, aes(black, modelo$residuals))
0
+
geom_point()
-10 -10 -10

> plot111
0.4 0.5 <-
0.6 ggplot(data
0.7 0.8 = datos,
4 5 6 aes(lstat,
7 8 9 modelo$residuals))
2.5 5.0 7.5 10.0 12.5+
nox rm dis
m odelo$residuals

m odelo$residuals

m odelo$residuals

geom_point()
> grid.arrange(plot11,
20 plot21,
20 plot31, plot41,20plot51, plot61,
10 10 10
plot71, plot81, plot91, plot101, plot111)
0 0 0
-10 -10 -10

0 5 10 15 20 25 200 300 400 500 600 700 12.5 15.0 17.5 20.0
rad tax ptratio
m odelo$residuals

m odelo$residuals

20 20
10 10
0 0
-10 -10

0 100 200 300 400 0 10 20 30


black lstat
Elaboración del Q-Q Plot
d) Elaborar el diagrama de residuales de cada variable incluida en cada una de
las ecuaciones de regresión del apartado (b)
 Criterio adicional (revisión del modelo de regresión seleccionado):
ANÁLISIS GRÁFICOS DE LOS RESIDUALES
Modelo 1

> Modelo1= lm ( medv ~ lstat + rm + ptratio + dis + nox +


chas + black + zn + crim + rad + tax, data=datos)

> qqnorm(Modelo1$residuals)

> qqline(Modelo1$residuals)

Normal Q-Q Plot


20
Sample Quantiles

10
0
-10

-3 -2 -1 0 1 2 3

Theoretical Quantiles

Modelo 2

> Modelo2= lm ( medv ~ lstat + rm + ptratio + dis + nox +


chas + black + zn + crim + rad + tax + indus + age,
data=datos)
> qqnorm(Modelo2$residuals)

> qqline(Modelo2$residuals)

Normal Q-Q Plot


20
Sample Quantiles

10
0
-10

-3 -2 -1 0 1 2 3

Theoretical Quantiles

Modelo 3
> Modelo3= lm ( medv ~ lstat + rm + ptratio + dis + nox +
chas + black + zn + crim + rad + tax, data=datos)

> qqnorm(Modelo3$residuals)

> qqline(Modelo3$residuals)

Normal Q-Q Plot


20
Sample Quantiles

10
0
-10

-3 -2 -1 0 1 2 3

Theoretical Quantiles
Modelo 4

> Modelo4= lm ( medv ~ lstat + rm + ptratio + dis + nox +


chas + black + zn + crim + rad + tax + indus + age,
data=datos)

> qqnorm(Modelo4$residuals)

> qqline(Modelo4$residuals)

Normal Q-Q Plot


20
Sample Quantiles

10
0
-10

-3 -2 -1 0 1 2 3

Theoretical Quantiles
Modelo 5

> Modelo5= lm ( medv ~ crim + zn + chas + nox + rm + dis +


rad + tax + ptratio + black + lstat, data=datos)

> qqnorm(Modelo5$residuals)

> qqline(Modelo5$residuals)

Normal Q-Q Plot


20
Sample Quantiles

10
0
-10

-3 -2 -1 0 1 2 3

Theoretical Quantiles

Nos quedamos con el modelo 5 ya que este contiene el método step el cual da mejores
resultados.
e) Investigar y aplicar un criterio adicional de análisis [validación] del
modelo de regresión lineal usando los valores residuales. Es común en la
estadística encontrar algún “test” o “estadístico” que se utilice para
comparar la calidad de los modelos de regresión lineal utilizando los
residuales.

El “test” o “estadístico” seleccionado debe ser aplicado a cada una de las


ecuaciones de regresión seleccionadas en el apartado (a) y luego usando dicho
valor comparan los cincos modelos de regresión lineal múltiple. Debe usar una
redacción breve de los resultados obtenidos según el “test” aplicado.

Se investigo y se aplicó el Test de Shapiro-Wilk ya que este test se emplea para


contrastar normalidad cuando el tamaño de la muestra es menor de 50 datos

Modelo 1
> Modelo1= lm ( medv ~ lstat + rm + ptratio + dis + nox +
chas + black + zn + crim + rad + tax, data=datos)

> shapiro.test(Modelo1$residuals)

Shapiro-Wilk normality test

data: Modelo1$residuals

W = 0.90131, p-value < 2.2e-16

Considerando que tenemos menos de 50 datos, utilizamos la prueba de normalidad de


Shapiro-Wilk la cual mostro un p-valor = 2.2x10 -16 y al aplicar la restricción tenemos
que 2.2x10-16 ≤ 0.05 lo que demuestra que se cumple la condición y por lo tanto no hay
normalidad en los datos estudiados.

Modelo 2
> Modelo2= lm ( medv ~ lstat + rm + ptratio + dis + nox +
chas + black + zn + crim + rad + tax + indus + age,
data=datos)

> shapiro.test(Modelo2$residuals)

Shapiro-Wilk normality test

data: Modelo2$residuals

W = 0.90138, p-value < 2.2e-16

Considerando que tenemos menos de 50 datos, utilizamos la prueba de normalidad de


Shapiro-Wilk en el modelo 2, la cual mostro un p-valor = 2.2x10 -16 y al aplicar la
restricción tenemos que 2.2x10-16 ≤ 0.05 lo que demuestra que se cumple la condición y
por lo tanto no hay normalidad en los datos estudiados.

Modelo 3

> Modelo3= lm ( medv ~ lstat + rm + ptratio + dis + nox +


chas + black + zn + crim + rad + tax, data=datos)

> shapiro.test(Modelo3$residuals)

Shapiro-Wilk normality test

data: Modelo3$residuals

W = 0.90131, p-value < 2.2e-16

Considerando que tenemos menos de 50 datos, utilizamos la prueba de normalidad de


Shapiro-Wilk la cual mostro un p-valor = 2.2x10 -16 y al aplicar la restricción tenemos
que 2.2x10-16 ≤ 0.05 lo que demuestra que se cumple la condición y por lo tanto no hay
normalidad en los datos estudiados.

Modelo 4

> Modelo4= lm ( medv ~ lstat + rm + ptratio + dis + nox +


chas + black + zn + crim + rad + tax + indus + age,
data=datos)
> shapiro.test(Modelo4$residuals)

Shapiro-Wilk normality test

data: Modelo4$residuals

W = 0.90138, p-value < 2.2e-16

Considerando que tenemos menos de 50 datos, utilizamos la prueba de normalidad de


Shapiro-Wilk la cual mostro un p-valor = 2.2x10 -16 y al aplicar la restricción tenemos
que 2.2x10-16 ≤ 0.05 lo que demuestra que se cumple la condición y por lo tanto no hay
normalidad en los datos estudiados.

Modelo 5

> Modelo5= lm ( medv ~ crim + zn + chas + nox + rm + dis +


rad + tax + ptratio + black + lstat, data=datos)

> shapiro.test(Modelo5$residuals)

Shapiro-Wilk normality test

data: Modelo5$residuals

W = 0.90131, p-value < 2.2e-16

Considerando que tenemos menos de 50 datos, utilizamos la prueba de normalidad de


Shapiro-Wilk la cual mostro un p-valor = 2.2x10 -16 y al aplicar la restricción tenemos
que 2.2x10-16 ≤ 0.05 lo que demuestra que se cumple la condición y por lo tanto no hay
normalidad en los datos estudiados.

También podría gustarte