Regresión Lineal Múltiple en R · Regresión Lineal Múltiple en R 1Hugo Alberto Brango García,...

25
1

Transcript of Regresión Lineal Múltiple en R · Regresión Lineal Múltiple en R 1Hugo Alberto Brango García,...

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

Hugo Alberto Brango García, MsC. (UNICORDOBA) Junio de 2014 13 / 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

Ejemplo 2

Regresión Lineal Múltiple

confint(reg)

2.5 % 97.5 %

(Intercept) -9.877805391 2.862249109

Humedad -0.004013237 -0.001236744

Temperatura -0.003536568 0.005134450

Presion -0.060734384 0.369044444

Hugo Alberto Brango García, MsC. (UNICORDOBA) Junio de 2014 25 / 25