Objetivo de aprendizaje: Utilizar R (Interfaz RStudio) para identificar la relación entres dos variables cuantitativas mediante un acercamiento descriptivo de la técnica de regresión lineal simple.
Interpretación de resultados: Se encuentran en el material de presentación del tema.
Presaberes necesarios:
Nociones de estadística descriptiva
Manejo básico de R (intefaz RStudio)
Utilizaremos el mismo ejemplo1 , tomado del libro de Berenson (2006) ejercicio 12.9 de la página 421, que se propuso de las diapositivas.
A un agente de una empresa de bienes raíces residenciales en una gran ciudad, le gustaría predecir el costo de renta mensual de los departamentos con base en el tamaño del inmueble definido por su extensión. Se seleccionó una muestra de 25 departamentos RENT en un vecindario residencial específico, y la información recabada reveló lo siguiente:
Recordar: En este caso estamos creando dos objetos tipo vector, asignamos un nombre (corto, que no comience por número o símbolo, que no contenga acentos). La letra c, en minúscula, indica el comienzo del ingreso de la cadena de valores.
Renta=c(950,1600,1200,1500,950,1700,1650,935,875,1150,
1400,1650,2300,1800,1400,1450,1100,1700,1200,1150,
1600,1650,1200,800,1750)
Area=c(850,1450,1085,1232,718,1485,1136,726,700,956,
1100,1285,1985,1369,1175,1225,1245,1259,1150,986,
1361,1040,755,1000,1200)
Ejemplo1=cbind.data.frame(Renta,Area)
head(Ejemplo1) #Muestra las seis primeras filas de la base de datos
## Renta Area
## 1 950 850
## 2 1600 1450
## 3 1200 1085
## 4 1500 1232
## 5 950 718
## 6 1700 1485
Para la contrucción del diagrama de dispersión hay que tener en cuenta que en la instrucción colocamos primero la variable independiente y en segundo lugar la variable dependiente.
plot(Ejemplo1$Area,Ejemplo1$Renta,
col="red",
main="Diagrama de dispersión",
xlab="Tamaño de departamento (pies cuadrados)",
ylab="Valor mensual de renta ($us)")
Podemos mejorar el gráfico para nuestras presentaciones e informes, haciendo uso de la libreria ggplot2.
library(ggplot2) #visualización de datos mediante el uso de “Gramática de los Gráficos”
library(plotly) #permite construir gráficos de alta calidad, incorporando en ellos la interactividad
library(hexbin) #personaliza los colores, el número de clases y la leyenda del gráfico.
p <- ggplot(Ejemplo1, aes(x = Area, y = Renta))+
geom_point(shape = 3, colour = "darkblue", fill = "white", size = 1)+
ggtitle("Diagrama de Dispersion") +
xlab("Area del departamento") +
ylab("Valor de renta")
ggplotly(p)
Para el cáculo del coeficiente de correlación lineal de Pearson (indicado en el material de presentación del tema) utilizamos la instrucción \(cor(x,y,method="pearson")\). En caso de ser necesario se puede cambiar el método por kendall o por spearman.
r=cor(Ejemplo1$Renta,Ejemplo1$Area, method = "pearson") #Se calcula el coeficiente de correlación de Pearson
r
## [1] 0.8490978
La instrucción lm se utiliza para ajustar modelos lineales, incluidos los multivariados. En particular, se puede utilizar para realizar regresión lineal simple. Se utiliza en la forma \(lm(y \sim x)\)
recta_regresion=lm(Ejemplo1$Renta~Ejemplo1$Area)
recta_regresion
##
## Call:
## lm(formula = Ejemplo1$Renta ~ Ejemplo1$Area)
##
## Coefficients:
## (Intercept) Ejemplo1$Area
## 163.821 1.073
De aquí, el valor de \(b_0\) es aquel que se encuentra bajo el nombre (intercept) y el valor de \(b_1\), es aquel que se encuentra bajo el nombre Ejemplo1$Area. Así, la ecuación de la recta de regresión se expresa como:
\[\hat{y}=163.821+1.073x\]
Para gráficar la nube de puntos con la ecuación de la recta de regresión, podemos utilizar instrucciones de gráfico simple o realizar el mejoramiento gráfico con ggplot2
plot( Ejemplo1$Area, Ejemplo1$Renta,
xlab = "Area de departamento (pies cuadrados)", # Etiqueta eje x
ylab = "Valor mensual de renta ($us)", # Etiqueta eje y
main = "Grafico de dispersion", # Titulo principal del grafico
)
abline (recta_regresion, col = "magenta" ) # añadir la recta al gráfico
p2=ggplot(Ejemplo1, aes(x=Area, y=Renta)) +
geom_point() +
ggtitle("Diagrama de Dispersion") +
xlab("Area del departamento") +
ylab("Valor de renta") +
geom_smooth(method=lm)
ggplotly(p2)
Berenson, M. L., Levine, D. M., & Krehbiel, T. C. (2006). Estadística para administración. Pearson Educación.↩︎