Modelo de regresión lineal

Formula: \(y= \beta 0+ \beta 1+ e\)

donde:

\(y=\) La variable respuesta o dependiente

\(x=\) La variable regresora o independiente

\(\beta 0 =\) La ordenada al origen

\(\beta 1 =\)La pendiente

\(e =\) El error

Ejemplo:

Distribución del volumen de madera en un aserradero

Para el ejemplo se utiliza una base de datos sobre medidas de árboles de los que se obtuvo madera en un aserradero.

Descripción de las variables

HT = altura en pies. Variable independiente

DBH = diámetro del tronco a 4 pies (1.22 metros de altura en pulgadas). Variable independiente

D16 = diámetro del tronco a 16 pies (4.8768 metros de altura en pulgadas). Variable independiente

VOL = volumen de madera obtenida (en pies cúbicos). Variable dependiente

## Librerias 
 
 library(zoo)
## 
## Adjuntando el paquete: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
 library(xts)
 library(readr)
 library(PerformanceAnalytics)
## 
## Adjuntando el paquete: 'PerformanceAnalytics'
## The following object is masked from 'package:graphics':
## 
##     legend
 library(lmtest)
library(carData)
library(car)
Arboles <- read_csv("C:/Users/Carol/Documents/base arboles.csv")
## Rows: 100 Columns: 5
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## dbl (5): Árbol, VOL, DBH, D16, HT
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
head(Arboles)
## # A tibble: 6 × 5
##   Árbol   VOL   DBH   D16    HT
##   <dbl> <dbl> <dbl> <dbl> <dbl>
## 1     1  25.9  10.2   9.3  89  
## 2     2  45.9  13.7  12.1  90.1
## 3     3  56.2  15.4  13.3  95.1
## 4     4  58.6  14.4  13.4  98.0
## 5     5  63.4  15    14.2  99  
## 6     6  46.4  15.0  12.8  91.0
Arboles<-Arboles[,-1]

Correlación entre las variables

chart.Correlation(Arboles)
## Warning in par(usr): argument 1 does not name a graphical parameter
## Warning in par(usr): argument 1 does not name a graphical parameter
## Warning in par(usr): argument 1 does not name a graphical parameter
## Warning in par(usr): argument 1 does not name a graphical parameter
## Warning in par(usr): argument 1 does not name a graphical parameter
## Warning in par(usr): argument 1 does not name a graphical parameter

Se puede observar una alta correlación entre el volumen de madera obtenida con las demás variables. Sin embargo, también hay alta correlación entre las variables, lo que presenta puede presentar problemas de multicolinealidad.

Se procede a realizar la propuesta del modelo.

 ####Ajustar Modelo de regresión lineal
 
 modelo <- lm(VOL ~ DBH + D16+ HT, data = Arboles)
 modelo
## 
## Call:
## lm(formula = VOL ~ DBH + D16 + HT, data = Arboles)
## 
## Coefficients:
## (Intercept)          DBH          D16           HT  
##    -72.8193       2.3288       2.1253       0.7116
summary(modelo) 
## 
## Call:
## lm(formula = VOL ~ DBH + D16 + HT, data = Arboles)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -11.6810  -2.8732   0.0253   3.4373  15.3376 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -72.8193     6.9697 -10.448  < 2e-16 ***
## DBH           2.3288     0.4982   4.675 9.61e-06 ***
## D16           2.1253     0.5315   3.998 0.000125 ***
## HT            0.7116     0.1333   5.337 6.29e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.773 on 96 degrees of freedom
## Multiple R-squared:  0.8813, Adjusted R-squared:  0.8776 
## F-statistic: 237.6 on 3 and 96 DF,  p-value: < 2.2e-16

Planteamiento de Hipótesis:

\(H0\): El modelo No se justa de manera lineal

\(Ha\): El modelo se ajusta de manera lineal

El p valor< 0.05. Por lo tanto, se rechaza la H0 y se dice que el modelo si se ajusta de manera líneal a los datos.

El valor de R cuadrado: 0.8776, nos dice que de la variabilidad total del volumen de madera obtenida de los árboles, el 87.76% esta explicada por la altura, el diámetro del tronco a 4 pies y el diámetro del tronco a 16 pies.

Análisis de varianza

anova<-anova(modelo)
anova
## Analysis of Variance Table
## 
## Response: VOL
##           Df  Sum Sq Mean Sq F value    Pr(>F)    
## DBH        1 14491.1 14491.1 635.978 < 2.2e-16 ***
## D16        1  1100.4  1100.4  48.295 4.405e-10 ***
## HT         1   649.1   649.1  28.488 6.295e-07 ***
## Residuals 96  2187.4    22.8                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Se observa que todas las variables son significativas.

Intervalos de confianza

Se muestran los intervalos a un 95% de confianza.

confint(modelo, level=0.95)
##                   2.5 %      97.5 %
## (Intercept) -86.6540816 -58.9845592
## DBH           1.3399099   3.3176013
## D16           1.0702072   3.1803298
## HT            0.4469791   0.9762974

Validación de los supuestos

Normalidad

##Histograma de los residuales
e<-modelo$residuals
hist(e)

qqnorm(e)
qqline(e, col="red")

Planteamiento de Hipótesis:

\(h0\): Los errores se distribuyen de manera normal.

\(h1\): Los errores no se distribuyen de manera normal.

##Test de Shapiro Wilk para probar normalidad

shapiro.test(e)
## 
##  Shapiro-Wilk normality test
## 
## data:  e
## W = 0.98964, p-value = 0.6356

El p-value es 0.2691. No se rechaza la H0, ya que p_valor> 0.05. Por lo tanto, no se rechaza \(h0\) y se dice que los valores se distribuyen de manera normal.

Homogeneidad de varianza

plot(e~modelo$fitted.values)

##prueba de Breush pagan
bptest(modelo)
## 
##  studentized Breusch-Pagan test
## 
## data:  modelo
## BP = 10.346, df = 3, p-value = 0.01584

Planteamiento de hipótesis

\(h0\): Existe homogeneidad de varianza

\(h1\): No existe homogeneidad de varianza

El p-value = 0.01584. No se rechaza la \(h0\), ya que p_valor> 0.05. Por lo tanto no se rechaza la \(h0\) y se dice que existe homogeneidad de varianza.

Independencia

plot(ts(e))
abline(h=0, col="red")

Planteamiento de hipótesis:

\(ho\): No hay autocorrelación entre los errores o son independientes.

\(ha\): Hay autocorrelación entre los errores o NO son independientes.

Prueba de Durbin Watson para probar independencia

dwt(modelo, alternative ="two.sided")
##  lag Autocorrelation D-W Statistic p-value
##    1       0.1807207      1.607747   0.048
##  Alternative hypothesis: rho != 0

El p-value = 0.03. No se rechaza la H0, ya que p_valor> 0.05. Por lo tanto, no se rechaza la \(h0\) y se dice que no hay autocorrelación entre los errores o son independientes.

Conclusión

Se concluye que obtuvimos un buen modelo, con una precisión del 87.76% explica el volumen de madera obtenida de los árboles y cumple con los tres supuestos requeridos, por lo tanto, es apto para estimar nuevas predicciones.