regresión lineal múltiple en r · regresión lineal múltiple en r 1hugo alberto brango garcía,...
TRANSCRIPT
Regresión Lineal Múltiple en R
1Hugo Alberto Brango García, MsC.
Email: [email protected]
Web: www.habrango.jimdo.com
www.ciecasesores.co
Junio de 2014
Hugo Alberto Brango García, MsC. (UNICORDOBA) Junio de 2014 1 / 25
Regresión Lineal múltiple
Para un modelo con k variables explicativas x1, x2, ..., xk la ecuación de
regresión lineal múltiple es
y = β0 + β1x1 + β2x2 + ...+ βkxk (1)
Hugo Alberto Brango García, MsC. (UNICORDOBA) Junio de 2014 2 / 25
Ejemplo 1
Ejemplo
Cierto banco desea abrir nuevas cuentas de cheques para clientes que emitirán
al menos 30 cheques al mes. Como ayuda en la selección de los nuevos
clientes, el banco ha estudiado la relación entre el número de cheques
expedidos y la edad y el ingreso anual de ocho de sus clientes actuales. La
variable ingreso se registró en dolares:
Hugo Alberto Brango García, MsC. (UNICORDOBA) Junio de 2014 3 / 25
Ejemplo 1
Aplicación
Se copian los datos (no se pegan en ningún lado, estos quedan en el
portapapeles)
Hugo Alberto Brango García, MsC. (UNICORDOBA) Junio de 2014 4 / 25
Ejemplo 1
Datos en R
Primero veamos una manera muy fácil de cargar los datos en R. Para
ello nos vamos a nuestra base datos en Excel, seleccionamos nuestros
datos y damos copiar.
ejemplo=read.delim("clipboard",dec=",")
Y listo, ya tenemos nuestra base de datos en R la cual llamamos
ejemplo. Ahora, vamos a leer cada una variables que componen
nuestra base de datos:
cheques=ejemplo$cheques
edad=ejemplo$edad
ingreso=ejemplo$ingreso
Hugo Alberto Brango García, MsC. (UNICORDOBA) Junio de 2014 5 / 25
Ejemplo 1
Análisis exploratorio
par(mfrow=c(2,2))
boxplot(cheques,main="Cheques",col="gray")
boxplot(edad,main="Edad",col="gray")
boxplot(ingreso,main="ingresos",col="gray")
020
40Cheques
2530
3540
45
Edad10
1520
25
ingresos
Hugo Alberto Brango García, MsC. (UNICORDOBA) Junio de 2014 6 / 25
Ejemplo 1
Análisis exploratorio
pairs(ejemplo,panel=panel.smooth)
cheques
25 30 35 40 45
010
2030
4050
2530
3540
45
edad
0 10 20 30 40 50 10 15 20 25
1015
2025
ingreso
Hugo Alberto Brango García, MsC. (UNICORDOBA) Junio de 2014 7 / 25
Ejemplo 1
Valores de las correlaciones
cor(ejemplo)
Cheques Edad Ingreso
Cheques 1.0000 -0.3703960 0.9131571
Edad -0.3703960 1.0000 -0.6336351
Ingreso 0.9131571 -0.6336351 1.0000
Hugo Alberto Brango García, MsC. (UNICORDOBA) Junio de 2014 8 / 25
Ejemplo 1
Regresión Lineal Múltiple
reg=lm(cheques~edad+ingreso)
summary(reg)
Hugo Alberto Brango García, MsC. (UNICORDOBA) Junio de 2014 9 / 25
Ejemplo 1
Regresión Lineal Múltiple
El modelo estimado es:
Cheques = −70,6647 + 1,0103 ∗ Edad+ 3,3420 ∗ Ingresos
Hugo Alberto Brango García, MsC. (UNICORDOBA) Junio de 2014 10 / 25
Ejemplo 1
Regresión Lineal Múltiple
confint(reg,level=0.95)
2.5 % 97.5 %
(Intercept) -138.0794704 -3.250011
Edad -0.3107455 2.331353
Ingresos 2.0009409 4.683132
Hugo Alberto Brango García, MsC. (UNICORDOBA) Junio de 2014 11 / 25
Ejemplo 2
Aplicación
Se realizó un estudio acerca de camiones ligeros movidos por diesel para
saber si la humedad (%), la temperatura del aire (ºF) y la presión
barométrica in�uían en la emisión de óxido nitroso (en ppm). Las
emisiones se midieron a distintas horas, en condiciones experimentales
diversas
Hugo Alberto Brango García, MsC. (UNICORDOBA) Junio de 2014 12 / 25
Ejemplo 2
Aplicación
1 Hacer un análisis exploratorio de los datos.
2 Ajustar un modelo de regresión Lineal Múltiple e interpretar.
3 Comente acerca del ajuste y la signi�cancia del modelo, así como
la signi�cancia sobre los coe�cientes de cada una de las variables
independientes.
4 Construya intervalos de con�anza para cada uno de los coe�cientes
del modelo.
5 Estime la cantidad de óxido nitroso para una humedad de 63%,
temperatura de 74 ºF y presión barométrica de 29.39
Hugo Alberto Brango García, MsC. (UNICORDOBA) Junio de 2014 14 / 25
Ejemplo 2
Datos en R
Primero veamos una manera muy fácil de cargar los datos en R. Para
ello nos vamos a nuestra base datos en Excel, seleccionamos nuestros
datos y damos copiar.
Luego nos vamos a R y escribimos el siguiente comando:
datos=read.delim("clipboard",dec=",")
Y listo, ya tenemos nuestra base de datos en R la cual llamamos datos.
Ahora, vamos a leer cada una variables que componen nuestra base de
datos:
Oxido=datos$Oxido
Humedad=datos$Humedad
Temp=datos$Temp
Presion=datos$Presion
Hugo Alberto Brango García, MsC. (UNICORDOBA) Junio de 2014 15 / 25
Ejemplo 2
Análisis exploratorio
par(mfrow=c(2,2))
boxplot(Oxido,main="Oxido de Nitrogeno",col="gray")
boxplot(Humedad,main="Humedad",col="gray")
boxplot(Temp,main="Temperatura",col="gray")
boxplot(Presion,main="Presión",col="gray")
Hugo Alberto Brango García, MsC. (UNICORDOBA) Junio de 2014 16 / 25
Ejemplo 2
Análisis exploratorio
pairs(datos,panel=panel.smooth)
Hugo Alberto Brango García, MsC. (UNICORDOBA) Junio de 2014 17 / 25
Ejemplo 2
Grá�co de correlaciones
image(cor(datos),col=gray(seq(from=100,to=0,length=100)/100),axes=F)
mtext(side=1,text=names(datos),at=seq(from=1,to=0,length=4),line=1,cex=0.8)
mtext(side=2,text=names(datos),at=seq(from=1,to=0,length=4),line=1,cex=0.8)
Hugo Alberto Brango García, MsC. (UNICORDOBA) Junio de 2014 18 / 25
Ejemplo 2
Grá�co de contornos
library(MASS)
s1=kde2d(Humedad,Oxido)
image(s1,xlab="Humedad",ylab="Oxido")
contour(s1,add=T)
Hugo Alberto Brango García, MsC. (UNICORDOBA) Junio de 2014 19 / 25
Ejemplo 2
Grá�co de contornos
s2=kde2d(Temp,Oxido)
image(s2,xlab="Temperatura",ylab="Oxido")
contour(s2,add=T)
Hugo Alberto Brango García, MsC. (UNICORDOBA) Junio de 2014 20 / 25
Ejemplo 2
Grá�co de contornos
s3=kde2d(Presion,Oxido)
image(s3,xlab="Presión",ylab="Oxido")
contour(s3,add=T)
Hugo Alberto Brango García, MsC. (UNICORDOBA) Junio de 2014 21 / 25
Ejemplo 2
Valores de las correlaciones
cor(datos)
Oxido Humedad Temp Presion
Oxido 1.0000 -0.8773 -0.1807 0.7740
Humedad -0.8773 1.0000 0.2535 -0.7554
Temp -0.1807 0.2535 1.0000 -0.1936
Presion 0.7740 -0.7554 -0.1936 1.0000
Hugo Alberto Brango García, MsC. (UNICORDOBA) Junio de 2014 22 / 25
Ejemplo 2
Regresión Lineal Múltiple
reg=lm(Oxido~Humedad+Temp+Presion)
summary(reg)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -3.5077781 3.0048641 -1.167 0.26017
Humedad -0.0026250 0.0006549 -4.008 0.00101 **
Temp 0.0007989 0.0020451 0.391 0.70121
Presion 0.1541550 0.1013675 1.521 0.14784
---
Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1
Residual standard error: 1584 on 16 degrees of freedom
Multiple R-squared: 0.8005, Adjusted R-squared: 0.763
F-statistic: 21.4 on 3 and 16 DF, p-value: 7.609e-06
Hugo Alberto Brango García, MsC. (UNICORDOBA) Junio de 2014 23 / 25
Ejemplo 2
Regresión Lineal Múltiple
El modelo estimado es:
Oxido = −3,5078−0,0026∗Humedad+0,00079∗Temperatura+0,1541∗Presion
Hugo Alberto Brango García, MsC. (UNICORDOBA) Junio de 2014 24 / 25