Regresion lineal simple

1.- Cree su propio ejemplo de regresión lineal simple utilizando un conjunto de datos con dos variables y la función lm. Grafique utilizando las funciones plot y abline.


Ejemplo:

Tome un laboratorio de electricidad, en donde se solicita medir un campo electrico con respecto a la distancia desde la fuente que lo emite. Nuestras dos variables son la distancia (metros) y la tension (volts)

Distancia.metros = c(0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1, 0.11, 0.12, 0.13)
Tension.voltaje = c(2.941, 2.791, 2.740, 2.553, 2.412, 2.262, 2.080, 1.940, 1.757, 1.605, 1.443, 1.259, 1.033)

Procedemos a graficar con plot

plot(Tension.voltaje~Distancia.metros)

Luego usamos lm para ajustar modelos lineales

lm.fit=lm(Tension.voltaje~Distancia.metros)
lm.fit
## 
## Call:
## lm(formula = Tension.voltaje ~ Distancia.metros)
## 
## Coefficients:
##      (Intercept)  Distancia.metros  
##            3.169           -15.809
summary(lm.fit)
## 
## Call:
## lm(formula = Tension.voltaje ~ Distancia.metros)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.08124 -0.01333  0.01597  0.03306  0.04488 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)        3.16938    0.02674  118.51  < 2e-16 ***
## Distancia.metros -15.80879    0.33693  -46.92 5.05e-14 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.04545 on 11 degrees of freedom
## Multiple R-squared:  0.995,  Adjusted R-squared:  0.9946 
## F-statistic:  2202 on 1 and 11 DF,  p-value: 5.048e-14

Graficamos nuevamente con la funcion abline (obtuve los valores al evaluar el grafico con las columnas cambiadas)

plot(Tension.voltaje~Distancia.metros)
abline(3.169,-15.809,col='purple')


2.- Utilice el modelo de regresión lineal simple de la actividad 1 para predecir 5 nuevos registros e incorpórelos a su conjunto de datos. Calcule nuevamente la regresión lineal simple ¿Se observa algún cambio en los coeficientes?

pw<-c(0.14,0.15,0.16,0.17,0.18)

newVector = predict.lm(lm.fit,data.frame(Distancia.metros=pw))
newVector
##         1         2         3         4         5 
## 0.9561538 0.7980659 0.6399780 0.4818901 0.3238022

Se incorporan datos de la prediccion a “Tension.voltaje”

Tension.volt = c(Tension.voltaje,newVector[1:5])

Distancia.metros = c(Distancia.metros,0.14)
Distancia.metros = c(Distancia.metros,0.15)
Distancia.metros = c(Distancia.metros,0.16)
Distancia.metros = c(Distancia.metros,0.17)
Distancia.metros = c(Distancia.metros,0.18)

plot(Tension.volt~Distancia.metros)

Recalculo regresión lineal

lm.fit2 = lm(Tension.volt~Distancia.metros)
lm.fit2
## 
## Call:
## lm(formula = Tension.volt ~ Distancia.metros)
## 
## Coefficients:
##      (Intercept)  Distancia.metros  
##            3.169           -15.809

Resumen Datos

summary(lm.fit2)
## 
## Call:
## lm(formula = Tension.volt ~ Distancia.metros)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.081242  0.000000  0.005203  0.017047  0.044879 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)        3.16938    0.01853  171.00   <2e-16 ***
## Distancia.metros -15.80879    0.17122  -92.33   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.03769 on 16 degrees of freedom
## Multiple R-squared:  0.9981, Adjusted R-squared:  0.998 
## F-statistic:  8525 on 1 and 16 DF,  p-value: < 2.2e-16

No se observa ningun cambio en los coeficientes, la pendiente y el intercepto se mantienen en los mismos margenes.


3.- Tome un punto cualquiera de su conjunto de datos y multiplíquelo por 100, calcule nuevamente la regresión lineal simple ¿Se observa algún cambio en los coeficientes?

Primero se hace el cambio solo en un valor de la Tension

Tension.volt[8] = Tension.volt[8]*100

Recalculo regresión lineal

lm.fit2 = lm(Tension.volt~Distancia.metros)
lm.fit2
## 
## Call:
## lm(formula = Tension.volt ~ Distancia.metros)
## 
## Coefficients:
##      (Intercept)  Distancia.metros  
##            19.49            -75.27
plot(Tension.volt~Distancia.metros)
abline(19.49,-75.27,col='purple')

Se observa que efectivamente hay un cambio en los valores de la pendiente(-75.27) y el intercepto(19.49), aunque la tendencia es la misma

Resumen Datos

summary(lm.fit2)
## 
## Call:
## lm(formula = Tension.volt ~ Distancia.metros)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -15.795 -13.162 -10.061  -7.548 180.533 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)
## (Intercept)         19.49      22.89   0.851    0.407
## Distancia.metros   -75.27     211.51  -0.356    0.727
## 
## Residual standard error: 46.56 on 16 degrees of freedom
## Multiple R-squared:  0.007853,   Adjusted R-squared:  -0.05416 
## F-statistic: 0.1266 on 1 and 16 DF,  p-value: 0.7266

Se realiza un segundo caso con el valor de la distancia (misma posicion que en la tension), manteniendo el cambio realizado en la tension

Distancia.metros[8] = Distancia.metros[8]*100

Recalculo regresión lineal

lm.fit2 = lm(Tension.volt~Distancia.metros)
lm.fit2
## 
## Call:
## lm(formula = Tension.volt ~ Distancia.metros)
## 
## Coefficients:
##      (Intercept)  Distancia.metros  
##          -0.6643           24.3025
plot(Tension.volt~Distancia.metros)
abline(-0.6643,24.3025,col='purple')

Para este caso el cambio es mas radical ya que se cambia la linea de tendencia, se observa una pendiente de 24.3025 y un intercepto de -0.6643

Resumen Datos

summary(lm.fit2)
## 
## Call:
## lm(formula = Tension.volt ~ Distancia.metros)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.3864 -1.7020  0.0365  1.7629  3.3622 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       -0.6643     0.5413  -1.227    0.237    
## Distancia.metros  24.3025     0.2866  84.796   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.202 on 16 degrees of freedom
## Multiple R-squared:  0.9978, Adjusted R-squared:  0.9976 
## F-statistic:  7190 on 1 and 16 DF,  p-value: < 2.2e-16