library(foreign) library(stargazer), library(aTSA), library(tseries), library(xts), library(zoo), library(forecast), library(lmtest), library(car), library(dynlm), library(orcutt), library(prais), library(ggplot2)
# Importamos datos y graficamos
gas <- scan('http://verso.mat.uam.es/~joser.berrendero/datos/gas6677.dat')
plot(gas)
# Indicamos formato de serie temporal
gas.ts = ts(gas, start = c(1966,1), frequency = 12)
plot(gas.ts)
Observamos que la serie no es estacionaria ya que presenta una tendencia creciente y una clara estacionalidad, siendo el consumo de gasolina mayor en los meses de verano.
Al ser más interesante en este caso trabajar con una serie estacionaria (sin tendencia ni estacionalidad y con variabilidad constante), pasaremos a transformar la serie original.
x = log(gas.ts)
plot(x)
dif1.x = diff(x)
plot(dif1.x)
dif12.dif1.x = diff(dif1.x, lag=12)
plot(dif12.dif1.x)
# renombramos serie y vemos sus datos panel (longitudinales)
serie_estacionaria<-dif12.dif1.x
serie_estacionaria
## Jan Feb Mar Apr May
## 1967 -0.0344811884 0.0731454538 -0.1542394309 0.1446936163
## 1968 0.0555961687 -0.0221263599 -0.1265477459 0.2142504234 -0.1641868773
## 1969 -0.0148106737 -0.0045772790 0.0314341409 -0.0297421539 0.0381998394
## 1970 -0.0450647710 0.0421297888 0.0173530496 -0.0971071043 0.0131956704
## 1971 -0.0473569784 0.0046006122 0.0305246645 0.0569402883 -0.0904194419
## 1972 0.0336177909 0.0322383272 -0.0652523154 -0.0275566673 0.1213630425
## 1973 0.0293500157 -0.0509657752 0.0367741897 0.0206122704 -0.1035080285
## 1974 -0.2676219897 0.0739791720 -0.1786670175 0.0530047432 0.0109364718
## 1975 0.2773557553 -0.0898335262 0.1788157306 -0.1361089302 0.0859417343
## 1976 -0.0141266343 0.0133184648 -0.0905190829 0.1006979500 -0.0907460854
## 1977 -0.0093041201 -0.0074903660 0.0080671542 0.0276327759 -0.0157407798
## Jun Jul Aug Sep Oct
## 1967 -0.0755538673 -0.0011401681 -0.0308697430 0.0246399254 0.0020886991
## 1968 0.0435156838 0.0245301429 -0.0027090247 -0.0440679016 0.0849384973
## 1969 -0.0225586713 0.0145545561 -0.0179032978 0.0315548501 -0.0394060819
## 1970 0.0476963640 -0.0188699372 -0.0007526337 -0.0120514229 0.0052858665
## 1971 0.0323136736 -0.0222299516 -0.0199599067 0.0271975852 -0.0027395151
## 1972 -0.1133949399 0.0257171006 0.0220793979 -0.0176400653 -0.0030969582
## 1973 0.1337361406 -0.1066076351 0.0479109907 -0.0277880907 0.0608988784
## 1974 -0.0772947394 0.0916088309 -0.0407047961 -0.0154721708 0.0110803066
## 1975 -0.0368788722 0.0137123563 -0.0431364721 0.0716385191 -0.0730742792
## 1976 0.0787754761 -0.0729245413 0.0120134457 -0.0405776708 0.0263500802
## 1977 -0.0184523652 0.0636461513 -0.0584999207
## Nov Dec
## 1967 -0.0120456734 -0.0164173052
## 1968 -0.0217143730 -0.0200223522
## 1969 -0.0279042518 0.0904883948
## 1970 0.0181618356 -0.0410753940
## 1971 0.0486881384 -0.0256221785
## 1972 -0.0091441603 0.0336139812
## 1973 -0.0331995036 0.1866907294
## 1974 0.0288246422 -0.2143536023
## 1975 -0.0202701027 0.0719969907
## 1976 0.0748543521 -0.0736269369
## 1977
Entendemos por covarianza el valor que indica el grado de variación conjunta de dos variables aleatorias respecto a sus medias. Es el dato básico para determinar si existe una dependencia entre ambas variables. Una covarianza positiva indica que cuando una variable crece la otra variable también lo hace, es decir, tienen una relación directa. Por otro lado, una covarianza negativa indica que cuando una variable crece la otra decrece, manteniendo una relación inversa.
La función de autocovarianzas de un proceso estocástico \((Yt) t∈I\) es una función que describe las covarianzas entre las variables del proceso en cada par de instantes: \(γt,s=Cov(Yt,Yt+s)=E[(Yt−μt)(Yt+s−μt+s)],t,s∈I\)
Si el proceso es estacionario, su esperanza es constante a largo del tiempo, y la función de autocovarianza no depende del momento en el tiempo (retardo), sino sólo de la distancia temporal. \(γt=E[(Yt−μ)(Yt+s−μ]\)
En ocasiones en una serie de tiempo acontece, que los valores que toma una variable en el tiempo no son independientes entre sí, sino que un valor determinado depende de los valores anteriores. Entendemos por correlación el valor que nos indica si dos variables están o no relacionadas. Cuantifica en una escala de -1 a 1 si la relación existente entre dos variables es negativa o positiva.
La función de autocorrelación de un proceso estocástico \((Yt)t∈I\) es una función de dos instantes que describe las correlaciones entre las variables en un par de instantes \(t,s∈I\) cualesquiera: $ p_t__,s =Cor(Y_t,t+_s)= γ_t,s /√γ_t,s * γt,t,s∈I$
Si el proceso es estacionario, los momentos de segundo orden no dependen de t.
En R, con la función ACF podremos calcular tanto la función de autocovarianza como la función de autocorrelación y autocorrelación parcial. Procedemos a calcular ambas funciones con los datos anteriores convertidos en serie temporal estacionaria.
# autocovarinza
autocovarianza<-acf(serie_estacionaria, type ="covariance", plot = FALSE)
autocovarianza
##
## Autocovariances of series 'serie_estacionaria', by lag
##
## 0.0000 0.0833 0.1667 0.2500 0.3333 0.4167 0.5000
## 0.0058469 -0.0040379 0.0020699 -0.0011671 0.0007565 -0.0009283 0.0009611
## 0.5833 0.6667 0.7500 0.8333 0.9167 1.0000 1.0833
## -0.0007994 0.0005771 -0.0000672 -0.0007991 0.0022112 -0.0032836 0.0025501
## 1.1667 1.2500 1.3333 1.4167 1.5000 1.5833 1.6667
## -0.0018310 0.0014730 -0.0012500 0.0014503 -0.0017144 0.0015329 -0.0011042
## 1.7500
## 0.0007332
plot(autocovarianza)
Interpretación de la función de autocorrelación (ACF): El eje vertical del correlograma representa los valores de autocorrelación, mientras que el eje horizontal muestra los rezagos. Observa la altura de las barras o puntos en el gráfico para determinar la magnitud de la autocorrelación. Si los puntos están cerca de 1 o -1, indica una fuerte autocorrelación positiva o negativa, respectivamente. Si los puntos están cerca de cero, indica una autocorrelación débil o nula.
Identificación de patrones significativos: Busca patrones significativos en el correlograma. Los rezagos con barras o puntos fuera del intervalo de confianza, a menudo indicado por bandas de sombreado en el gráfico, pueden ser estadísticamente significativos y sugieren autocorrelación significativa en esos rezagos.
Determinación del orden de un posible modelo: Observa los rezagos que están por encima del intervalo de confianza para identificar los rezagos más significativos. Estos rezagos pueden indicar la estructura de dependencia temporal en los datos y ayudar a determinar el orden de un posible modelo autorregresivo (AR) o de media móvil (MA).
Interpretación de la función de autocorrelación parcial (PACF): Si el correlograma también muestra la función de autocorrelación parcial (PACF), analiza los valores de autocorrelación parcial en cada rezago. La PACF ayuda a identificar la correlación directa entre la serie y cada rezago específico, después de eliminar la influencia de los rezagos intermedios. Los rezagos con valores significativos de autocorrelación parcial pueden ser útiles para determinar el orden de un modelo AR.
#autocorrelacion simple
autocorrelacion<-acf(serie_estacionaria, type ="correlation", plot = FALSE)
autocorrelacion
##
## Autocorrelations of series 'serie_estacionaria', by lag
##
## 0.0000 0.0833 0.1667 0.2500 0.3333 0.4167 0.5000 0.5833 0.6667 0.7500 0.8333
## 1.000 -0.691 0.354 -0.200 0.129 -0.159 0.164 -0.137 0.099 -0.011 -0.137
## 0.9167 1.0000 1.0833 1.1667 1.2500 1.3333 1.4167 1.5000 1.5833 1.6667 1.7500
## 0.378 -0.562 0.436 -0.313 0.252 -0.214 0.248 -0.293 0.262 -0.189 0.125
plot(autocorrelacion)
#autocorrelacion parcial
autocorrelacion_parcial <-acf(serie_estacionaria, type="partial", plot = FALSE)
autocorrelacion_parcial
##
## Partial autocorrelations of series 'serie_estacionaria', by lag
##
## 0.0833 0.1667 0.2500 0.3333 0.4167 0.5000 0.5833 0.6667 0.7500 0.8333 0.9167
## -0.691 -0.235 -0.121 -0.022 -0.162 -0.045 -0.040 -0.026 0.094 -0.201 0.379
## 1.0000 1.0833 1.1667 1.2500 1.3333 1.4167 1.5000 1.5833 1.6667 1.7500
## -0.258 -0.203 -0.201 -0.042 -0.007 -0.028 -0.098 -0.119 0.037 0.031
plot(autocorrelacion_parcial)
1 ) Un coeficiente de autocorrelación parcial cercano a 1 o -1 indica una correlación fuerte positiva o negativa entre la variable y el rezago correspondiente después de eliminar la influencia de los rezagos intermedios.
#Dickey - Fuller Aumentada:
adf.test(serie_estacionaria)
## Warning in adf.test(serie_estacionaria): p-value smaller than printed p-value
##
## Augmented Dickey-Fuller Test
##
## data: serie_estacionaria
## Dickey-Fuller = -6.0686, Lag order = 5, p-value = 0.01
## alternative hypothesis: stationary
#Phillips - Perron:
pp.test(serie_estacionaria)
## Warning in pp.test(serie_estacionaria): p-value smaller than printed p-value
##
## Phillips-Perron Unit Root Test
##
## data: serie_estacionaria
## Dickey-Fuller Z(alpha) = -198.52, Truncation lag parameter = 4, p-value
## = 0.01
## alternative hypothesis: stationary
*Observamos que el p-value en ambos casos es menor que 0.01, por lo que aseguramos entonces que nuestra serie de tiempo es Estacionaria. Podemos proceder a correr el modelo Autorregresivo (AR).
Los modelos de autorregresión, también conocidos como modelos AR, se utilizan para realizar pronósticos sobre variables ex-post (observaciones que conocemos completamente su valor) en determinados momentos del tiempo normalmente ordenados cronológicamente.
Los modelos autorregresivos, como bien dice su nombre, son modelos que se regresan en sí mismos. Es decir, la variable dependiente y la variable explicativa son la misma con la diferencia que la variable dependiente estará en un momento del tiempo posterior (t) al de la variable independiente (t-1). Decimos ordenados cronológicamente porque actualmente nos encontramos en el momento (t) del tiempo. Si avanzamos un período nos trasladamos a (t+1) y si retrocedemos un período nos vamos a (t-1).
AR1 = dynlm(serie_estacionaria ~ L(serie_estacionaria))
summary(AR1)
##
## Time series regression with "ts" data:
## Start = 1967(3), End = 1977(8)
##
## Call:
## dynlm(formula = serie_estacionaria ~ L(serie_estacionaria))
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.192625 -0.028417 0.001279 0.037026 0.165394
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.001734 0.004969 -0.349 0.728
## L(serie_estacionaria) -0.693697 0.064866 -10.694 <0.0000000000000002 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.05577 on 124 degrees of freedom
## Multiple R-squared: 0.4798, Adjusted R-squared: 0.4756
## F-statistic: 114.4 on 1 and 124 DF, p-value: < 0.00000000000000022
Observamos que: El estimador (β1) es significativo, con un valor de -0.693697, con un valor significativo t de Student junto con una probabilidad de p-value menor que 0.05. Por último, podemos notar una R2 no muy alto porque debemos de recordar que estamos aplicando una regresión a una serie de tiempo Estacionaria a través de la misma variable dependiente como independiente.
Podemos ahora utilizar el modelo AR1 para estimar nuestra serie de tiempo:
Pronostico = predict(AR1)
Pronostico = ts(Pronostico, start = c(1966,1), frequency = 12)
autoplot(Pronostico, col = "Red", ts.linetype = "dashed")
## Warning in ggplot2::geom_line(na.rm = TRUE, ...): Ignoring unknown parameters:
## `ts.linetype`
autoplot(serie_estacionaria, series = "Estacionaria") + autolayer(Pronostico, series = "Estimado") + labs(title = "Observado VS Estimado", subtitle = "Fuente: Calculos propios") + ylab("") + xlab("")
#TEST DURBIN-WATSON
dwtest(AR1,alternative="two.sided") #H1: p!=0
##
## Durbin-Watson test
##
## data: AR1
## DW = 2.3087, p-value = 0.07071
## alternative hypothesis: true autocorrelation is not 0
dwtest(AR1,alternative="greater") #H1: p>0
##
## Durbin-Watson test
##
## data: AR1
## DW = 2.3087, p-value = 0.9646
## alternative hypothesis: true autocorrelation is greater than 0
dwtest(AR1,alternative="less") #H1: p<0
##
## Durbin-Watson test
##
## data: AR1
## DW = 2.3087, p-value = 0.03535
## alternative hypothesis: true autocorrelation is less than 0
# TEST DURBIN-WATSON CON EL "P" ESTIMADO
#para saber si hay autocorrelacion positia o negativa
durbinWatsonTest(AR1,alternative="two.sided") #ambas colas
## lag Autocorrelation D-W Statistic p-value
## 1 -0.157908 2.308671 0.072
## Alternative hypothesis: rho != 0
durbinWatsonTest(AR1,alternative="positive")# cola derecha
## lag Autocorrelation D-W Statistic p-value
## 1 -0.157908 2.308671 0.962
## Alternative hypothesis: rho > 0
durbinWatsonTest(AR1,alternative="negative") #cola izquuierda
## lag Autocorrelation D-W Statistic p-value
## 1 -0.157908 2.308671 0.033
## Alternative hypothesis: rho < 0
#PRUEBA DE BREUSCH-DODFREY
# Prueba de Breusch-Godfrey
bgtest(AR1,order = 1)
##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: AR1
## LM test = 6.548, df = 1, p-value = 0.0105
Observamos que nuestro valor del Durbin-Watson “DW” esta cerca de 2, por lo cual entra dentro de la zona de no rechazar H0 , lo que significa que no existe problema de autocorrelación positiva o negativa dentro del modelo AR(1). Siendo un excelente modelo para Estimar la variable del consumo de gasolina en España.
Sin embargo, en el analisis de la prueba Breusch-Godfrey encontramos que: la estadística de prueba LM es 6.548, lo cual indica la magnitud de la autocorrelación serial en los residuos del modelo. Cuanto mayor sea la estadística de prueba, mayor será la autocorrelación serial. Por otro lado, los grados de libertad (df) son 1, lo que significa que se ha considerado un rezago en la prueba de autocorrelación serial. Finalmente, el valor p obtenido es 0.0105. Al ser menor que el nivel de significancia comúnmente utilizado de 0.05, podemos concluir que hay evidencia de autocorrelación serial en los residuos del modelo.
En resumen, basado en los resultados proporcionados, se puede concluir que hay evidencia significativa de autocorrelación serial en los residuos del modelo. Esto implica que el modelo de regresión lineal no cumple con el supuesto de no autocorrelación, y se deberían considerar técnicas adicionales para abordar esta autocorrelación (Econometria 2)
El experimento de Montecarlo es una técnica utilizada en estadística y ciencias computacionales para estimar resultados probabilísticos a través de la generación de múltiples muestras aleatorias. Recibe su nombre en referencia a los famosos casinos de Monte Carlo en Mónaco, donde el azar y la probabilidad juegan un papel importante.
En un experimento de Montecarlo, se realizan iteraciones repetidas de simulación aleatoria para modelar situaciones en las que los resultados son inciertos o están sujetos a variabilidad. Estas simulaciones se basan en la generación de números aleatorios para representar la incertidumbre en un modelo matemático o en un problema real.
El proceso general de un experimento de Montecarlo incluye los siguientes pasos:
Definir el problema: Se establece claramente el problema o la situación que se desea analizar y se identifican las variables relevantes y sus distribuciones de probabilidad.
Generar muestras aleatorias: Se generan múltiples muestras aleatorias de las variables de interés de acuerdo con sus distribuciones de probabilidad establecidas. Esto se hace utilizando algoritmos de generación de números pseudoaleatorios.
Realizar simulaciones: Se llevan a cabo simulaciones o cálculos utilizando las muestras aleatorias generadas. Esto puede implicar la ejecución de modelos matemáticos, simulaciones computacionales o análisis estadísticos.
Analizar los resultados: Se analizan los resultados obtenidos de las simulaciones. Esto puede incluir la estimación de medidas estadísticas, la construcción de intervalos de confianza o la evaluación de probabilidades de ocurrencia de eventos específicos.
El experimento de Montecarlo se utiliza en una amplia gama de campos, como la física, la ingeniería, las finanzas, la economía y la toma de decisiones en general. Permite abordar problemas complejos y proporcionar estimaciones aproximadas de resultados en situaciones donde no se dispone de soluciones analíticas o donde los modelos son demasiado complejos para una solución exacta.
El experimento de Monte Carlo permite obtener una idea de la distribución de la autocorrelación esperada bajo ciertas condiciones y proporciona una forma de evaluar la autocorrelación en una serie de tiempo de manera simulada. Esto puede ser útil para comprender y analizar el comportamiento de la autocorrelación en diferentes escenarios y explorar cómo se relaciona con otros parámetros o características de interés.
#EXPERIMENTO MONTECARLO
# Generar una semilla para que cada vez que corramos la simulacion obtengamos los mismos resultados
set.seed(101)
#e <- rnorm(observaciones,media,sqrt(desviacion_standard)
e <- rnorm(501,0 ,sqrt(0.09)) #501 observaciones de e ~ N(0,0.09)
head(e)
## [1] -0.09781095 0.16573856 -0.20248315 0.06430784 0.09323077 0.35218989
plot(e,type="l") #plot lineal, dato por datos
#generamos varibales error
u <- 0 #valor inicial
# for (t in "observacion_2:Ultima_observacion) u[t] <- p* u[t - 1] + e[t]
for (t in 2:501) u[t] <- 0.9 * u[t - 1] + e[t] #hallamos errores desde el moneto t y t-1
head(u)
## [1] 0.00000000 0.16573856 -0.05331845 0.01632123 0.10791987 0.44931777
plot(u,type="l")
# Generación variable del tiempo
# NOTA:
# - Se dejó correr la serie de errores unas 101 observaciones incicialmente para que parezcan más aleatorios los datos de u después de la observación 102
# - Se puede aumentar el tamaño de la muestra para que los coeficientes estimados se acerquen a su verdadero valor
t <- 1:400 # nummero de observaciones a estuduiar (separar los timepos)
base <- as.data.frame(t)
base$u <- u[102:501] # se deseo analizar solo las ultimas 400 obserbaciones ( empezamos una observacion mas adelante para que exista "t-1")
head(base)
## t u
## 1 1 0.1381439
## 2 2 0.7643754
## 3 3 1.0397625
## 4 4 1.1598145
## 5 5 0.9746805
## 6 6 0.9035439
base$x = base$t/100 #cremoas valores aleatorios de "X"
base$y = 1 + 0.8*base$x + base$u #cremoas valores aleatorios de "y"
#hacemos regresion
reg <- lm(y~x, data = base)
summary(reg)
##
## Call:
## lm(formula = y ~ x, data = base)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.69517 -0.45042 0.03173 0.43413 1.39399
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.09608 0.06353 17.25 <0.0000000000000002 ***
## x 0.66491 0.02746 24.21 <0.0000000000000002 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.6342 on 398 degrees of freedom
## Multiple R-squared: 0.5957, Adjusted R-squared: 0.5946
## F-statistic: 586.3 on 1 and 398 DF, p-value: < 0.00000000000000022
Ahora usaremos metodos iterativos. Los métodos iterativos son técnicas de resolución de problemas que implican la repetición de un proceso o algoritmo hasta alcanzar una solución deseada o convergencia. En lugar de encontrar una solución directa, los métodos iterativos utilizan aproximaciones sucesivas para acercarse cada vez más a la solución exacta.
La regresión Cochrane-Orcutt es un método utilizado para ajustar modelos de regresión lineal cuando se sospecha la presencia de autocorrelación serial en los residuos. Se basa en la estimación de la autocorrelación y utiliza un enfoque iterativo para obtener estimaciones eficientes de los coeficientes del modelo.
El método de Prais-Winsten es una técnica de ajuste de regresión que se utiliza cuando se sospecha la presencia de autocorrelación serial en los errores de un modelo de regresión. Es una extensión del método de Cochrane-Orcutt y aborda algunas de sus limitaciones.
El método de Prais-Winsten se utiliza en particular cuando la autocorrelación en los errores sigue un proceso de primer orden. A diferencia del método de Cochrane-Orcutt, que asume que el coeficiente de autocorrelación es constante, el método de Prais-Winsten estima un coeficiente de autocorrelación corregido en cada paso iterativo
#Regresion Cochrane Orcutt
reg_coch <- cochrane.orcutt(reg)
reg_coch
## Cochrane-orcutt estimation for first order autocorrelation
##
## Call:
## lm(formula = y ~ x, data = base)
##
## number of interaction: 3
## rho 0.891056
##
## Durbin-Watson statistic
## (original): 0.22477 , p-value: 1.509e-71
## (transformed): 1.89239 , p-value: 1.297e-01
##
## coefficients:
## (Intercept) x
## 1.143777 0.630122
summary(reg_coch)
## Call:
## lm(formula = y ~ x, data = base)
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.14378 0.27913 4.098 0.0000506089 ***
## x 0.63012 0.11689 5.391 0.0000001207 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.293 on 397 degrees of freedom
## Multiple R-squared: 0.0682 , Adjusted R-squared: 0.0659
## F-statistic: 29.1 on 1 and 397 DF, p-value: < 1.207e-07
##
## Durbin-Watson statistic
## (original): 0.22477 , p-value: 1.509e-71
## (transformed): 1.89239 , p-value: 1.297e-01
# Regresion Prais-Winsten
reg_prais <- prais_winsten(y~x, data=base, index = "t")
## Iteration 0: rho = 0
## Iteration 1: rho = 0.891
## Iteration 2: rho = 0.8911
## Iteration 3: rho = 0.8911
reg_prais
##
## Call:
## prais_winsten(formula = y ~ x, data = base, index = "t")
##
## Coefficients:
## (Intercept) x
## 1.1432 0.6303
##
## AR(1) coefficient rho: 0.8911
summary(reg_prais)
##
## Call:
## prais_winsten(formula = y ~ x, data = base, index = "t")
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.61507 -0.42623 0.03084 0.44188 1.43919
##
## AR(1) coefficient rho after 3 iterations: 0.8911
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.1432 0.2560 4.465 0.0000104375 ***
## x 0.6303 0.1095 5.756 0.0000000173 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2926 on 398 degrees of freedom
## Multiple R-squared: 0.06982, Adjusted R-squared: 0.06748
## F-statistic: 29.87 on 1 and 398 DF, p-value: 0.00000008149
##
## Durbin-Watson statistic (original): 0.2248
## Durbin-Watson statistic (transformed): 1.904
# Regresion Prais-Winsten, una sola iteracion
summary(prais_winsten(y~x, twostep=TRUE,data=base, index = "t"))
## Iteration 0: rho = 0
## Iteration 1: rho = 0.891
##
## Call:
## prais_winsten(formula = y ~ x, data = base, index = "t", twostep = TRUE)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.61512 -0.42621 0.03084 0.44186 1.43916
##
## AR(1) coefficient rho after 1 iterations: 0.891
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.1431 0.2559 4.468 0.0000103109 ***
## x 0.6304 0.1095 5.759 0.0000000169 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2926 on 398 degrees of freedom
## Multiple R-squared: 0.06991, Adjusted R-squared: 0.06757
## F-statistic: 29.92 on 1 and 398 DF, p-value: 0.00000007987
##
## Durbin-Watson statistic (original): 0.2248
## Durbin-Watson statistic (transformed): 1.904