Cargamos los paquetes

library(readxl)
library(tidyverse)
library(lmtest)

Cargamos la base de datos

MAIZ_FERTILIZANTE <- read_csv("c:/Users/castro.ornella/Documents/MAIZ_FERTILIZANTE.csv")
MAIZ_FERTILIZANTE <- read_excel("MAIZ_FERTILIZANTE.xlsx")
str(MAIZ_FERTILIZANTE)
## tibble [50 × 2] (S3: tbl_df/tbl/data.frame)
##  $ DOSIS_N       : num [1:50] 0 0 0 0 0 0 0 0 0 0 ...
##  $ DIAMETRO_TALLO: num [1:50] 8.37e+15 1.15e+16 1.04e+16 7.74e+15 9.13e+15 ...
dim(MAIZ_FERTILIZANTE)
## [1] 50  2
head(MAIZ_FERTILIZANTE)
## # A tibble: 6 × 2
##   DOSIS_N DIAMETRO_TALLO
##     <dbl>          <dbl>
## 1       0        8.37e15
## 2       0        1.15e16
## 3       0        1.04e16
## 4       0        7.74e15
## 5       0        9.13e15
## 6       0        1.25e16

Explorar estructira de la base de datos

dim(MAIZ_FERTILIZANTE)
## [1] 50  2
names(MAIZ_FERTILIZANTE)
## [1] "DOSIS_N"        "DIAMETRO_TALLO"
summary(MAIZ_FERTILIZANTE)
##     DOSIS_N    DIAMETRO_TALLO     
##  Min.   :  0   Min.   :1.851e+14  
##  1st Qu.: 50   1st Qu.:2.142e+15  
##  Median :100   Median :1.401e+16  
##  Mean   :100   Mean   :1.129e+16  
##  3rd Qu.:150   3rd Qu.:1.719e+16  
##  Max.   :200   Max.   :2.039e+16
str(MAIZ_FERTILIZANTE)
## tibble [50 × 2] (S3: tbl_df/tbl/data.frame)
##  $ DOSIS_N       : num [1:50] 0 0 0 0 0 0 0 0 0 0 ...
##  $ DIAMETRO_TALLO: num [1:50] 8.37e+15 1.15e+16 1.04e+16 7.74e+15 9.13e+15 ...

Gráfico de dispersión

ggplot(MAIZ_FERTILIZANTE, aes(x = DOSIS_N, y = DIAMETRO_TALLO)) +
  geom_point() +
  labs(title = "Relación entre DOSIS_N y DIAMETRO_TALLO") +
  theme_minimal()

Ajuste de modelos

Modelo de Regresión lineal simple

MODELO_lineal <- lm(DIAMETRO_TALLO ~ DOSIS_N, data = MAIZ_FERTILIZANTE)
summary(MODELO_lineal)
## 
## Call:
## lm(formula = DIAMETRO_TALLO ~ DOSIS_N, data = MAIZ_FERTILIZANTE)
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -1.109e+16 -8.169e+15  2.231e+15  6.299e+15  9.591e+15 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  1.227e+16  1.715e+15   7.156 4.25e-09 ***
## DOSIS_N     -9.803e+12  1.400e+13  -0.700    0.487    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 7.001e+15 on 48 degrees of freedom
## Multiple R-squared:  0.01011,    Adjusted R-squared:  -0.01051 
## F-statistic: 0.4902 on 1 and 48 DF,  p-value: 0.4872

Ajuste modelo cuadratico

library(lmtest)
modelo_cuadratico <- lm(DIAMETRO_TALLO ~ DOSIS_N + I(DOSIS_N^2), 
                        data = MAIZ_FERTILIZANTE)
summary(modelo_cuadratico)
## 
## Call:
## lm(formula = DIAMETRO_TALLO ~ DOSIS_N + I(DOSIS_N^2), data = MAIZ_FERTILIZANTE)
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -1.378e+16 -5.473e+15  1.474e+15  4.032e+15  1.125e+16 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   9.575e+15  1.989e+15   4.815 1.57e-05 ***
## DOSIS_N       9.806e+13  4.711e+13   2.081   0.0429 *  
## I(DOSIS_N^2) -5.393e+11  2.259e+11  -2.388   0.0210 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.682e+15 on 47 degrees of freedom
## Multiple R-squared:  0.1172, Adjusted R-squared:  0.07961 
## F-statistic: 3.119 on 2 and 47 DF,  p-value: 0.05346

Informar cada modelo

coef_lineal <- coef(MODELO_lineal)
coef_lineal
##   (Intercept)       DOSIS_N 
##  1.227115e+16 -9.803154e+12
ecuacion_lineal <- paste0("DIAMETRO_TALLO = ",
                          round(coef_lineal[1], 3), " + ",
                          round(coef_lineal[2], 3), " * DOSIS_N")
ecuacion_lineal
## [1] "DIAMETRO_TALLO = 12271152519754880 + -9803153676623.7 * DOSIS_N"

##Ecuación del modelo:

###DIAM.ECUATORIAL=12271152519754880 - 9803153676623.7 * DOSIS_N

###Interpretación: Intercepto (12271152519754880): Es el diámetro ecuatorial (mm) estimado cuando el peso es 0 gramos.Pendiente (9803153676623.7): Por cada gramo adicional de peso, se espera que el diámetro aumente en promedio 9803153676623.7 mm.

coef_cuad <- coef(modelo_cuadratico)
coef_cuad
##   (Intercept)       DOSIS_N  I(DOSIS_N^2) 
##  9.574698e+15  9.805504e+13 -5.392910e+11
ecuacion_cuad <- paste0("DIAMETRO_TALLO = ",
                        round(coef_cuad[1], 3), " + ",
                        round(coef_cuad[2], 3), " * DOSIS_N + ",
                        round(coef_cuad[3], 6), " * DOSIS_N^2")
ecuacion_cuad
## [1] "DIAMETRO_TALLO = 9574697618312242 + 98055042381081.3 * DOSIS_N + -539290980288.525 * DOSIS_N^2"

###DIAMETRO_TALLO = 9574697618312242 + 98055042381081.3 * DOSIS_N + -539290980288.525 * DOSIS_N^2”

##Interpretación: ### 9574697618312242 (el intercepto) representa el valor esperado del diámetro ecuatorial cuando el peso es 0. ### 98055042381081.3 es el coeficiente lineal asociado a peso: indica cómo varía DIAM_ECUAT por unidad de aumento en peso. ### -539290980288.525 es el coeficiente cuadrático asociado a peso: determina la curvatura de la relación, que por su valor negativo es cóncava hacia abajo.El término cuadrático negativo indica que la relación entre PESO y DIAM_ECUAT es curva cóncava: el diámetro aumenta con el peso, pero llega a un punto máximo y luego disminuye.

Cálculo R cuadrado

summary(MODELO_lineal)$adj.r.squared
## [1] -0.01051423
summary(modelo_cuadratico)$adj.r.squared
## [1] 0.07961218

Calculo AIC

AIC(MODELO_lineal); BIC(MODELO_lineal)
## [1] 3794.337
## [1] 3800.073
BIC(modelo_cuadratico); BIC(modelo_cuadratico)
## [1] 3798.261
## [1] 3798.261

Comparación de Modelos

AIC(MODELO_lineal, modelo_cuadratico)
##                   df      AIC
## MODELO_lineal      3 3794.337
## modelo_cuadratico  4 3790.613
BIC(MODELO_lineal, modelo_cuadratico)
##                   df      BIC
## MODELO_lineal      3 3800.073
## modelo_cuadratico  4 3798.261
comparacion_modelos <- tibble(
  Modelo = c("Lineal", "Cuadrático"),
  R2_Ajustado = c(summary(MODELO_lineal)$adj.r.squared,
                  summary(modelo_cuadratico)$adj.r.squared),
  AIC = c(AIC(MODELO_lineal), AIC(modelo_cuadratico)),
  BIC = c(BIC(MODELO_lineal), BIC(modelo_cuadratico))
)

comparacion_modelos
## # A tibble: 2 × 4
##   Modelo     R2_Ajustado   AIC   BIC
##   <chr>            <dbl> <dbl> <dbl>
## 1 Lineal         -0.0105 3794. 3800.
## 2 Cuadrático      0.0796 3791. 3798.

¿Qué modelo presenta mejor ajuste según las métricas? Justificar la elección del modelo

más apropiado.El modelo lineal presenta un ajsute bajo (R² ajustado = -0.01051423), pero no es el más eficiente en términos de los criterios AIC y BIC. El modelo cuadrático mejora ligeramente el R², lo que pemrite explicar de mejor menara, y presenta menores valores de AIC y BIC. El modelo mas apropiadao sería el cuadrático, porque brinda una mejor capacidad explicativa en la misma escala de las variables originales.

Interpretación y Predicción

Grafique ambos modelos (gráfico de dispersión con recta de modelo lineal y modelo

cuadrático).

ggplot(MAIZ_FERTILIZANTE, aes(x = DOSIS_N, y = DIAMETRO_TALLO)) +
  geom_point(size = 2, alpha = 0.5, color = "black") +
  geom_smooth(method = "lm", formula = y ~ x, se = FALSE, 
              color = "green", size = 1.2) +   # Lineal
  geom_smooth(method = "lm", formula = y ~ poly(x, 2, raw = TRUE), se = FALSE, 
              color = "red", size = 1.2) +   # Cuadrático
  labs(title = "Modelos ajustados: Lineal (verde) y Cuadrático (rojo)",
       x = "Dosis de N (kg/ha)",
       y = "Diámetro del tallo (mm)") +
  theme_minimal()

Se observa en el gráfico la relación entre la dosis de nitrógeno (N, en kg/ha) y el diámetro del tallo (mm) en plantas. Los puntos negros indican los valores de diametro registrados para dosis. Además, en color rojo se observa el modelo cuadrático y en verde el modelo lineal, el lineal nos indica que a medida que aumenta la doisis de fertilizante el diámtero de tallo decrece con poca variación. El cuadrático nos muestra un comportamiento de aumento del diámetro del tallo hasta un determinado valor de dosis de fertilización, donde es el mayor valor del diámetro y luego de allí decrece, lo que indicaría que existe un punto de saturación donde a partir del cual a pesar de aumentar la dosis los valores del diámetro de la planta no son afectados, y disminuye el mismo.

¿Cuál sería el diámetro estimado para una dosis de 125 kg/ha, según cada modelo?

nueva_dosis <- data.frame(DOSIS_N = 125)

pred_lineal <- predict(MODELO_lineal, newdata = nueva_dosis, interval = "confidence")

pred_cuad <- predict(modelo_cuadratico, newdata = nueva_dosis, interval = "confidence")

list(
  "Predicción Modelo Lineal" = pred_lineal,
  "Predicción Modelo Cuadrático" = pred_cuad
)
## $`Predicción Modelo Lineal`
##            fit          lwr          upr
## 1 1.104576e+16 8.934264e+15 1.315725e+16
## 
## $`Predicción Modelo Cuadrático`
##            fit          lwr          upr
## 1 1.340516e+16 1.057363e+16 1.623668e+16

El modelo cuadratico estima un valor de diámetro mayor que el modelo lineal para la misma dosis de 125 kg/ ha. Lo que podria estas indicando que a mayores dosis se afectaría disminuyendo el diámetro del tallo.