Entradas

Mostrando entradas de marzo, 2019

Tidyverse y minería de datos en R: estimar regresiones por grupos

La siguiente entrada utiliza la potente librería tidyverse, de R, para estimar regresiones por grupo. Para el siguiente ejemplo se utiliza la base  bwghtdel libro de wooldridge.
library(tidyverse); library(purrr) library(wooldridge) attach(bwght)
En primer lugar, indicamos la base de datos con la que deseamos trabajar (bwght%>%); posteriormente, le indicamos para cuales grupos específicos requerimos estimar nuestra regresiones (split(.$white) %>%). En este caso, se desea repetir la estimación para cada grupo, según color de la piel; finalmente, especificamos la regresión que deseamos estimar (map(~ lm(lbwght ~ cigprice+faminc, data = .)) %>%) ayudados por la funciones map y lm; y llamamos la tradicional salida de la regresión de R (map(summary)). Note, que la regresión propuesta se estima para cada una de las categorías indicadas en la variable White.
bwght %>% split(.$white) %>%   map(~ lm(lbwght ~ cigprice+faminc, data = .)) %>%   map(summary)
$`0`
Call: lm(formula = lbw…

Introducción a la econometría de Wooldridge: ejercicios resueltos en R. Capítulo 1

Imagen
C1.1.Para este ejercicio emplee la base de datos WAGE1.RAW.
> install.packages(“wooldridge”) > library(wooldridge) > attach(wage1) > ??wage1
i) Determine el nivel educativo promedio de la muestra. ¿Cuáles son los niveles de educación menor y mayor?
> mean(educ) [1] 12.56274 > summary(educ) Min. 1st Qu.MedianMean 3rd Qu.Max. 0.0012.0012.0012.5614.0018.00
ii) Determine el salario promedio por hora (wage) en la muestra. ¿Parece ser alto o bajo?
> mean(wage) [1] 5.896103
iii) Los datos de los salarios están dados en dólares de 1976. Usando el Economic Report of the President (de 2004 o posterior o el Informe de Gobierno en países de habla hispana) obtenga y dé los índices de precios al consumidor (IPC) correspondientes a 1976 y 2003.
iv) Use los valores de los IPC del inciso iii) para determinar el salario promedio por hora en dólares de 2003. ¿Parece ahora más razonable el salario promedio por hora?
# Buscar el IPC correspondiente a cada uno de los años del problema y actualizar …

Usar el bucle for para guardar resultados de la estimación de una regresión

En la siguiente entrada, se muestra cómo utilizar el buche for, para guardar resultados estimados en una regresión lineal simple (lm), sea en un vector o en una matriz. En el ejemplo siguiente, se utiliza la base de datos iris, que contiene las siguientes variables:
head(iris)   Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1          5.1         3.5          1.4         0.2  setosa 2          4.9         3.0          1.4         0.2  setosa 3          4.7         3.2          1.3         0.2  setosa 4          4.6         3.1          1.5         0.2  setosa 5          5.0         3.6          1.4         0.2  setosa 6          5.4         3.9          1.7         0.4  setosa
En el ejemplo, se estima mediante lm, un modelo de regresión simple de la primera variable (iris[,1] == Sepal.Length) en función de la segunda, tercera y cuarta variable, respectivamente (iris[,i] == Sepal.Length). Véase de forma directa, como este ejemplo se puede extender a cualquier número de variables, …

Fundamentos de Análisis de Series Temporales en R

La siguiente entrada corresponde a una presentación  sobre series temporales en R, realizada en la comunidad Data Science | DR, en marzo 14 de 2019, sobre técnicas de análisis de series temporales, con aplicaciones en R [DESCARGAR DOCUMENTO].

Contenido del documento:

1. Series temporales: aspectos básicos: procesos estocásticos; raíces unitarias, estacionariedad, operador de retardos, componentes de  series temporales; proceso ruido blanco; AR; caminata aleatoria; MA; ARMA; ARIMA; SARIMA; RegARIMA.

2. Box-Jenkins: Box-cox; Dickey-Fuller; Phillip-Perron; Box-Pierce; Ljiung-Box, pronósticos; análisis residual; correlogramas; funciones de autocorrelación; criterios de información; estimación.

3. Modelos de volatilidad: Volatilidad condicional, efectos ARCH; EWMA; ventanas de volatilidad; GARCH gaussianos; ARMA-GARCH; GARCH asimetricos (gjrGARCH); Markov-GARCH; modelos de volatilidad estocástica.

4. Análisis multivariado: Vectores autoregresivos (VAR); Vectores de corrección de errores (VEC);…

Modelos GARCH multivariados en R

Imagen
1.DCC (igual especificación de la varianza)

En las siguientes instrucciones se simulant dos series (x,y), solo para mostrar el uso del paquete rmgarch, combinado con rugarch y parallel, para la estimación del modelo Dynamic Conditional Correlation (DCC).
# ------------------------------- *
# Activa paquetes
library(rmgarch)
library(rugarch)
library(parallel)

# Simula las series
x<-rnorm(1000,1,3)*c(1:1000)+c(1:1000)
y<-rnorm(1000,1,3)*c(1:1000)

data1<-as.matrix(cbind(x,y))
plot(x, type="l")

En las siguientes líneas, se introduce la estructura del modelo a estimar, se verifica un modelo gjrGARCHcon distribución t, para cada una de las series consideradas.
# ------------------------------- *
l <- 2 #número de variables
gjrtspec <- ugarchspec(
         mean.model=list(armaOrder=c(0,0)),
   variance.model =list(model = "gjrGARCH"),
          distribution="std")

dcc_spec = dccspec(
              uspec = multispec(replicate(l, gjrtspec)),
              distribut…