library(readxl)
DTA <- read_xlsx("hetero.xlsx")
DTA
## # A tibble: 935 × 8
## obs AGE DAP EDUC MARRIED SOUTH TENURE URBAN
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1 31 76.9 12 1 0 2 1
## 2 2 37 80.8 18 1 0 16 1
## 3 3 33 82.5 14 1 0 9 1
## 4 4 32 65 12 1 0 7 1
## 5 5 34 56.2 11 1 0 5 1
## 6 6 35 140 16 1 0 2 1
## 7 7 30 60 10 0 0 1 1
## 8 8 38 108. 18 1 0 14 1
## 9 9 36 115. 15 1 0 1 0
## 10 10 36 100 12 1 0 16 1
## # ℹ 925 more rows
names(DTA)
## [1] "obs" "AGE" "DAP" "EDUC" "MARRIED" "SOUTH" "TENURE"
## [8] "URBAN"
attach(DTA)
mod1 <- lm(DAP ~ AGE+EDUC+MARRIED+TENURE+SOUTH+URBAN)
summary(mod1)
##
## Call:
## lm(formula = DAP ~ AGE + EDUC + MARRIED + TENURE + SOUTH + URBAN)
##
## Residuals:
## Min 1Q Median 3Q Max
## -75.654 -23.760 -4.709 17.403 214.035
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -64.2099 15.1647 -4.234 2.52e-05 ***
## AGE 1.5203 0.3975 3.825 0.000140 ***
## EDUC 5.8580 0.5435 10.779 < 2e-16 ***
## MARRIED 18.9792 3.8614 4.915 1.05e-06 ***
## TENURE 0.7757 0.2454 3.160 0.001627 **
## SOUTH -8.8003 2.5266 -3.483 0.000519 ***
## URBAN 15.6506 2.6518 5.902 5.04e-09 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 36.16 on 928 degrees of freedom
## Multiple R-squared: 0.2055, Adjusted R-squared: 0.2003
## F-statistic: 40 on 6 and 928 DF, p-value: < 2.2e-16
El modelo presenta coeficientes altamente significativos en todas las variables incluidas, lo que indica que cada una de ellas tiene una relación estadísticamente relevante con la disposición a pagar (DAP) por proyectos de conservación. No obstante, el poder explicativo del modelo es limitado: el R² ajustado de aproximadamente 0.20 muestra que solo alrededor del 20% de la variabilidad de la DAP puede ser explicada por estas variables socioeconómicas.
En cuanto a la dirección y magnitud de los efectos estimados:
° La edad (AGE) muestra una relación positiva con la DAP: un incremento de un año en la edad se asocia con un aumento promedio de 1.52 unidades en la disposición a pagar, manteniendo constantes las demás variables.
° Un mayor nivel educativo (EDUC) incrementa significativamente la DAP; por cada nivel adicional de educación, se observa un aumento cercano a 5.86 unidades.
° Las personas casadas (MARRIED) presentan en promedio una DAP mayor que las no casadas, en aproximadamente 18.98 unidades.
° La variable TENURE, asociada a la experincia laboral, también influye de manera positiva.
° Residir en el sur (SOUTH) tiene un efecto negativo sobre la DAP, reduciéndola en torno a 8.80 unidades respecto a las demás regiones.
° La residencia en áreas urbanas (URBAN) incrementa la DAP en 15.65 unidades en promedio respecto a zonas rurales.
plot(mod1)
Se observa un patron en “C” caracteristico de un modelo con problemas de heterocedasticidad, que aunque leve plantea la posibilidad de la ruptura de dicho supuesto básico del MCO. Por lo que se realiza un analisis formal para determinar el grado de homocedasticidad presente en el modelo.
library(lmtest)
library(tseries)
library(car)
bptest(mod1)
##
## studentized Breusch-Pagan test
##
## data: mod1
## BP = 25.153, df = 6, p-value = 0.0003199
El resultado del test de Breusch-Pagan aplicado muestra un estadístico de 25.153 con 6 grados de libertad y un p-value de 0.0003199. Este valor es muy pequeño, por lo que se rechaza la hipótesis de que los errores tienen varianza constante. En consecuencia, el modelo presenta heterocedasticidad. Esto significa que la variabilidad de los errores cambia según los regresores y que los errores estándar del modelo no son confiables si no se corrigen. Por lo tanto, es necesario aplicar una corrección, ya sea mediante errores estándar robustos o utilizando un modelo ponderado que ajuste adecuadamente la variación de los residuos.
white_test <- bptest(
mod1,
~ AGE + EDUC + MARRIED + SOUTH + TENURE + URBAN +
I(AGE^2) + I(EDUC^2) + I(MARRIED^2) + I(SOUTH^2) + I(TENURE^2) + I(URBAN^2) +
I(AGE*EDUC) + I(AGE*MARRIED) + I(AGE*SOUTH) + I(AGE*TENURE) + I(AGE*URBAN) +
I(EDUC*MARRIED) + I(EDUC*SOUTH) + I(EDUC*TENURE) + I(EDUC*URBAN) +
I(MARRIED*SOUTH) + I(MARRIED*TENURE) + I(MARRIED*URBAN) +
I(SOUTH*TENURE) + I(SOUTH*URBAN) +
I(TENURE*URBAN),
data = DTA
)
white_test
##
## studentized Breusch-Pagan test
##
## data: mod1
## BP = 34.915, df = 24, p-value = 0.06967
El resultado del test de White aplicado al modelo mod1 muestra un estadístico de 34.915 con 24 grados de libertad y un p-value de 0.06967. Este valor es superior al 5% , por lo que se acepta la hipótesis de que los errores tienen varianza constante. Debido a que el test supera con una pequeña diferencia el 5% de considera realizar una correción.
mod1_ax <- lm(log(residuals(mod1)^2)~ AGE+EDUC+MARRIED+TENURE+SOUTH+URBAN)
summary(mod1_ax)
##
## Call:
## lm(formula = log(residuals(mod1)^2) ~ AGE + EDUC + MARRIED +
## TENURE + SOUTH + URBAN)
##
## Residuals:
## Min 1Q Median 3Q Max
## -9.1740 -1.0040 0.4541 1.3860 5.0327
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.25559 0.89059 2.533 0.0115 *
## AGE 0.02777 0.02334 1.190 0.2345
## EDUC 0.19732 0.03192 6.182 9.45e-10 ***
## MARRIED 0.12701 0.22677 0.560 0.5756
## TENURE -0.05712 0.01441 -3.963 7.97e-05 ***
## SOUTH 0.11191 0.14838 0.754 0.4509
## URBAN 0.17510 0.15574 1.124 0.2612
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.124 on 928 degrees of freedom
## Multiple R-squared: 0.05951, Adjusted R-squared: 0.05343
## F-statistic: 9.787 on 6 and 928 DF, p-value: 1.774e-10
pesos <- 1 / exp(fitted(mod1_ax))
modelo_wls <- lm(DAP ~ AGE + EDUC + MARRIED + TENURE + SOUTH + URBAN,
data = DTA, weights = pesos)
summary(modelo_wls)
##
## Call:
## lm(formula = DAP ~ AGE + EDUC + MARRIED + TENURE + SOUTH + URBAN,
## data = DTA, weights = pesos)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -5.7751 -1.3865 -0.3026 0.9931 12.3423
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -47.2991 14.4358 -3.277 0.001090 **
## AGE 1.1142 0.3635 3.065 0.002240 **
## EDUC 5.8598 0.5810 10.086 < 2e-16 ***
## MARRIED 16.8881 3.5159 4.803 1.82e-06 ***
## TENURE 0.8171 0.2146 3.808 0.000149 ***
## SOUTH -9.4422 2.2970 -4.111 4.30e-05 ***
## URBAN 13.1301 2.2887 5.737 1.30e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.02 on 928 degrees of freedom
## Multiple R-squared: 0.1959, Adjusted R-squared: 0.1907
## F-statistic: 37.68 on 6 and 928 DF, p-value: < 2.2e-16
bptest(modelo_wls)
##
## studentized Breusch-Pagan test
##
## data: modelo_wls
## BP = 0.39446, df = 6, p-value = 0.9989
El resultado del test de Breusch–Pagan aplicado al modelo ponderado indica que no existe evidencia estadística de heterocedasticidad. El estadístico obtenido (BP = 0.39446) presenta un p-valor de 0.9989, muy superior al umbral usual de significancia. Esto implica que no se rechaza la hipótesis nula de varianza constante de los errores. En consecuencia, el modelo WLS corrige adecuadamente los problemas detectados en la regresión original y cumple con el supuesto de homocedasticidad, mostrando que la ponderación aplicada fue efectiva para estabilizar la varianza de los residuos.
library(sandwich)
## Warning: package 'sandwich' was built under R version 4.4.1
coeftest(mod1, vcov = vcovHC(mod1, type = "HC1"))
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -64.20990 16.19819 -3.9640 7.936e-05 ***
## AGE 1.52029 0.40645 3.7404 0.0001950 ***
## EDUC 5.85798 0.57611 10.1681 < 2.2e-16 ***
## MARRIED 18.97924 3.50301 5.4180 7.683e-08 ***
## TENURE 0.77569 0.24938 3.1105 0.0019245 **
## SOUTH -8.80028 2.58154 -3.4089 0.0006803 ***
## URBAN 15.65057 2.53533 6.1730 1.000e-09 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
La mejor opción para este análisis es utilizar OLS con errores estándar robustos debido a la evidencia de heterocedasticidad en los datos. El test de Breusch-Pagan indicó un p-value muy bajo, lo que significa que la varianza de los errores no es constante y, por lo tanto, los errores estándar calculados por OLS tradicional no son confiables. Esto afecta directamente la inferencia, ya que los valores t y los p-values podrían subestimar o sobreestimar la significancia de las variables, llevando a conclusiones incorrectas. Por otro lado, un modelo ponderado mediante WLS solo es más eficiente si los pesos reflejan con precisión la estructura de la heterocedasticidad, y en este caso, el modelo auxiliar que se utilizó para generar los pesos tiene un R² muy bajo, lo que indica que no explica bien cómo varía la varianza de los errores. Aplicar pesos mal especificados podría introducir distorsiones y no mejorar la eficiencia del modelo. En cambio, los errores estándar robustos ajustan los cálculos de inferencia sin modificar los coeficientes del OLS, garantizando que las pruebas de significancia sean válidas independientemente de la forma de la heterocedasticidad. Esto hace que la interpretación de los efectos de las variables sea confiable y segura, sin asumir supuestos adicionales sobre la varianza, lo que convierte al OLS con errores robustos en la alternativa más sólida y recomendable para estos resultados.
library(readxl)
DTA2 <- read_excel("multi.xlsx")
DTA2
## # A tibble: 19 × 5
## year cagua pib pob temp
## <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1988 61401 7144336 704. 17.7
## 2 1989 63325 7833019 725. 16.3
## 3 1990 65479 8599862 747. 17.5
## 4 1991 68094 9441777 769. 16.8
## 5 1992 70789 10366115 792. 17.6
## 6 1993 72275 11372696 815. 17.0
## 7 1994 76404 12231148 837. 17.6
## 8 1995 80448 11849158 859. 17.0
## 9 1996 82646 12964455 881. 17.7
## 10 1997 85394 14017592 902. 17.2
## 11 1998 89534 14879652 923. 17.7
## 12 1999 95074 15422063 945. 17.3
## 13 2000 96710 17379943 968. 17.3
## 14 2001 98689 17990532 990. 16.9
## 15 2002 99463 18575599 1011. 16.8
## 16 2003 102265 19009211 1031. 17.9
## 17 2004 103782 19655803 1051. 17.6
## 18 2005 105311 20320718 1070. 17.4
## 19 2006 106443 22377765 1088. 17.5
names(DTA2)
## [1] "year" "cagua" "pib" "pob" "temp"
attach(DTA2)
mod2 <- lm(cagua ~ pib+pob+temp)
summary(mod2)
##
## Call:
## lm(formula = cagua ~ pib + pob + temp)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2074.4 -747.3 -586.3 610.6 3400.6
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -4.216e+04 2.398e+04 -1.758 0.099140 .
## pib -9.677e-04 9.085e-04 -1.065 0.303648
## pob 1.634e+02 3.440e+01 4.749 0.000258 ***
## temp -3.280e+02 1.050e+03 -0.312 0.759049
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1731 on 15 degrees of freedom
## Multiple R-squared: 0.9896, Adjusted R-squared: 0.9875
## F-statistic: 476.8 on 3 and 15 DF, p-value: 4.263e-15
El modelo lineal que relaciona el consumo de agua con el PIB, la población y la temperatura promedio anual muestra que la población es el principal factor determinante del consumo, ya que su coeficiente positivo y altamente significativo indica que cada persona adicional se asocia con un aumento aproximado de 163 m³ en el consumo de agua. Por su parte, el PIB y la temperatura no resultan estadísticamente significativos, por lo que no se puede afirmar que tengan un efecto claro sobre el consumo en esta muestra. El ajuste del modelo es muy alto, con un R² ajustado de 0.9875, lo que indica que casi el 99% de la variación en el consumo de agua se explica por las variables incluidas, y el F-estadístico confirma que, en conjunto, las variables son significativas. Aunque el modelo tiene un buen ajuste global, los resultados sugieren que la población es la variable más relevante y que el PIB y la temperatura podrían reconsiderarse o complementarse con otras variables para un modelo más parsimonioso.
library(DataExplorer)
## Warning: package 'DataExplorer' was built under R version 4.4.1
plot_correlation(DTA2[,3:5])
Se observa que la población y el PIB presentan un nivel de correlación
elevado, mientras que la temperatura mantiene relaciones positivas pero
débiles con ambas variables. Esto indica la presencia de problemas de
multicolinealidad en el modelo planteado.
cor(DTA2[, c("pib", "pob", "temp")])
## pib pob temp
## pib 1.0000000 0.9951786 0.2124860
## pob 0.9951786 1.0000000 0.2221553
## temp 0.2124860 0.2221553 1.0000000
library(car)
vif(mod2)
## pib pob temp
## 104.801753 105.265066 1.060488
El análisis del VIF muestra que el PIB y la población presentan valores extremadamente altos, superiores a 100, lo que indica una multicolinealidad severa entre estas variables y sugiere que aportan información redundante al modelo. En contraste, la temperatura presenta un VIF cercano a 1, lo que indica que no tiene problemas de multicolinealidad y aporta información independiente. Esto implica que las estimaciones del modelo pueden ser inestables debido a la alta correlación entre PIB y población, por lo que sería recomendable reconsiderar la inclusión simultánea de ambas variables.
summary(lm(cagua ~ pib))
##
## Call:
## lm(formula = cagua ~ pib)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5949.0 -1131.4 -231.7 1024.1 5842.1
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.788e+04 1.976e+03 19.17 5.97e-13 ***
## pib 3.330e-03 1.320e-04 25.23 6.53e-15 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2575 on 17 degrees of freedom
## Multiple R-squared: 0.974, Adjusted R-squared: 0.9725
## F-statistic: 636.4 on 1 and 17 DF, p-value: 6.534e-15
summary(lm(cagua ~ pob))
##
## Call:
## lm(formula = cagua ~ pob)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2841.0 -832.1 -258.1 571.7 3950.9
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -28683.164 2970.871 -9.655 2.58e-08 ***
## pob 126.760 3.271 38.748 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1689 on 17 degrees of freedom
## Multiple R-squared: 0.9888, Adjusted R-squared: 0.9881
## F-statistic: 1501 on 1 and 17 DF, p-value: < 2.2e-16
summary(lm(cagua ~temp))
##
## Call:
## lm(formula = cagua ~ temp)
##
## Residuals:
## Min 1Q Median 3Q Max
## -26988.0 -12335.5 630.9 13957.2 19495.4
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -59026 158951 -0.371 0.715
## temp 8346 9180 0.909 0.376
##
## Residual standard error: 15590 on 17 degrees of freedom
## Multiple R-squared: 0.04637, Adjusted R-squared: -0.009729
## F-statistic: 0.8266 on 1 and 17 DF, p-value: 0.376
Se puede observar que algunas variables que no resultan significativas en el modelo colectivo sí lo son en sus modelos individuales, lo que constituye un claro indicio de problemas de multicolinealidad. Esto sugiere que la correlación entre las variables independientes está afectando la estimación de sus efectos individuales en el modelo conjunto.
mod2_1 <- lm(cagua~ pib+ temp)
summary(mod2_1)
##
## Call:
## lm(formula = cagua ~ pib + temp)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5955.8 -1123.4 -140.8 991.3 5854.0
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.399e+04 2.732e+04 1.244 0.231
## pib 3.325e-03 1.391e-04 23.900 6.04e-14 ***
## temp 2.284e+02 1.598e+03 0.143 0.888
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2653 on 16 degrees of freedom
## Multiple R-squared: 0.974, Adjusted R-squared: 0.9708
## F-statistic: 299.9 on 2 and 16 DF, p-value: 2.078e-13
vif(mod2_1)
## pib temp
## 1.047285 1.047285
Tras la eliminación de una variable redundante, el problema de multicolinaliedad es superado.
mod2_2 <- lm(cagua~ pob+ temp)
summary(mod2_2)
##
## Call:
## lm(formula = cagua ~ pob + temp)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2831.4 -820.3 -207.5 659.4 3936.4
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -24895.995 17751.154 -1.403 0.180
## pob 126.926 3.453 36.754 <2e-16 ***
## temp -227.419 1050.019 -0.217 0.831
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1739 on 16 degrees of freedom
## Multiple R-squared: 0.9888, Adjusted R-squared: 0.9874
## F-statistic: 708.6 on 2 and 16 DF, p-value: 2.412e-16
vif(lm(cagua~ pob+ temp))
## pob temp
## 1.051915 1.051915
Se observa que con la eliminación de una variable redundante, el problema de multicolinaliedad es superado.
Debido a que se conoce tanto el pbi y la población resulta factible transformar dos variables en una sola: PBI per capita
pbi_per <- pib/pob
print(pbi_per)
## [1] 10153.97 10801.63 11516.54 12274.48 13089.36 13960.74 14613.60 13794.61
## [9] 14721.29 15540.91 16116.95 16317.23 17963.21 18177.95 18371.86 18429.78
## [17] 18703.60 18994.52 20560.05
mod2_t <- lm(DTA2$cagua~ pbi_per+temp)
summary(mod2_t)
##
## Call:
## lm(formula = DTA2$cagua ~ pbi_per + temp)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5523.6 -1169.6 -46.7 2069.1 5469.6
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.279e+03 3.125e+04 0.073 0.943
## pbi_per 4.971e+00 2.404e-01 20.683 5.7e-13 ***
## temp 3.591e+02 1.838e+03 0.195 0.848
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3051 on 16 degrees of freedom
## Multiple R-squared: 0.9656, Adjusted R-squared: 0.9613
## F-statistic: 224.7 on 2 and 16 DF, p-value: 1.952e-12
Se observa que el modelo no ha perdido su capacidad predictiva y mantiene su significancia global, además de conservar coherencia económica, incluso tras la inclusión de la variable transformada.
compareCoefs(mod2, mod2_1, mod2_2, mod2_t)
## Calls:
## 1: lm(formula = cagua ~ pib + pob + temp)
## 2: lm(formula = cagua ~ pib + temp)
## 3: lm(formula = cagua ~ pob + temp)
## 4: lm(formula = DTA2$cagua ~ pbi_per + temp)
##
## Model 1 Model 2 Model 3 Model 4
## (Intercept) -42159 33988 -24896 2279
## SE 23982 27324 17751 31250
##
## pib -0.000968 0.003325
## SE 0.000908 0.000139
##
## pob 163.39 126.93
## SE 34.40 3.45
##
## temp -328 228 -227 359
## SE 1050 1598 1050 1838
##
## pbi_per 4.97
## SE 0.24
##
En el modelo original, que incluye PBI, población y temperatura, se evidencia un problema de multicolinealidad: los errores estándar de PBI y temperatura son elevados, lo que vuelve los coeficientes poco precisos e impide interpretar con claridad los efectos individuales sobre el consumo de agua. Al eliminar una de las variables correlacionadas, ya sea PBI o población, los errores estándar de la variable restante se reducen significativamente, mejorando la confiabilidad de sus coeficientes; sin embargo, se pierde la información combinada que ambas variables aportan. La solución más eficiente se logra mediante la transformación de PBI y población en PBI per cápita, lo que mantiene la información de ambas variables y elimina la multicolinealidad, generando coeficientes estables y precisos que permiten interpretar de manera directa cómo la riqueza relativa por persona influye en el consumo de agua, mientras que el efecto de la temperatura continúa siendo poco significativo.
library(readxl)
DTA3 <- read_excel("auto.xlsx")
DTA3
## # A tibble: 44 × 4
## year K S Y
## <dbl> <dbl> <dbl> <dbl>
## 1 1960 667 11921758. 3310157
## 2 1961 756 16721430. 5010930
## 3 1962 1069 14858647. 6691521
## 4 1963 1655 13280715. 6634836
## 5 1964 1744 14390983. 8863367
## 6 1965 1623 13273583. 7242394
## 7 1966 1650 15520737. 8529821
## 8 1967 1569 18998077. 9824624
## 9 1968 1490 13047952. 10262661
## 10 1969 1455 13591293. 8960460
## # ℹ 34 more rows
attach(DTA3)
## The following object is masked from DTA2:
##
## year
mod3 <- lm(Y~S+K)
summary(mod3)
##
## Call:
## lm(formula = Y ~ S + K)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3250446 -1118082 -475209 998527 6141428
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 6.540e+04 6.361e+05 0.103 0.918608
## S 3.744e-01 8.791e-02 4.259 0.000117 ***
## K 2.282e+03 9.557e+02 2.388 0.021656 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1964000 on 41 degrees of freedom
## Multiple R-squared: 0.6676, Adjusted R-squared: 0.6514
## F-statistic: 41.17 on 2 and 41 DF, p-value: 1.565e-10
El modelo estima que la captura de anchoveta aumenta en promedio 0.374 toneladas por cada tonelada adicional de biomasa (S), y en 2,282 toneladas por cada embarcación industrial adicional (K), manteniendo constante la otra variable. El intercepto no es significativo y carece de relevancia práctica. La significancia individual se evidencia en los p-valores: la biomasa es altamente significativa (p < 0.001) y el número de embarcaciones también es significativo (p = 0.022). La significancia conjunta del modelo se confirma con el F-statistic = 41.17, p < 0.001, indicando que al menos una variable independiente explica la captura de anchoveta. El ajuste del modelo es moderadamente bueno, con R² = 0.6676 y R² ajustado = 0.6514, lo que implica que aproximadamente el 65% de la variabilidad en la captura se explica por la biomasa y la flota industrial.
acf(residuals(mod3))
pacf(residuals(mod3))
Gráficamente no se observa una autocorrelación fuerte, ya que la mayoría de los rezagos se encuentran dentro de los límites de significancia. Sin embargo, en la función de autocorrelación se identifica un rezago que supera dichos límites.
library(lmtest)
dwtest(mod3)
##
## Durbin-Watson test
##
## data: mod3
## DW = 1.1772, p-value = 0.0009106
## alternative hypothesis: true autocorrelation is greater than 0
El test de Durbin-Watson aplicado indica un estadístico DW de 1.1772 con un p-valor de 0.00091. Dado que el valor de DW es menor que 2 y el p-valor es muy bajo, se rechaza la hipótesis nula de ausencia de autocorrelación, lo que sugiere la presencia de autocorrelación positiva significativa en los residuos del modelo. Esto implica que los errores tienden a ser correlacionados entre periodos consecutivos, lo que puede afectar la eficiencia de los estimadores y la validez de los errores estándar calculados por Mínimos Cuadrados Ordinarios.
bgtest(mod3)
##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: mod3
## LM test = 6.6983, df = 1, p-value = 0.00965
El test de Breusch–Godfrey aplicado al modelo para autocorrelación de primer orden (orden 1) arroja un estadístico LM de 6.6983 con un p-valor de 0.00965. Dado que el p-valor es menor que 0.01, se rechaza la hipótesis nula de ausencia de autocorrelación hasta el primer rezago. Esto indica que los residuos del modelo presentan autocorrelación positiva significativa, lo que sugiere que los errores están correlacionados entre periodos consecutivos. Como consecuencia, los estimadores de Mínimos Cuadrados Ordinarios pueden seguir siendo insesgados, pero los errores estándar y las pruebas de significancia podrían no ser válidas, por lo que sería recomendable aplicar correcciones como Cochrane–Orcutt o usar errores estándar robustos a autocorrelación.
library(desk)
mod3_cochr <- cochorc(mod3)
mod3_cochr$results
## coef std.err. t.value p.value
## (Intercept) 3.583001e+05 9.326387e+05 0.3841789 0.7028312274
## S 3.524479e-01 9.016771e-02 3.9088046 0.0003405002
## K 2.084687e+03 1.139197e+03 1.8299621 0.0745326946
Tras aplicar la corrección de autocorrelación mediante el método de Cochrane–Orcutt, el modelo muestra que la captura de anchoveta depende positivamente de la biomasa y del número de embarcaciones industriales. Cada tonelada adicional de biomasa incrementa la captura en aproximadamente 0.35 toneladas, efecto altamente significativo, mientras que cada embarcación adicional aumenta la captura en alrededor de 2,085 toneladas, con significancia marginal.
Tras la corrección por Cochrane–Orcutt, los coeficientes de biomasa (S) y embarcaciones (K) disminuyen ligeramente, y los errores estándar se ajustan para corregir la autocorrelación. La biomasa sigue siendo altamente significativa, mientras que el efecto de las embarcaciones se vuelve marginal. El intercepto permanece no significativo. En comparación con el modelo original, la corrección mejora la validez de los errores estándar y confirma que la biomasa es el factor más determinante en la captura de anchoveta, mientras que la flota industrial tiene un efecto positivo pero menos robusto.
library(prais)
## Warning: package 'prais' was built under R version 4.4.3
mod_pw <- prais_winsten(Y ~ S + K, data = DTA3, index = "year")
## Iteration 0: rho = 0
## Iteration 1: rho = 0.3874
## Iteration 2: rho = 0.4021
## Iteration 3: rho = 0.4035
## Iteration 4: rho = 0.4037
## Iteration 5: rho = 0.4037
## Iteration 6: rho = 0.4037
## Iteration 7: rho = 0.4037
summary(mod_pw)
##
## Call:
## prais_winsten(formula = Y ~ S + K, data = DTA3, index = "year")
##
## Residuals:
## Min 1Q Median 3Q Max
## -3188600 -1129837 -452632 1045069 6088455
##
## AR(1) coefficient rho after 7 iterations: 0.4037
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.583e+05 9.326e+05 0.384 0.702830
## S 3.524e-01 9.017e-02 3.909 0.000341 ***
## K 2.085e+03 1.139e+03 1.830 0.074533 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1799000 on 41 degrees of freedom
## Multiple R-squared: 0.4818, Adjusted R-squared: 0.4565
## F-statistic: 19.06 on 2 and 41 DF, p-value: 1.405e-06
##
## Durbin-Watson statistic (original): 1.177
## Durbin-Watson statistic (transformed): 2.007
Tras aplicar el método de Prais–Winsten al modelo de captura de anchoveta, los resultados muestran que la autocorrelación de primer orden ha sido corregida de manera efectiva. El coeficiente de autocorrelación estimado (ρ) es 0.404, indicando que antes existía una autocorrelación positiva moderada en los residuos.
En cuanto a los coeficientes, la biomasa de anchoveta (S) tiene un efecto positivo y altamente significativo: cada tonelada adicional de biomasa incrementa la captura en aproximadamente 0.352 toneladas. El número de embarcaciones (K) también tiene un efecto positivo, de alrededor de 2,085 toneladas por embarcación, pero su significancia es marginal (p ≈ 0.075). El intercepto no es significativo.
El error estándar de los residuos disminuyó a 1,799,000, mostrando que la eficiencia del modelo ha mejorado respecto al modelo original. Además, el Durbin–Watson transformado es 2.007, muy cercano a 2, confirmando que la autocorrelación de primer orden ha sido eliminada, mientras que el DW original era 1.177, indicando autocorrelación positiva significativa antes de la corrección.
library(sandwich)
library(lmtest)
coeftest(mod3, vcov = NeweyWest(mod3, prewhite = FALSE, lag = 1))
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 6.5403e+04 5.8447e+05 0.1119 0.91145
## S 3.7437e-01 1.1053e-01 3.3870 0.00157 **
## K 2.2817e+03 1.0836e+03 2.1056 0.04140 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Al comparar el modelo original con los errores estándar robustos HAC (Newey–West), se observa que los coeficientes de las variables (S y K) permanecen prácticamente iguales, pero los errores estándar se ajustan para corregir heterocedasticidad y autocorrelación. Como resultado, las pruebas de significancia son más confiables: la biomasa (S) sigue siendo altamente significativa y el número de embarcaciones (K) permanece significativo al 5%, aunque con un error estándar ligeramente mayor que en el modelo original. El intercepto continúa sin ser significativo. En resumen, Newey–West no modifica los coeficientes, pero proporciona errores estándar y p-valores más robustos, garantizando inferencias estadísticas más válidas.
Al comparar las tres formas de corrección para autocorrelación y heterocedasticidad, cada una presenta ventajas según el contexto de los datos y el objetivo del análisis. El modelo original sin corrección es simple y rápido, pero sus errores estándar y pruebas de significancia pueden estar sesgados si existen problemas de autocorrelación o heterocedasticidad, lo que afecta la validez de las inferencias estadísticas. Los métodos Cochrane–Orcutt y Prais–Winsten son eficaces para corregir la autocorrelación de primer orden transformando las variables, aunque Prais–Winsten es preferible ya que conserva la primera observación y es más eficiente en términos de uso de los datos. Sin embargo, estos métodos requieren asumir que la autocorrelación es el principal problema y que el modelo no está especificado incorrectamente. En cambio, los errores estándar robustos HAC (Newey–West) ajustan los errores estándar sin modificar las variables, proporcionando una solución más flexible. Este método es ideal cuando se sospecha de autocorrelación y heterocedasticidad, pero no se quiere transformar el modelo. Newey–West mantiene los coeficientes intactos y mejora la confiabilidad de las pruebas de significancia.
La elección del método depende de la naturaleza de los problemas que se enfrenten: si la autocorrelación de primer orden es el principal problema, Cochrane–Orcutt o Prais–Winsten son más adecuados, siendo Prais–Winsten la opción preferible por su eficiencia al conservar más datos. Por otro lado, si se busca un ajuste más flexible para autocorrelación y heterocedasticidad sin transformar los datos, Newey–West es la opción más apropiada.