Estimación de funciones para las tasas de actividad y paro de los emigrantes en España.

Francisco Parra Doctor Economía UNED

Introducción

La forma flexible de fourier (FFF) ha sido empleada para estimar tasas de actividad y paro a la población inmigrante española (Parra, 2010), dicha metodología también fue empleada en la estimación de tasas de actividad por zonas en Cantabria (Parra et all,2013) aquí se ensaya una estimación de dichas funciones de actividad basada en la regresión con parametros dependientes del tiempo (Parra, 2013). La estimación con parametros dependientes del tiempo utilizada con una variable ordinal (la edad es la variable utilizada en este caso) que hace las veces de indice temporal, puede emplearse entonces para estimar funciones no lineales como son la tasa de actividad y paro, el analisis espectral, en concreto la representación gráfica del test de Durbin a partir de la función gtd y la función cpgram del package MASS (Ripley et all,2013) pueden ser herramientas de evalución de los resultados obtenidos en la aproximación.

Los datos utilizados proceden de la encuesta nacional de inmigrantes de 2007 y se refieren a la población inmigrante, activa y parada por edad comprendida entre 16 y 65 años.

Datos de Emigrantes en españa:

datos <- read.csv("http://dl.dropbox.com/s/82ief0yp447dyyt/EMIGRANTES3.csv", 
    header = TRUE, sep = ";", dec = ",")
TOTAL <- datos$TOTAL
ACTIVOS <- datos$ACTIVOS
PARADOS <- datos$PARADOS

Análisis Espectral

Función gdf(a) y Función gdt (a)

La función gdf(a) transforma los datos del dominio del tiempo al dominio de la frecuencia pre-multiplicandolos por la matriz ortogonal,\( W \), sugerida por Harvey (1978) y la función gdt (a) transforma los datos del dominio de la frecuencia al dominio del tiempo.

Nerlove (1964) y Granger (1969) fueron los primeros investigadores en aplicar el analisis espectral a las series de tiempo en economía. El uso del analisis espectral requiere un cambio en el modo de ver las series económicas, al pasaser de la perspectiva del tiempo al dominio de la frecuencia. El analisis espectral parte de la supsición de que cuanquier serie {Xt}, puede ser transformada en ciclos formados con senos u cosenos:

\[ \begin{equation} X_t=\eta+\sum_{j=1}^N[a_j\cos(2\pi\frac{ft}n)+b_j\sin(2\pi\frac{ft}n)] \end{equation} \] (1)

donde \( \eta \) es la media de la serie, \( a_j \) y \( b_j \) son su amplitud,\( f \) son las frecuencias que del conjunto de las \( n \) observaciones,\( t \) es un indice de tiempo que va de 1 a N, siendo N el numero de periodos para los cuales tenemos observaciones en el conjunto de datos, el cociente \( \frac{ft}n) \) convierte cada valor de \( t \) en escala de tiempo en proporciones de \( 2n \) y rango \( j \) desde \( 1 \) hasta \( n \) siendo \( n=\frac{N}2 \) (es decir, 0,5 ciclos por intervalo de tiempo). Las dinámica de las altas frecuencias (los valores más altos de f) corresponden a los ciclos cortos en tanto que la dinámica de la bajas frecuencias (pequeños valores de f) van a corresponder con los ciclos largos. Si nosotros hacemos que \( \frac{ft}n=w \) la ecuación (1) quedaría, asi :

\[ \begin{equation} X_t=\eta+\sum_{j=1}^N[a_j\cos(\omega_j)+b_j\sin(\omega_j)] \end{equation} \](2)

El analisis espectral puede utilizarse para identificar y cuantificar en procesos aparentemente aperiodicos, sucesiones de cicos de periodo de corto y largo plazo. Una serie dada \( {X_t} \) puede contener diversos ciclos de diferentes frecuencias y amplitudes, y esa combinación de frecuencias y amplitudes de carcter cíclico la hacer aparecer como un serie no periodica e irregular. De hecho la ecuación (2), muestra que cada observación \( t \) de una serie de tiempo, es el resultado sumar los valores en \( t \) que resultan de N ciclos de diferente longitud y amplitud, a los que habría que añadir si cabe un termino de error.

Una manera practica de pasar desde el dominio del tiempo al dominio de la frecuencia es pre-multiplicando los datos originales por una matriz ortogonal, W, sugerida por Harvey (1978), con el elemento (j,t)th :

\[ \begin{equation} w_{jt} = \left\lbrace \begin{array}{ll} \left(\frac{1}T\right) ^\frac{1}2 & \forall j=1\\ \left(\frac{2}T\right) ^\frac{1}2 \cos\left[\frac{\pi j(t-1)}T\right] & \forall j=2,4,6,..\frac{(T-2)}{(T-1)}\\ \left(\frac{2}T\right) ^\frac{1}2 \sin\left[\frac{\pi (j-1)(t-1)}T\right] & \forall j=3,5,7,..\frac{(T-2)}T\\ \left(\frac{1}T\right) ^\frac{1}2 (-1)^{t+1} & \forall j=T \end{array} \right. \end{equation} \](3)

La matriz \( W \) tiene la ventaja de ser ortogonal por lo que \( WW^T=I \).

gdf <- function(a) {
    a <- matrix(a, nrow = 1)
    n <- length(a)
    uno <- as.numeric(1:n)
    A <- matrix(rep(sqrt(1/n), n), nrow = 1)
    if (n%%2 == 0) {
        for (i in 3:n - 1) {
            if (i%%2 == 0) {
                A1 <- matrix(sqrt(2/n) * cos(pi * (i) * (uno - 1)/n), nrow = 1)
                A <- rbind(A, A1)
            } else {
                A2 <- matrix(sqrt(2/n) * sin(pi * (i - 1) * (uno - 1)/n), nrow = 1)
                A <- rbind(A, A2)
            }
        }
        AN <- matrix(sqrt(1/n) * (-1)^(uno + 1), nrow = 1)
        A <- rbind(A, AN)
        A %*% t(a)
    } else {
        for (i in 3:n - 1) {
            if (i%%2 == 0) {
                A1 <- matrix(sqrt(2/n) * cos(pi * (i) * (uno - 1)/n), nrow = 1)
                A <- rbind(A, A1)
            } else {
                A2 <- matrix(sqrt(2/n) * sin(pi * (i - 1) * (uno - 1)/n), nrow = 1)
                A <- rbind(A, A2)
            }
        }
        AN <- matrix(sqrt(2/n) * sin(pi * (n - 1) * (uno - 1)/n), nrow = 1)
        A <- rbind(A, AN)
        A %*% t(a)
    }
}
gdt <- function(a) {
    a <- matrix(a, nrow = 1)
    n <- length(a)
    uno <- as.numeric(1:n)
    A <- matrix(rep(sqrt(1/n), n), nrow = 1)
    if (n%%2 == 0) {
        for (i in 3:n - 1) {
            if (i%%2 == 0) {
                A1 <- matrix(sqrt(2/n) * cos(pi * (i) * (uno - 1)/n), nrow = 1)
                A <- rbind(A, A1)
            } else {
                A2 <- matrix(sqrt(2/n) * sin(pi * (i - 1) * (uno - 1)/n), nrow = 1)
                A <- rbind(A, A2)
            }
        }
        AN <- matrix(sqrt(1/n) * (-1)^(uno + 1), nrow = 1)
        A <- rbind(A, AN)
        t(A) %*% t(a)
    } else {
        for (i in 3:n - 1) {
            if (i%%2 == 0) {
                A1 <- matrix(sqrt(2/n) * cos(pi * (i) * (uno - 1)/n), nrow = 1)
                A <- rbind(A, A1)
            } else {
                A2 <- matrix(sqrt(2/n) * sin(pi * (i - 1) * (uno - 1)/n), nrow = 1)
                A <- rbind(A, A2)
            }
        }
        AN <- matrix(sqrt(2/n) * sin(pi * (n - 1) * (uno - 1)/n), nrow = 1)
        A <- rbind(A, AN)
        t(A) %*% t(a)
    }
}

Function cdf (a)

Otiene la matriz auxiliar para operaciones con vectores en dominio de tiempo y dominio de la frecuencia, pre-multiplica un vector por la matriz ortogonal, A y por su transpuesta, Parra F. (2013)

La multiplicación de dos series armónicas de diferente frecuencia:

\[ \begin{equation} [a_j\cos (\omega_j)+b_j\sin (\omega_j)]x [a_i\cos (\omega_i)+b_i\sin (\omega_i)] \end{equation} \]

da como resultado la siguiente suma: \[ \begin{equation} \begin{array}{c} a_ja_i\cos(\omega_j)\cos(\omega_i)+a_jb_i\cos (\omega_j)\sin (\omega_i)\\ +a_ib_j\sin (\omega_j)\cos (\omega_i)b_i\sin (\omega_i)+b_jb_i\sin(\omega_j)\sin(\omega_i) \end{array} \end{equation} \]

considerando las identidades del producto de senos y cosenos, quedaría:

\[ \begin{equation} \begin{array}{c} \frac{a_ja_i+b_jb_i}{2} \cos(\omega_j- \omega_i)+\frac{b_ja_i-b_ja_j}{2}\sin(\omega_j- \omega_i)\\ +\frac{a_ja_i-b_jb_i}{2}\cos(\omega_j+ \omega_i)+\frac{b_ja_i+b_ja_i}{2}\sin(\omega_j+ \omega_i) \end{array} \end{equation} \]

La circularidad de \( \omega \) determina que la serie producto de dos series en \( t \), resulte una nueva serie cuyos coeficientes de Fourier sean una combinación lineal de los coeficientes de Fourier de las series multiplos.

Partiendo de las dos series siguientes:

\[ \begin{equation} \begin{array} {cc} y_t=\eta^y+a_0^y\cos(\omega_0)+b_0^y\sin(\omega_0)+a_1^y\cos(\omega_1)+b_1^y\sin(\omega_1)+ a_2^y\cos(\omega_2)+b_2^y\sin(\omega_2)+a_3^y\cos(\omega_3)\\ x_t=\eta^x+a_0^x\cos(\omega_0)+b_0^x\sin(\omega_0)+a_1^x\cos(\omega_1)+b_1^x\sin(\omega_1)+ a_2^x\cos(\omega_2)+b_2^x\sin(\omega_2)+a_3^x\cos(\omega_3) \end{array} \end{equation} \]

Dada una matriz \( \Theta^{\dot x\dot x} \) de tamaño 8x8 :

\[ \Theta^{\dot x\dot x} = \eta^x I_8+\frac{1}2\left( \begin{array}{cccccccc} 0& a_0^x& b_0^x & a_1^x & b_1^x & a_2^x & b_2^x& 2a_3^x \\ 2a_0^x& a_1^x& b_1^x & a_0^x+a_2^x & b_0^x+b_2^x & a_1^x+2a_3^x & b_1^x& 2a_2^x \\ 2b_0^x& b_1^x&- a_1^x & -b_0^x+b_2^x & a_0^x-a_2^x &- b_1^x &a_1^x- a_3^x &- 2b_2^x \\ 2a_1^x& a_0^x+a_2^x&- b_0^x+b_2^x & 2a_3^x &0 & a_0^x+a_2^x & b_0^x-b_2^x& 2a_1^x \\ 2b_1^x& a_0^x+b_2^x&- b_0^x-a_2^x &0& -2a_3^x & -b_0^x+b_2^x & a_0^x-a_2^x& -2b_1^x \\ 2a_2^x& a_1^x+2a_3^x&- b_1^x & a_0^x+a_2^x &-b_0^x-b_2^x & a_1^x &- b_1^x& 2a_0^x \\ 2b_2^x& b_1^x& a_1^x-2a_3^x & b_0^x-b_2^x &a_0^x-a_2^x & -b_1^x &- a_1^x& -2b_0^x \\ 2a_3^x& a_2^x& -b_2^x & a_1^x &- b_1^x & a_0^x & -b_0^x& 0 \end{array} \right) \] Se demuestra que:

\[ \dot z=\Theta^{\dot x\dot x}\dot y \]

donde \( \dot y = Wy \),\( \dot x = Wx \), y \( \dot z = Wz \).

En el dominio del tiempo:

\[ z_t= x_t y_t=W^T\dot x W^T\dot y=W^T Wx_t W^T\dot y=x_tI_nW^T\dot y \]

\[ W^T\dot z=x_tI_nW^T\dot y \]

\[ \dot z=Wx_tI_nW^T\dot y \]

Entonces:

\[ \Theta^{\dot x\dot x}=W^Tx_tI_nW \]

La matriz cuadrada \( \Theta^{\dot x\dot x} \) puede ser utilizada para obtener los resultados en el dominio de la frecuencia de diversas funciones de series de tiempo . Por ejemplo, si se desea obtener el desarrollo de los coeficientes en fourier de \( z_t=x_t^2 \), entonces:

\( \dot z= Wx_tI_nW^T\dot x \)

En consecuencia, si \( z_t=x_t^n \)

\( \dot z= Wx_t^{n-1}I_nW^T\dot x \)

Si ahora queremos obtener el desarrollo en coeficientes de fourier de \( z_t=\frac{x_t}{y_t} \), entonces:

\( \dot z= W[\frac{1}y_t]I_nW^T\dot x \)

cdf <- function(a) {
    a <- matrix(a, nrow = 1)
    n <- length(a)
    uno <- as.numeric(1:n)
    A <- matrix(rep(sqrt(1/n), n), nrow = 1)
    if (n%%2 == 0) {
        for (i in 3:n - 1) {
            if (i%%2 == 0) {
                A1 <- matrix(sqrt(2/n) * cos(pi * (i) * (uno - 1)/n), nrow = 1)
                A <- rbind(A, A1)
            } else {
                A2 <- matrix(sqrt(2/n) * sin(pi * (i - 1) * (uno - 1)/n), nrow = 1)
                A <- rbind(A, A2)
            }
        }
        AN <- matrix(sqrt(1/n) * (-1)^(uno + 1), nrow = 1)
        A <- rbind(A, AN)
        I <- diag(c(a))
        B <- A %*% I
        B %*% t(A)
    } else {
        for (i in 3:n - 1) {
            if (i%%2 == 0) {
                A1 <- matrix(sqrt(2/n) * cos(pi * (i) * (uno - 1)/n), nrow = 1)
                A <- rbind(A, A1)
            } else {
                A2 <- matrix(sqrt(2/n) * sin(pi * (i - 1) * (uno - 1)/n), nrow = 1)
                A <- rbind(A, A2)
            }
        }
        AN <- matrix(sqrt(2/n) * sin(pi * (n - 1) * (uno - 1)/n), nrow = 1)
        A <- rbind(A, AN)
        I <- diag(c(a))
        B <- A %*% I
        B %*% t(A)
    }
}

Función periodograma (a)

Calcula y presenta el espectro de la serie “a”

Sea \( a \) un vector n x 1 el modelo transformado en el dominio de la frecuencia esta dado por:

\( \hat a= Wa \)

Denominando \( p_j \) el ordinal del periodograma de \( \hat a \) en la frecuencia \( \lambda_j=2\pi j/n \), y \( \hat a_j \) el j-th elemento de \( \hat a \), entonces

\[ \left\lbrace \begin{array}{ll} p_j=\hat a_{2j}^{2}+\hat a_{2j+1}^{2} & \forall j = 1,...\frac{n-1}{2}\\ p_j=\hat a_{2j}^{2}& \forall j = \frac{n}{2}-1 \end{array} \right . \]

\[ p_0=\hat a_{1}^{2} \]

Entonces el cuadrado del \( \hat a \) puede ser utilizado como un estimador consistente del periodograma de \( a \).

periodograma <- function(a) {
    cf <- gdf(a)
    n <- length(a)
    if (n%%2 == 0) {
        m1 <- c(0)
        m2 <- c()
        for (i in 1:n) {
            if (i%%2 == 0) 
                m1 <- c(m1, cf[i]) else m2 <- c(m2, cf[i])
        }
        m2 <- c(m2, 0)
        frecuencia <- seq(0:(n/2))
        frecuencia <- frecuencia - 1
        omega <- pi * frecuencia/(n/2)
        periodos <- n/frecuencia
        densidad <- (m1^2 + m2^2)/(4 * pi)
        tabla <- data.frame(omega, frecuencia, periodos, densidad)
        tabla$densidad[(n/2 + 1)] <- 2 * tabla$densidad[(n/2 + 1)]
        data.frame(tabla[2:(n/2 + 1), ])
    } else {
        m1 <- c(0)
        m2 <- c()
        for (i in 1:(n - 1)) {
            if (i%%2 == 0) 
                m1 <- c(m1, cf[i]) else m2 <- c(m2, cf[i])
        }
        m2 <- c(m2, cf[n])
        frecuencia <- seq(0:((n - 1)/2))
        frecuencia <- frecuencia - 1
        omega <- pi * frecuencia/(n/2)
        periodos <- n/frecuencia
        densidad <- (m1^2 + m2^2)/(4 * pi)
        tabla <- data.frame(omega, frecuencia, periodos, densidad)
        data.frame(tabla[2:((n + 1)/2), ])
    }
}

Función gperiodogrma (a)

Presenta gráficamente el espectro de la variable a

gperiodograma <- function(a) {
    tabla <- periodograma(a)
    plot(tabla$frecuencia, tabla$densidad, main = "Espectro", ylab = "densidad", 
        xlab = "frecuencia", type = "l", col = "#ff0000")
}

Función td (a,b)

Realiza una prueba estadística para estudiar la dependencia serial sobre el periodograma acumulado de a, con una significación de 0,1(b=1); 0,05(b=2); 0,025(b=3); 0,01(b=4) y 0,005 (b=5) (Durbin; 1969)

El test de Durbin esta basado en el siguiente estadistico: \( s_j=\frac{\sum_{r=1} ^j p_r}{\sum_{r=1}^m p_r} \)

donde \( m=\frac{1}{2}n \) para \( n \) par y \( \frac{1}{2}(n-1) \) para \( n \) impar.

El estadí?stico \( s_j \) ha en encontrarse entre unos lí?mites inferior y superior de valores críticos que han sido tabulados por Durbin (1969). Si bien hay que tener presente que el valor \( p_o \) no se considera en el cálculo del estadí?stico esto es, \( p_o=\hat v_1=0 \)

Alt tect

Niveles de significación para el test de Durbin(1969) :

Test <- read.csv("http://dl.dropbox.com/s/cvy9mgy5tfp5nyh/TD.csv", header = TRUE, 
    sep = ";", dec = ",")
td <- function(a, b) {
    per <- periodograma(a)
    p <- as.numeric(per$densidad)
    n <- length(p)
    s <- p[1]
    t <- 1:n
    for (i in 2:n) {
        s1 <- p[i] + s[(i - 1)]
        s <- c(s, s1)
        s2 <- s/s[n]
    }
    while (n > 75) n <- 75
    if (b == 1) 
        c <- Test[n, 1] else {
        if (b == 2) 
            c <- Test[n, 2] else {
            if (b == 2) 
                c <- Test[n, 3] else c <- Test[n, 4]
        }
    }
    min <- -c + (t/length(p))
    max <- c + (t/length(p))
    data.frame(s2, min, max)
}

Fuction gtd (a,b)

Presenta graficamente los resultados de la prueba de Durbin (Durbin; 1969) :

gtd <- function(a, b) {
    S <- td(a, b)
    plot(ts(S), plot.type = "single", xlab = "frecuencia", lty = 1:3)
}

función cpgram

Para comprobar si la serie tiene estructura o está generada por un proceso aleatorio cabe utilizar la función cpgram del paquete MASS (src/library/stats/R/cpgram.R)

cpgram <- function(ts, taper = 0.1, main = paste("Series: ", deparse(substitute(ts))), 
    ci.col = "blue") {
    main
    if (NCOL(ts) > 1) 
        stop("only implemented for univariate time series")
    x <- as.vector(ts)
    x <- x[!is.na(x)]
    x <- spec.taper(scale(x, TRUE, FALSE), p = taper)
    y <- Mod(fft(x))^2/length(x)
    y[1L] <- 0
    n <- length(x)
    x <- (0:(n/2)) * frequency(ts)/n
    if (length(x)%%2 == 0) {
        n <- length(x) - 1
        y <- y[1L:n]
        x <- x[1L:n]
    } else y <- y[seq_along(x)]
    xm <- frequency(ts)/2
    mp <- length(x) - 1
    crit <- 1.358/(sqrt(mp) + 0.12 + 0.11/sqrt(mp))
    oldpty <- par(pty = "s")
    on.exit(par(oldpty))
    plot(x, cumsum(y)/sum(y), type = "s", xlim = c(0, xm), ylim = c(0, 1), xaxs = "i", 
        yaxs = "i", xlab = "frequency", ylab = "")
    lines(c(0, xm * (1 - crit)), c(crit, 1), col = ci.col, lty = 2)
    lines(c(xm * crit, xm), c(0, 1 - crit), col = ci.col, lty = 2)
    title(main = main)
    invisible()
}

Regresión dependiente del tiempo

Consideramos ahora el modelo de regresión siguiente:

\[ \begin{equation} y_t=\beta_tx_t+u_t \end{equation} \](7)

donde \( x_t \) es un vector n x 1 de observaciones de las variable independiente, \( \beta_t \) es un vector de n x 1 parametre, \( y_t \) es un vector de n x 1 observaciones de la variable depenendiente, y \( u_t \) es un vector de errores distribuidos con media cero y varianza constante.

Asumiendo que las series, \( y_t \),\( x_t \),\( \beta_t \) and \( ut \), pueden ser transformadas en el dominio de la frecuencia:

\[ y_t=\eta^y+\sum_{j=1}^N[a^y_j\cos(\omega_j)+b^y_j\sin(\omega_j) \]

\[ x_t=\eta^x+\sum_{j=1}^N[a^y_j\cos(\omega_j)+b^y_j\sin(\omega_j)] \]

\[ \beta_t=\eta^\beta+\sum_{j=1}^N[a^\beta_j\cos(\omega_j)+b^\beta_j\sin(\omega_j)] \]

Otenemos dichas series pre-multiplicando (7) por \( W \)

\[ \dot y=\dot x\dot\beta+\dot u \]

donde \( \dot y = Wy \),\( \dot x = Wx \), \( \dot \beta = W\beta \) y \( \dot u = Wu \)

El sistema (7) puede reescribirse como (ver anexo):

\[ \begin{equation} \dot y=Wx_tI_nW^T\dot \beta + WI_nW^T\dot u \end{equation} \] (8)

Si denominamos \( \dot e=WI_nW^T\dot u \), podrían buscarse los \( \dot \beta \) que minimizaran la suma cuadrática de los errores \( e_t=W^T\dot e \).

Función rdtmco (a,b,d,c)

Realiza la estimación mco de la regresión dependiente del tiempo de las serie “a” y “b” para las frecuencias que empiezan en “c” y terminan en “d”.

Puede obtenerse una solución a la optimización anterior utilizando los mínimos cuadrados ordinarios, para ello habría que utilizar una matriz de regresores \( X \) cuya primera columna sería el vector de tamaño \( T \) \( (1,0,0,...) \), la segunda columna sería la primera fila de la matriz \( \Theta^{\dot x\dot x} \) y las columnas, corresponderían las filas de \( \Theta^{\dot x\dot x} \) correspondientes a las frecuencias de senos o cosenos que queremos regresar.

Los coeficietes de la solución MCO: \( \dot \beta = (X'X)^{-1}X'\dot y \) serían: \( \dot \beta_0 \) el asociado a la constante, \( \dot \beta_1 \) el asociado a la pendiente, \( \dot \beta_2 ... \) los asociados a las frecuencias de senos y cosenos elegidas.

rdtmco <- function(a, b, c, d) {
    a <- matrix(a, nrow = 1)
    b <- matrix(b, nrow = 1)
    n <- length(a)
    unos <- c(rep(1, n))
    X1 <- c(1, rep(0, n - 1))
    XT <- cdf(b)
    X2 <- XT[1, ]
    X3 <- XT[c:d, ]
    X <- rbind(X1, X2, X3)
    y <- gdf(a)
    B <- solve(X %*% t(X)) %*% (X %*% y)
    Y <- t(X) %*% B
    fitted <- gdt(Y)
    plot(b, a, pch = 19, col = "blue")
    points(b, fitted, pch = 19, col = "red")
    error <- t(a) - fitted
    alfa <- gdt(c(B[1, ], rep(0, n - 1)))
    beta <- gdt(c(B[2, ], rep(0, c - 2), B[(c + 1):(d + 1), ], rep(0, n - d)))
    tasa1 <- t(a)/t(b)
    tasa2 <- beta + (alfa/t(b))
    resultados <- data.frame(fitted, y, alfa, beta, tasa1, tasa2)
    print(resultados)
    plot(b, error, pch = 19, col = "blue")
    gtd(error, 2)
    cpgram(error, 0)
    plot(ts(tasa2), pch = 19, col = "blue")
    points(ts(tasa1), pch = 19, col = "red")
}

Output:

ANALISIS ACTIVOS

periodograma(ACTIVOS)
##     omega frecuencia periodos  densidad
## 2  0.1257          1   50.000 92992.562
## 3  0.2513          2   25.000  3898.312
## 4  0.3770          3   16.667   201.251
## 5  0.5027          4   12.500    23.384
## 6  0.6283          5   10.000    42.649
## 7  0.7540          6    8.333    14.157
## 8  0.8796          7    7.143    82.418
## 9  1.0053          8    6.250    37.183
## 10 1.1310          9    5.556    97.632
## 11 1.2566         10    5.000    44.459
## 12 1.3823         11    4.545     6.205
## 13 1.5080         12    4.167    18.185
## 14 1.6336         13    3.846    60.183
## 15 1.7593         14    3.571    69.135
## 16 1.8850         15    3.333    78.080
## 17 2.0106         16    3.125   114.156
## 18 2.1363         17    2.941   118.879
## 19 2.2619         18    2.778     2.555
## 20 2.3876         19    2.632    23.186
## 21 2.5133         20    2.500    22.921
## 22 2.6389         21    2.381     5.562
## 23 2.7646         22    2.273     1.456
## 24 2.8903         23    2.174     4.172
## 25 3.0159         24    2.083    51.209
## 26 3.1416         25    2.000   105.437
plot(ts(ACTIVOS), plot.type = "single", lty = 1:3)

plot of chunk unnamed-chunk-12

gperiodograma(ACTIVOS)

plot of chunk unnamed-chunk-12

gtd(ACTIVOS, 3)

plot of chunk unnamed-chunk-12

ANALISIS PARADOS

periodograma(PARADOS)
##     omega frecuencia periodos  densidad
## 2  0.1257          1   50.000 2541.9583
## 3  0.2513          2   25.000   72.9593
## 4  0.3770          3   16.667    3.4565
## 5  0.5027          4   12.500    2.9135
## 6  0.6283          5   10.000    8.8383
## 7  0.7540          6    8.333   10.2798
## 8  0.8796          7    7.143    4.0866
## 9  1.0053          8    6.250   20.0238
## 10 1.1310          9    5.556   26.4866
## 11 1.2566         10    5.000    4.5571
## 12 1.3823         11    4.545    7.2235
## 13 1.5080         12    4.167    4.8384
## 14 1.6336         13    3.846    6.7213
## 15 1.7593         14    3.571    6.0097
## 16 1.8850         15    3.333   14.1978
## 17 2.0106         16    3.125   12.0067
## 18 2.1363         17    2.941    7.3503
## 19 2.2619         18    2.778    4.0488
## 20 2.3876         19    2.632    4.4104
## 21 2.5133         20    2.500    3.5820
## 22 2.6389         21    2.381    0.6083
## 23 2.7646         22    2.273    3.3924
## 24 2.8903         23    2.174    5.1972
## 25 3.0159         24    2.083    1.7379
## 26 3.1416         25    2.000    0.1146
plot(ts(PARADOS), plot.type = "single", lty = 1:3)

plot of chunk unnamed-chunk-13

gperiodograma(PARADOS)

plot of chunk unnamed-chunk-13

gtd(PARADOS, 3)

plot of chunk unnamed-chunk-13

Analisis TOTAL

periodograma(TOTAL)
##     omega frecuencia periodos  densidad
## 2  0.1257          1   50.000 93615.338
## 3  0.2513          2   25.000  3450.539
## 4  0.3770          3   16.667   149.711
## 5  0.5027          4   12.500   173.256
## 6  0.6283          5   10.000    68.542
## 7  0.7540          6    8.333    13.883
## 8  0.8796          7    7.143    29.852
## 9  1.0053          8    6.250    68.780
## 10 1.1310          9    5.556    32.073
## 11 1.2566         10    5.000    60.549
## 12 1.3823         11    4.545     4.246
## 13 1.5080         12    4.167    63.663
## 14 1.6336         13    3.846    49.419
## 15 1.7593         14    3.571    24.531
## 16 1.8850         15    3.333   120.493
## 17 2.0106         16    3.125   129.519
## 18 2.1363         17    2.941   162.568
## 19 2.2619         18    2.778    23.069
## 20 2.3876         19    2.632    11.854
## 21 2.5133         20    2.500    84.101
## 22 2.6389         21    2.381    13.552
## 23 2.7646         22    2.273     1.463
## 24 2.8903         23    2.174    12.234
## 25 3.0159         24    2.083    49.586
## 26 3.1416         25    2.000   275.134
plot(ts(TOTAL), plot.type = "single", lty = 1:3)

plot of chunk unnamed-chunk-14

gperiodograma(TOTAL)

plot of chunk unnamed-chunk-14

gtd(TOTAL, 3)

plot of chunk unnamed-chunk-14

Realiza la regresión dependiente del tiempo de los vectores a y b, en la frecuencia de periodo 16 y 8.

rdtmco(ACTIVOS, TOTAL, 2, 9)

plot of chunk unnamed-chunk-15

##    fitted         y alfa      beta   tasa1  tasa2
## 1   40.80 1656.3269 29.1  0.088659 0.09091 0.3091
## 2   57.61 -763.5347 29.1  0.186393 0.32026 0.3766
## 3   74.42  765.2410 29.1  0.298174 0.57237 0.4896
## 4   93.95 -193.6811 29.1  0.413115 0.59873 0.5984
## 5  135.92 -107.1226 29.1  0.521105 0.70732 0.6630
## 6  161.17  -33.6565 29.1  0.614276 0.76744 0.7496
## 7  188.01  -37.3661 29.1  0.687953 0.85714 0.8139
## 8  232.11   17.0944 29.1  0.740933 0.86131 0.8471
## 9  285.65    1.2810 29.1  0.775101 0.80363 0.8630
## 10 313.53  -17.9808 29.1  0.794523 0.89106 0.8758
## 11 387.79   14.5817 29.1  0.804242 0.86771 0.8695
## 12 375.38  -13.2844 29.1  0.809087 0.84813 0.8771
## 13 415.14   -1.1945 29.1  0.812728 0.88211 0.8740
## 14 474.45  -23.5170 29.1  0.817171 0.88440 0.8706
## 15 475.03  -21.9694 29.1  0.822748 0.88745 0.8764
## 16 444.19   -1.2932 29.1  0.828526 0.88623 0.8866
## 17 480.57   21.5773 29.1  0.832984 0.89668 0.8867
## 18 472.34  -35.0241 29.1  0.834742 0.86629 0.8895
## 19 455.66    0.4419 29.1  0.833126 0.86523 0.8900
## 20 452.42   21.4979 29.1  0.828431 0.90411 0.8854
## 21 483.57   -9.8249 29.1  0.821828 0.87523 0.8744
## 22 399.09   -8.7278 29.1  0.814967 0.89427 0.8791
## 23 418.42   -1.3402 29.1  0.809410 0.86279 0.8699
## 24 382.97    6.2375 29.1  0.806087 0.87927 0.8724
## 25 378.44   13.7702 29.1  0.804931 0.85945 0.8720
## 26 376.78  -26.3755 29.1  0.804819 0.88194 0.8722
## 27 353.04    7.7853 29.1  0.803837 0.88834 0.8760
## 28 298.63  -28.1901 29.1  0.799811 0.86647 0.8861
## 29 286.94   -8.6079 29.1  0.790932 0.86810 0.8802
## 30 246.46   24.2808 29.1  0.776312 0.87143 0.8802
## 31 250.69  -19.7895 29.1  0.756278 0.86348 0.8556
## 32 207.78   -0.2210 29.1  0.732314 0.84836 0.8516
## 33 188.79   37.8746 29.1  0.706631 0.85398 0.8354
## 34 186.51  -38.6071 29.1  0.681468 0.79654 0.8074
## 35 164.70    1.8366 29.1  0.658296 0.82524 0.7995
## 36 137.41    5.0704 29.1  0.637160 0.85294 0.8083
## 37 134.49   -2.5286 29.1  0.616356 0.77778 0.7865
## 38 122.72  -15.3540 29.1  0.592580 0.71519 0.7767
## 39 107.15   -7.4579 29.1  0.561567 0.74820 0.7709
## 40 100.21   16.8021 29.1  0.519118 0.71533 0.7315
## 41  95.67   -2.3920 29.1  0.462302 0.68056 0.6644
## 42  76.35   -0.8040 29.1  0.390549 0.64463 0.6310
## 43  61.26   -8.3218 29.1  0.306366 0.57143 0.5835
## 44  51.29    1.9664 29.1  0.215468 0.47573 0.4980
## 45  41.21   -3.7993 29.1  0.126229 0.37500 0.4293
## 46  34.34   -1.3992 29.1  0.048529 0.46296 0.3179
## 47  28.34   -7.1040 29.1 -0.007821 0.29897 0.2921
## 48  26.11  -20.6987 29.1 -0.034756 0.41860 0.3036
## 49  26.11  -14.6655 29.1 -0.027417 0.31193 0.2395
## 50  30.35   25.7387 29.1  0.014925 0.26190 0.3613

plot of chunk unnamed-chunk-15 plot of chunk unnamed-chunk-15 plot of chunk unnamed-chunk-15 plot of chunk unnamed-chunk-15

rdtmco(PARADOS, ACTIVOS, 2, 9)

plot of chunk unnamed-chunk-15

##    fitted        y    alfa   beta   tasa1   tasa2
## 1   3.339 273.7917 -0.4146 0.3128 0.50000 0.27824
## 2  15.474 -87.5689 -0.4146 0.3243 0.42857 0.31580
## 3  27.890 155.8040 -0.4146 0.3253 0.44828 0.32058
## 4  29.353 -30.1356 -0.4146 0.3167 0.38298 0.31226
## 5  43.101   2.9462 -0.4146 0.3001 0.23448 0.29725
## 6  45.511  -4.4946 -0.4146 0.2783 0.22424 0.27583
## 7  49.956   4.8202 -0.4146 0.2544 0.22222 0.25230
## 8  54.136  -3.1581 -0.4146 0.2311 0.22881 0.22939
## 9  55.669   5.1612 -0.4146 0.2108 0.25940 0.20928
## 10 61.745  -8.5408 -0.4146 0.1949 0.22257 0.19356
## 11 70.642   6.1741 -0.4146 0.1836 0.16537 0.18254
## 12 63.708  10.4440 -0.4146 0.1766 0.15978 0.17550
## 13 72.043   4.4835 -0.4146 0.1729 0.15513 0.17194
## 14 82.084  -2.6866 -0.4146 0.1712 0.18672 0.17030
## 15 81.397   6.6435 -0.4146 0.1701 0.17256 0.16922
## 16 74.529  -0.4533 -0.4146 0.1688 0.15315 0.16786
## 17 80.644  15.8563 -0.4146 0.1668 0.16667 0.16593
## 18 75.040 -17.4164 -0.4146 0.1640 0.18043 0.16313
## 19 70.821   5.4321 -0.4146 0.1608 0.15350 0.15987
## 20 72.359  -7.4228 -0.4146 0.1575 0.16017 0.15662
## 21 74.394  -1.4727 -0.4146 0.1546 0.14876 0.15371
## 22 61.356   1.3386 -0.4146 0.1521 0.14286 0.15112
## 23 61.937  -9.4330 -0.4146 0.1502 0.14458 0.14925
## 24 56.969   3.3462 -0.4146 0.1487 0.16321 0.14759
## 25 54.459   7.0430 -0.4146 0.1471 0.12601 0.14600
## 26 54.970  -8.4654 -0.4146 0.1454 0.16010 0.14428
## 27 50.901   3.5777 -0.4146 0.1433 0.15363 0.14218
## 28 40.807  -8.6118 -0.4146 0.1412 0.14726 0.13975
## 29 38.971  -1.1652 -0.4146 0.1392 0.10954 0.13771
## 30 33.188   6.4408 -0.4146 0.1377 0.12295 0.13601
## 31 34.268 -11.7017 -0.4146 0.1371 0.14229 0.13545
## 32 28.013  -4.3049 -0.4146 0.1373 0.11594 0.13533
## 33 26.251  11.5042 -0.4146 0.1382 0.17098 0.13601
## 34 25.155  -4.6522 -0.4146 0.1390 0.14674 0.13671
## 35 23.200  -8.4097 -0.4146 0.1389 0.12353 0.13647
## 36 19.475   3.2516 -0.4146 0.1372 0.13793 0.13431
## 37 17.300  -6.3487 -0.4146 0.1332 0.15789 0.13007
## 38 13.931  -6.0023 -0.4146 0.1270 0.06195 0.12328
## 39 11.973   4.4039 -0.4146 0.1191 0.14423 0.11513
## 40 10.469   5.3228 -0.4146 0.1111 0.05102 0.10683
## 41  9.851   4.0842 -0.4146 0.1048 0.12245 0.10053
## 42  7.574  -0.8362 -0.4146 0.1024 0.12821 0.09710
## 43  5.953  -2.6354 -0.4146 0.1061 0.08333 0.09921
## 44  5.335   5.2829 -0.4146 0.1173 0.20408 0.10888
## 45  4.502  -3.8368 -0.4146 0.1366 0.08333 0.12507
## 46  7.742  -5.2159 -0.4146 0.1631 0.14000 0.15485
## 47  5.243  -6.1729 -0.4146 0.1951 0.13793 0.18079
## 48  7.847   0.3390 -0.4146 0.2295 0.11111 0.21798
## 49  8.523   4.6609 -0.4146 0.2629 0.08824 0.25068
## 50  6.002   0.8485 -0.4146 0.2916 0.18182 0.27280

plot of chunk unnamed-chunk-15 plot of chunk unnamed-chunk-15 plot of chunk unnamed-chunk-15 plot of chunk unnamed-chunk-15

Bibliography

Engle, Robert F. (1974), Band Spectrum Regression,International Economic Review 15,1-11.

Hannan, E.J. (1963), Regression for Time Seriesâ, in Rosenblatt, M. (ed.), Time Series Analysis, New York, John Wiley.

Harvey, A.C. (1978), Linear Regression in the Frequency Domainâ, International Economic Review, 19, 507-512.

Parra F. (2010): Estimación de una función flexible a las tasas de actividad y paro de la población inmigrante en España. http://econometria.files.wordpress.com/2010/12/actividad-y-desempleo-en-la-poblacic3b3n-inmigrante.pdf

Parra F.J.; Bedia, R.; Cobo, M.I.; Camp0,L.(2012): Estimación de la tasa de actividad y paro a nivel de sección censal.ICANE. http://www.icane.es/c/document_library/get_file?uuid=e49f6f5c-268d-482a-8565-4eb7a28c741d&groupId=10138

Parra F.J. (2013): Estimación con parámetros dependientes del tiempo. http://econometria.files.wordpress.com/2013/07/regresion-dependiente-del-tiempo_cast3.pdf

Ripley, B. Venables, B.; Bates, D.M.; Hornik, K. Gebhardt, G. and Firth, D. (2013): “Package MASS”. http://www.stats.ox.ac.uk/pub/MASS4/

Wilson, P.J. and Perry, L.J. (2004). Forecasting Australian Unemployment Rates Using Spectral Analysis Australian Jurnal of Labour Economics, vol 7,no 4, December 2004, pp 459-480.