1 Introducción

Este trabajo analiza los factores determinantes de la intensidad agraria en Castilla y León mediante un análisis descriptivo y econométrico. Para ello, se emplea R Markdown, lo que permite integrar en un único documento el código utilizado, las tablas, los gráficos y los resultados obtenidos. Además, el documento ha sido publicado en RPubs con el objetivo de favorecer la transparencia y la reproducibilidad del análisis.

2 Objetivos

Los principales objetivos del trabajo son:

  • Analizar las diferencias provinciales en intensidad agraria.
  • Estudiar la relación entre intensidad agraria y variables estructurales.
  • Identificar los factores que influyen en la intensidad agraria.

3 Base de datos

La base de datos está compuesta por información procedente del Instituto Nacional de Estadística (INE), del Fondo Español de Garantía Agraria (FEGA) y del Anuario de Estadística Agraria de Castilla y León.

Las variables utilizadas son:

  • SAU: Superficie Agraria Utilizada, medida en hectáreas.
  • Explot: número de explotaciones agrarias.
  • UGT: Unidades Ganaderas Totales.
  • PAC: ayudas recibidas de la Política Agraria Común, expresadas en euros.
  • ECO: superficie ecológica, medida en hectáreas.
  • Tierras_cultivo: tierras de cultivo, medidas en hectáreas.
  • Superficie_total: superficie total provincial, medida en hectáreas.
  • INT: intensidad agraria.

4 Análisis descriptivo

tabla_resumen <- function(variable) {
  tabla <- data.frame(
    min = min(variable, na.rm = TRUE),
    Q1 = unname(quantile(variable, 0.25, na.rm = TRUE)),
    median = median(variable, na.rm = TRUE),
    Q3 = unname(quantile(variable, 0.75, na.rm = TRUE)),
    max = max(variable, na.rm = TRUE),
    mean = mean(variable, na.rm = TRUE),
    sd = sd(variable, na.rm = TRUE),
    n = sum(!is.na(variable)),
    missing = sum(is.na(variable))
  )
  
  kable(tabla)
}

boxplot_personalizado <- function(variable, titulo, unidad, escala) {
  boxplot(variable,
          horizontal = TRUE,
          col = "lightblue",
          main = titulo,
          xlab = unidad,
          cex.main = 0.9,
          cex.axis = 0.8,
          axes = FALSE)
  
  axis(1,
       at = escala,
       labels = format(escala,
                       big.mark = ".",
                       decimal.mark = ",",
                       scientific = FALSE))
  
  box()
}

4.1 Superficie Agraria Utilizada

tabla_resumen(datos1$SAU)
min Q1 median Q3 max mean sd n missing
384708 501428 554264 607640 893652 586348.6 151094.4 9 0
boxplot_personalizado(datos1$SAU,
                      "Boxplot SAU",
                      "Hectáreas",
                      seq(0, 1000000, by = 100000))

4.2 Número de explotaciones

tabla_resumen(datos1$Explot)
min Q1 median Q3 max mean sd n missing
4496 7225 9361 11678 13820 9429.444 3095.64 9 0
boxplot_personalizado(datos1$Explot,
                      "Boxplot número de explotaciones",
                      "Nº de explotaciones",
                      seq(0, 15000, by = 2000))

4.3 Unidades Ganaderas Totales

tabla_resumen(datos1$UGT)
min Q1 median Q3 max mean sd n missing
106790 221520 249949 291574 616921 299333 159007 9 0
boxplot_personalizado(datos1$UGT,
                      "Boxplot UGT",
                      "Unidades ganaderas",
                      seq(0, 700000, by = 100000))

4.4 Ayudas PAC

tabla_resumen(datos1$PAC)
min Q1 median Q3 max mean sd n missing
7412016 11463709 13084535 14444386 27526609 14324211 5763194 9 0
boxplot_personalizado(datos1$PAC,
                      "Boxplot ayudas PAC",
                      "Euros",
                      seq(0, 30000000, by = 5000000))

4.5 Superficie ecológica

tabla_resumen(datos1$ECO)
min Q1 median Q3 max mean sd n missing
3675 4338 6062 8445 20079 8399.444 5965.185 9 0
boxplot_personalizado(datos1$ECO,
                      "Boxplot superficie ecológica",
                      "Hectáreas",
                      seq(0, 25000, by = 5000))

4.6 Tierras de cultivo

tabla_resumen(datos1$Tierras_cultivo)
min Q1 median Q3 max mean sd n missing
179243 288543 350736 472430 585457 379888.2 138957.6 9 0
boxplot_personalizado(datos1$Tierras_cultivo,
                      "Boxplot tierras de cultivo",
                      "Hectáreas",
                      seq(0, 700000, by = 100000))

4.7 Superficie total

tabla_resumen(datos1$Superficie_total)
min Q1 median Q3 max mean sd n missing
692300 805200 1030700 1235000 1557800 1046922 304349.1 9 0
boxplot_personalizado(datos1$Superficie_total,
                      "Boxplot superficie total",
                      "Hectáreas",
                      seq(0, 1600000, by = 200000))

4.8 Intensidad agraria

tabla_resumen(datos1$INT)
min Q1 median Q3 max mean sd n missing
0.1996457 0.2336381 0.3765347 0.409697 0.7018148 0.3836962 0.1685813 9 0
boxplot_personalizado(datos1$INT,
                      "Boxplot intensidad agraria",
                      "Índice de intensidad",
                      seq(0, 1, by = 0.1))

5 Análisis econométrico

5.1 Modelo lineal simple

El primer modelo estimado corresponde a un modelo lineal simple, en el que se analiza la relación entre la intensidad agraria y una única variable explicativa que en este caso es la superficie agraria utilizada.

modelo_simple <- lm(INT ~ SAU, data = datos1)

summary(modelo_simple)
## 
## Call:
## lm(formula = INT ~ SAU, data = datos1)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.18403 -0.10960 -0.02798  0.04581  0.32092 
## 
## Coefficients:
##                  Estimate    Std. Error t value Pr(>|t|)
## (Intercept)  0.4608875557  0.2526833123   1.824    0.111
## SAU         -0.0000001316  0.0000004188  -0.314    0.762
## 
## Residual standard error: 0.179 on 7 degrees of freedom
## Multiple R-squared:  0.01392,    Adjusted R-squared:  -0.1269 
## F-statistic: 0.09883 on 1 and 7 DF,  p-value: 0.7624

5.2 Modelo Lineal General 1

El Modelo Lineal General 1 se estima en niveles e incluye como variables explicativas la SAU, el número de explotaciones, la superficie ecológica.

modelo1 <- lm(INT ~ SAU + Explot + ECO,
              data = datos1)

summary(modelo1)
## 
## Call:
## lm(formula = INT ~ SAU + Explot + ECO, data = datos1)
## 
## Residuals:
##         1         2         3         4         5         6         7         8 
## -0.061111  0.070955  0.058896  0.163461 -0.103845 -0.004225 -0.126142  0.120814 
##         9 
## -0.118804 
## 
## Coefficients:
##                  Estimate    Std. Error t value Pr(>|t|)  
## (Intercept)  0.4052353739  0.2124095430   1.908   0.1147  
## SAU          0.0000003449  0.0000003839   0.898   0.4101  
## Explot      -0.0000435204  0.0000204069  -2.133   0.0861 .
## ECO          0.0000222160  0.0000093564   2.374   0.0636 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1374 on 5 degrees of freedom
## Multiple R-squared:  0.5849, Adjusted R-squared:  0.3358 
## F-statistic: 2.348 on 3 and 5 DF,  p-value: 0.1894

5.3 Modelo Lineal General 2

El Modelo Lineal General 2 incorpora transformaciones logarítmicas en las variables SAU y ECO y las variables unidades ganaderas totales y ayudas PAC, con el objetivo de mejorar el ajuste del modelo y reducir la dispersión de dichas variables.

modelo2 <- lm(INT ~ log(SAU) + Explot + UGT + PAC + log(ECO),
              data = datos1)

summary(modelo2)
## 
## Call:
## lm(formula = INT ~ log(SAU) + Explot + UGT + PAC + log(ECO), 
##     data = datos1)
## 
## Residuals:
##        1        2        3        4        5        6        7        8 
## -0.01892  0.02591  0.01083  0.10329 -0.02274  0.07917 -0.14796  0.05883 
##        9 
## -0.08840 
## 
## Coefficients:
##                    Estimate      Std. Error t value Pr(>|t|)  
## (Intercept) -6.268844726730  3.482660624412  -1.800   0.1697  
## log(SAU)     0.375317508452  0.240360455549   1.561   0.2163  
## Explot      -0.000064149853  0.000035096796  -1.828   0.1650  
## UGT         -0.000000175032  0.000000397334  -0.441   0.6894  
## PAC          0.000000007426  0.000000015881   0.468   0.6719  
## log(ECO)     0.251856788797  0.099231597462   2.538   0.0848 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1314 on 3 degrees of freedom
## Multiple R-squared:  0.7723, Adjusted R-squared:  0.3928 
## F-statistic: 2.035 on 5 and 3 DF,  p-value: 0.2965

6 Diagnóstico del modelo

6.1 Gráficos de diagnóstico del MLG1

par(mfrow = c(2,2))
plot(modelo1)

par(mfrow = c(1,1))

6.2 Gráficos de diagnóstico del MLG2

par(mfrow = c(2,2))
plot(modelo2)

par(mfrow = c(1,1))

7 Comparación de modelos

7.1 Prueba de heterocedasticidad

tabla_hetero <- data.frame(
  Modelo = c("MLG1", "MLG2"),
  BP = c(bptest(modelo1)$statistic,
         bptest(modelo2)$statistic),
  p_valor = c(bptest(modelo1)$p.value,
              bptest(modelo2)$p.value)
)

kable(tabla_hetero, caption = "Prueba de heterocedasticidad")
Prueba de heterocedasticidad
Modelo BP p_valor
MLG1 3.975653 0.2641052
MLG2 6.265883 0.2812003

Los resultados obtenidos permiten comprobar si existe heterocedasticidad en los residuos de los modelos estimados. Cuando el valor p es superior a 0,05, no se rechaza la hipótesis nula de homocedasticidad, por lo que puede considerarse que la varianza de los residuos permanece constante.

7.2 Criterios para elegir el modelo

Con el objetivo de seleccionar la especificación más adecuada para explicar la intensidad agraria, se comparan los modelos MLG1 y MLG2 mediante el contraste de heterocedasticidad de Breusch-Pagan y los criterios de información AIC y BIC. Asimismo, se analizan los valores del coeficiente de determinación (R²) y del coeficiente de determinación ajustado (R² ajustado).´

tabla_modelos <- data.frame(
  Modelo = c("MLG1", "MLG2"),
  R2 = c(summary(modelo1)$r.squared,
         summary(modelo2)$r.squared),
  R2_ajustado = c(summary(modelo1)$adj.r.squared,
                  summary(modelo2)$adj.r.squared),
  AIC = c(AIC(modelo1),
          AIC(modelo2)),
  BIC = c(BIC(modelo1),
          BIC(modelo2))
)

kable(tabla_modelos, caption = "Comparación de modelos")
Comparación de modelos
Modelo R2 R2_ajustado AIC BIC
MLG1 0.5848765 0.3358025 -5.477836 -4.491713
MLG2 0.7723033 0.3928089 -6.882891 -5.502319

Los criterios AIC y BIC permiten comparar modelos alternativos teniendo en cuenta simultáneamente su capacidad explicativa y su complejidad. En ambos casos, se prefieren aquellos modelos que presentan valores más reducidos. Por su parte, valores más elevados de R² y R² ajustado indican una mayor capacidad para explicar la variabilidad de la intensidad agraria.

El MLG2 tiene un R² y R² ajustado mayor; y un AIC y BIC menor Por lo cual todos los indicadores señalan que este modelo es mejor que el MLG1 y por tanto es el más adecuado para analizar los factores determinantes de la intensidad agraria en Castilla y León.

8 Conclusiones

El análisis realizado permite identificar los principales factores asociados a la intensidad agraria en Castilla y León. La comparación entre modelos muestra que la especificación con transformaciones logarítmicas y dos variables mas presenta un mejor ajuste, por lo que se considera una alternativa más adecuada para explicar la intensidad agraria.