Informe de Aplicación de Regresión Lineal Multiple

MAESTRÍA EN CIENCIA DE DATOS UNIVERSIDAD JAVERIANA DE CALI

MÉTODOS ESTADÍSTICOS PARA LA TOMA DE DECISIONES

Carolina Galindres Bernal, Adrian Rodriguez Amaya


APLICACIÓN DE REGRESIÓN LINEAL MÚLTIPLE CASO MOLUSCOS


Para el presente informe se utilizarán los datos de la base de datos de moluscos, la cuál contiene los datos de concentraciones de agua de mar, consumo de oxígeno y el tipo de molusco analizado. La base de datos es la siguiente:

summary(data)
##      c_agua      molusco              cons_o      
##  Min.   : 50   Length:48          Min.   : 1.800  
##  1st Qu.: 50   Class :character   1st Qu.: 6.312  
##  Median : 75   Mode  :character   Median : 9.700  
##  Mean   : 75                      Mean   : 9.305  
##  3rd Qu.:100                      3rd Qu.:11.232  
##  Max.   :100                      Max.   :18.800


El primer paso para iniciar con el modelamiento es validar el tipo de dato de cada una de las variables. Como pudimos observar, es necesario modificar el tipo de dato a ‘factor’ para ‘concentración de agua’ y ‘tipo de molusco’; así:

BD_moluscos$c_agua = as.factor(BD_moluscos$c_agua)
BD_moluscos$molusco = as.factor(BD_moluscos$molusco)
summary(data)
##      c_agua      molusco              cons_o      
##  Min.   : 50   Length:48          Min.   : 1.800  
##  1st Qu.: 50   Class :character   1st Qu.: 6.312  
##  Median : 75   Mode  :character   Median : 9.700  
##  Mean   : 75                      Mean   : 9.305  
##  3rd Qu.:100                      3rd Qu.:11.232  
##  Max.   :100                      Max.   :18.800


Una vez ajustado el dataset, continuamos con un análisis exploratorio de los datos con la finilaidad de conocer el comportamiento de las variables asociadas a los moluscos.

plt_agua = ggplot(data = BD_moluscos, mapping = aes(x = c_agua, y = cons_o, fill = molusco)) + geom_boxplot() + ylab('Consumo de Oxigeno') + xlab('Concentración de Agua') + labs(fill = 'Tipo de Molusco')
plt_agua


Podemos observar que con concentraciones de agua de 50 ambos tipos de molusco aumentan su consumo de oxigeno. También, podemos observar que con concentraciones de agua de 75, estos reducen su consumo de oxigeno. Mientra que, con concentraciones de agua de 100 ambos tienden a ubicarse en el punto medio de las concentraciones de agua para 50 y 75.

Por otra parte, se observa que con concentraciones de agua de 50, el molusco tipo B la media de su consumo de oxigeno es mayor que para el tipo de molusco A. Lo contrario sucede con concentraciones de agua de 75 y 100, donde la media del consumo de oxigeno es mayor para el molusco tipo A, mientras que el tipo B permanece por debajo.

A continuación, realizaremos el cálculo del modelo de regresión múltiple para el dataset de moluscos; obteniendo los siguientes resultados:

mod = lm(cons_o ~ c_agua:molusco, data = BD_moluscos)
summary(mod)
## 
## Call:
## lm(formula = cons_o ~ c_agua:molusco, data = BD_moluscos)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -5.946 -1.736 -0.710  2.237  6.625 
## 
## Coefficients: (1 not defined because of singularities)
##                    Estimate Std. Error t value Pr(>|t|)    
## (Intercept)          7.4063     1.0466   7.077 1.13e-08 ***
## c_agua50:moluscoA    4.7687     1.4800   3.222  0.00246 ** 
## c_agua75:moluscoA    0.4837     1.4800   0.327  0.74541    
## c_agua100:moluscoA   2.5300     1.4800   1.709  0.09476 .  
## c_agua50:moluscoB    4.9200     1.4800   3.324  0.00185 ** 
## c_agua75:moluscoB   -1.3113     1.4800  -0.886  0.38069    
## c_agua100:moluscoB       NA         NA      NA       NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.96 on 42 degrees of freedom
## Multiple R-squared:  0.4226, Adjusted R-squared:  0.3539 
## F-statistic: 6.149 on 5 and 42 DF,  p-value: 0.0002324


Para el análisis de los coeficientes del modelo se puede mencionar que la concentración de agua al 50 para el molusco A y B son significativos. Como ejemplo, podemos calcular el consumo de oxigeno para una concentración de agua de de 50 para los moluscos ‘A’ y ‘B’ tenemos un consumo de oxigeno de ~12.16.

Para una concentración de agua de 75 para el moslusco ‘B’ encontramos que según su coeficiente tiende a reducir el consumo de oxigeno en -1.3113. Los demás coeficientes no se consideran sifnificativos para el análisis.

Ahora, realizaremos un análisis post anova para comparar las varianzas entre las medias de los grupos desde el punto de vista de la concentración de agua y el tipo de molusco.

compare_molusco = LSD.test(mod, 'molusco')
compare_molusco
## $statistics
##    MSerror Df     Mean      CV  t.value      LSD
##   8.762171 42 9.304792 31.8126 2.018082 1.724463
## 
## $parameters
##         test p.ajusted  name.t ntr alpha
##   Fisher-LSD      none molusco   2  0.05
## 
## $means
##      cons_o      std  r      LCL       UCL Min  Max   Q25  Q50     Q75
## A 10.000417 3.268661 24 8.781037 11.219796 5.2 18.8 7.180 9.74 11.2825
## B  8.609167 4.002435 24 7.389787  9.828546 1.8 17.7 5.685 8.06 10.7000
## 
## $comparison
## NULL
## 
## $groups
##      cons_o groups
## A 10.000417      a
## B  8.609167      a
## 
## attr(,"class")
## [1] "group"


Ahora, a partir del análisis post anova para la variable ‘molusco’ evidenciamos que ambos son agrupados dentro del mismo grupo, esto indicaría que con cualquiera de los dos tipos de moluscos podemos obtener resultados similares.

compare_agua = LSD.test(mod, 'c_agua')
compare_agua
## $statistics
##    MSerror Df     Mean      CV  t.value      LSD
##   8.762171 42 9.304792 31.8126 2.018082 2.112028
## 
## $parameters
##         test p.ajusted name.t ntr alpha
##   Fisher-LSD      none c_agua   3  0.05
## 
## $means
##       cons_o      std  r       LCL       UCL  Min  Max    Q25    Q50     Q75
## 100  8.67125 3.000940 16  7.177821 10.164679 3.68 14.0  6.140  8.595 10.5750
## 50  12.25062 3.199643 16 10.757196 13.744054 6.38 18.8 10.085 11.455 14.5000
## 75   6.99250 2.804093 16  5.499071  8.485929 1.80 13.2  5.200  6.430  8.7675
## 
## $comparison
## NULL
## 
## $groups
##       cons_o groups
## 50  12.25062      a
## 100  8.67125      b
## 75   6.99250      b
## 
## attr(,"class")
## [1] "group"


De acuerdo con el análisis post anova para la variable ‘concentración de agua’ observamos que con concentraciones de 50 y 100 se obtienen resultados similares, mientras que con 50 se consiguen mayores consumos de oxigeno.

Finalmente concluimos que con concentraciones de agua de 50 se obtiene mayor consumo de oxígeno para los moluscos tipo A y tipo B. También podemos observar que con concentraciones de agua de 75 ambos tipos de moluscos bajan su consumo de oxígeno. Adicionalmente, el molusco tipo B obtiene el mismo comportamiento frente a concentraciones de agua de 75 o 100.