Francisco Javier Parra Rodríguez
Universidad de Cantabria (UNICAN), España
Introducción
El objetivo del artículo es analizar la dinámica de la Propensión Marginal al Consumo (PMgC) en la economía española, estimada a través de una función de consumo clásica Keynesiana con los microdatos de las encuestas de hogares. Las estimaciones de estas funciones con datos de encuestas de hogares se realizan agrupando a estos en estratos, estimándose la función con los datos agregados de cada estrato, dado que estos estratos se determinan siguiendo criterios subjetivos del investigador, proponemos un método de estimación que utilice los percentiles de ingresos per cápita del conjunto de la muestra de la encuesta. Estas estimaciones por lo general presentan problemas de normalidad en los residuos, debido a valores extremos, dependencia de errores entre estratos de hogares, heterocedasticidad o la existencia de relaciones no lineales en las variables. Los resultados de estas estimaciones realizados para España en el 2014 (Parra, 2015b) llevan a unas conclusiones que no difieren de los resultados obtenidos en Argentina (Parra, 2015b) y Mexico (Parra, 2015a). Su dinámica no presupone la estabilidad de estas relaciones en el sentido propuesto por la teoría Keynesiana, ya que entre 2006 y 2009 cambió tanto el consumo autónomo como la propensión marginal al consumo, sin embargo desde la perspectiva de clases sociales cabe una interpretación derivada del comportamiento del conjunto de las clases o de cada clase ante la crisis inmobiliaria. Bajo este punto de vista sería el deterioro de la situación de las clases medias la causante de la reducción en la propensión marginal al consumo de todos los hogares.
Clasificación JEL (Journal of Economic Literature): E12, E21,R21
Función de Consumo
La función de consumo establece una relación funcional entre el gasto y la renta disponible:
\(C_i=a+bY_i+e_i\) (1)
donde \(C_i\) es el gasto en consumo que realiza el hogar \(i\),\(Y_i\) es la renta disponible o los ingresos del hogar \(i\), y se presupone la existencia de un error aleatorio, \(e_i\) idénticamente distribuido de media cero y varianza conocida.
La propensión media al consumo se define \(\frac{\sum C_i}{\sum Y_i}\), \(b\) sería la propensión marginal al consumo ó el aumento de gasto en consumo asociado al aumento de una unidad monetaria en la renta de los hogares, en tanto que \(a\) se considera como el consumo autónomo, o aquel que corresponde a los hogares que no reciben ningún tipo de ingresos.
Si para un periodo de tiempo \(t\), obtengo la suma de los gastos de consumo de los hogares que habitan un área concreta, será:
\(C_t= \sum_i C_i = \sum_i(a_t + b_t Y_i + e_i) = n_t a_t + b_t \sum_i Y_i\) (2)
donde el número de hogares agregado al periodo \(t\) es \(n_t\) y teniendo presente que un error aleatorio normalmente distribuido de media cero da como resultado \(\sum_i e_i = 0\).
Considerando ahora que, \(Y_t\) y \(n_t\) son variables fijas y admitiendo una cierta variabilidad aleatoria de cada \(a_t\) y \(b_t\) en torno a su valor poblacional: \(a\) y \(b\), la relación podría expresarse como:
\(C_t= a n_t + b Y_t + u_t\), \(t=1,...,T\) (3)
donde \(u_t\) es un error aleatorio idénticamente distribuido de media cero y varianza conocida.
Dividendo (3) por \(n_t\) , se obtiene la formulación keynesiana de la ecuación de consumo:
\(c_t = a + b y_t + u_t\)(4)
donde \(c_t\) es el gasto en consumo per capita agregado al periodo \(t\), \(y_t\) es la renta o los ingresos per cápita o agregado al periodo.
La teoría general del consumo de Keynes, fue cuestionada tanto por su simplicidad teórica como por la evidencia empírica, Kutnets, Feber, Goldsmith y otros, utilizando series temporales de consumo de largo plazo, estimaron PMC para los Estados Unidos con valores cercanos a 0.90, en tanto que los estudios que utilizaban series de datos cruzadas procedentes de encuesta de consumo de los hogares, obtenían para la PMC un rango de 0.60 - 0.80 . Estas diferencias dieron lugar a la paradoja de la función de consumo, que venía a decir que el comportamiento de los hogares o individuos frente al consumo era muy diferente del comportamiento de las magnitudes a nivel agregado. Esta paradoja estimulo los esfuerzos para encontrar una teoría completa del consumo, entre los que destacan las hipótesis de la renta relativa de Duesemberry (1949), de la renta permanente (Friedman, 1957) y la del ciclo vital de Modigliani y Brumberg (1945). El problema entre las discrepancias entre los datos de series cruzadas y series temporales fue resuelto utilizando el concepto de renta permanente y transitoria de Friedman y Kutnests (1945), la renta permanente fue definida como una renta media en tanto que la renta transitoria sería las diferencias entre el ingreso de cada individuo y esa renta media. Los ingresos individuales que difieren de los ingresos permanentes, dado su carácter de inesperados, se consideró que no habían de tener consecuencias para el consumo, y Modigliani y Brumberg, y Friedman definieron la elasticidad del consumo frente a la renta, como : \(N_{cy}=\frac {\bar C}{\bar Y}\).
Modigliani y Brumberg (1954), consideran que cuando todos los hogares esperan el mismo ingreso, la elasticidad del consumo frente a la renta será la unidad, de manera que en presencia de fluctuaciones a corto plazo en los ingresos, la proporción de renta consumida tenderá a caer con la renta y la elasticidad del consumo con respecto a la renta será menor que uno. Casi todos los desarrollos empíricos realizados en la literatura económica consideran de alguno u otra manera las hipótesis de la renta permanente o del ciclo vital.
Bunting, D (2003), considera que presuponer que todos los hogares tienen idéntica renta permanente es un imposible, que todas las encuestas sobre gastos de los consumidores realizadas en los EEUU, muestran que los ingresos individuales difieren debido a la calidad del capital humano, características demográficas (sexo, edad, raza) ó el estado de salud.
Por otro lado, habría que tener presente que en las estimaciones de las PMC influyen de manera considerable la definición de las variables de ingresos y gastos, incluyendo su consideración o no en términos per cápita (Bunting, 1989), destacando la alta variabilidad de resultados para la PMC que se han obtenido en las encuestas de datos cruzados precisamente por las diferencias que se dan en la definición de ingresos y gastos o incluso en el conjunto de hogares a donde van dirigidas. Cada encuesta representa a miles de hogares que responden a un largo conjunto de hogares de todos los hogares. Bunting D. considera que la manera en que son organizados los conjuntos de datos en categorías de ingresos, agrupaciones que no son una transformación lineal de los datos originales sin agrupar, determinan en cierto sentido unos u otros resultados para la PMC. Utilizando datos de de 13.164 hogares de los EEUU en 1960 y agrupados según intervalos razonables de ingresos, la estimación produce la clásica paradoja de los datos cruzados en la función de consumo, la PMC obtenida (0.78) es menor que la que la elasticidad del ingreso al consumo que utilizan Modigliani y Brumberg y Friedman (0.84). Dado que no todos los grupos tenían el mismo porcentaje de hogares, cuando la estimación de la PMC fue realizada con mínimos cuadrados ponderados o excluyendo las categorías de los más pobres y los más ricos, se obtuvieron valores para la PMC más acordes con la elasticidad del ingreso al gasto: 0.83 y 0.80 respectivamente.
Otra manera alternativa de formular la relación entre el gasto de consumo y renta disponible de cada hogar es la siguiente:
\(C_i= b_i Y_i\) (5)
donde \(C_i\) es el gasto en consumo que realiza el hogar \(i\), \(Y_i\) es la renta o los ingresos del hogar \(i\).
La relación (5) relativa a un subconjunto de esa población quedaría:
\(\sum_{i=1}^m C_i = \sum_{i=1}^m b_i Y_i\) (6)
donde \(m\) es el número de hogares en dicho subconjunto.
Dividiendo (6) por el número de hogares, y presuponiendo que todos los hogares del subconjunto consumen parecida proporción de renta \(b_j=\frac {\sum_{i=1}^{m} b_i}{m}\), resulta que :
\(c_j = b_j y_j + e_j\) (7)
donde \(c_j\) e \(y_j\) son los consumos y rentas per cápita del subconjunto de dicha población. Y \(e_j\) es la diferencia que ocurre al utilizar \(b_j\) en lugar de \(\frac {\bar C}{\bar Y}\).
Si consideramos que hay 100 grupos homogéneos de hogares, o percentiles de hogares con comportamientos asimilados, (7) se expresaría:
\(c_j = a + b_j y_j + e_j\)(8)
donde se presupone que \(e_j\) un error aleatorio idénticamente distribuido de media cero y varianza conocida.
En dicha ecuación,\(b_1\), \(b_2\),…,\(b_100\) serían la propensión marginal a consumir de los hogares de la clase 1, de la clase 2 y ….. de la clase 100.
Metodología de Estimación
La función (5) establece una relación de no tipo lineal entre consumos y rentas disponibles de los hogares, no obstante, si se considera que los \(b_i\) toman un valor que oscila de forma aleatoria en torno a su valor medio, la ecuación (5) se formularía como (1), y daría lugar a una función lineal que puede estimarse con Mínimos Cuadrados Ordinarios. No obstante, parecer razonable pensar que los \(b_i\) puedan cambiar de alguna y otra manera en función d la clase social de cada hogar, o si se prefiere que la relación entre gasto de consumo y renta disponible oscilará sobre su línea de tendencia, presentando oscilaciones deterministas y aleatorias.
La ecuación (5) puede estimarse por tanto utilizando una forma lineal o una transformación a una forma lineal, un logaritmo, una potencia, etc…., o también puede estimarse de forma no paramétrica utilizando “kernel” o “splines”.
Por su parte la ecuación (8), puede estimarse segmentando los hogares por clases sociales y utilizando variables dummys (\(D_j\)) para obtener regresores en cada clase, puede dejarse libre el gasto en consumo mínimo de los hogares o establecerlo en base a una cesta mínima de compra de subsistencia, en cuyo caso (8) se especificaría como:
\(c_i = a + b_1 Y_i D_j + \epsilon_i\) (9)
pero la estimación (9) por MCO requiere transformaciones en los datos para evitar la colinealidad entre los regresores.
Otra manera de establecer relaciones entre propensiones marginales a consumir y tipología de clases sociales, es utilizar un desarrollo de Fourier:
\(c_j = a + b y_j + \sum_{s=1}^{S}[a_s\cos(\omega_s)+b_j\sin(\omega_s) + \upsilon_j]\) (10)
donde, \(S=50\) y, \(\omega_s = 2 \pi \frac {j}{S}\),y \(\upsilon_j\) es un error aleatorio idénticamente distribuido con media cero y varianza constante.
La función (10) diferencia las oscilaciones en torno a su línea de tendencia, entre las que se deben a un comportamiento oscilante determinista entre percentiles o clases y el puramente aleatorio. En este tipo de estimaciones la ausencia de autocorrelación entre los errores, indicaría que el modelo incorpora las relaciones de estructura entre percentiles: las de tendencia, las que se dan entre percentiles distantes (las menos frecuentes) o entre percentiles cercanos (las más frecuentes).
Para realizar esta estimación se presentan a continuación una serie de funciones R basadas en (Parra,2015), cuyo objetivo es realizar una regresión en bandas de frecuencia (Engle, 1974), utilizando el test de Durbin (Durbin, 1969) como elemento selector de las bandas de oscilación.
X0.1 <- c(0.4 ,0.35044 ,0.35477 ,0.33435 ,0.31556 ,0.30244 ,0.28991 ,0.27828 ,0.26794 ,0.25884 ,0.25071 ,0.24325 ,0.23639 ,0.2301 ,0.2243 ,0.21895 ,0.21397 ,0.20933 ,0.20498 ,0.20089 ,0.19705 ,0.19343 ,0.19001 ,0.18677 ,0.1837 ,0.18077 ,0.17799 ,0.17037 ,0.1728 ,0.17037 ,0.16805 ,0.16582 ,0.16368 ,0.16162 ,0.15964 ,0.15774 ,0.1559 ,0.15413 ,0.15242 ,0.15076 ,0.14916 ,0.14761 ,0.14011 ,0.14466 ,0.14325 ,0.14188 ,0.14055 ,0.13926 ,0.138 ,0.13678 ,0.13559 ,0.13443 ,0.133 ,0.13221 ,0.13113 ,0.13009 ,0.12907 ,0.12807 ,0.1271 ,0.12615 ,0.12615 ,0.12431 ,0.12431 ,0.12255 ,0.12255 ,0.12087 ,0.12087 ,0.11926 ,0.11926 ,0.11771 ,0.11771 ,0.11622 ,0.11622 ,0.11479 ,0.11479 ,0.11341 ,0.11341 ,0.11208 ,0.11208 ,0.11079 ,0.11079 ,0.10955 ,0.10955 ,0.10835 ,0.10835 ,0.10719 ,0.10719 ,0.10607 ,0.10607 ,0.10499 ,0.10499 ,0.10393 ,0.10393 ,0.10291 ,0.10291 ,0.10192 ,0.10192 ,0.10096 ,0.10096 ,0.10002)
X0.05 <- c(0.45,0.44306,0.41811,0.39075 ,0.37359 ,0.35522 ,0.33905 ,0.32538 ,0.31325 ,0.30221 ,0.29227 ,0.2833 ,0.27515 ,0.26767 ,0.26077 ,0.25439 ,0.24847 ,0.24296 ,0.23781 ,0.23298 ,0.22844 ,0.22416 ,0.22012 ,0.2163 ,0.21268 ,0.20924 ,0.20596 ,0.20283 ,0.19985 ,0.197 ,0.19427 ,0.19166 ,0.18915 ,0.18674 ,0.18442 ,0.18218 ,0.18003 ,0.17796 ,0.17595 ,0.17402 ,0.17215 ,0.17034 ,0.16858 ,0.16688 ,0.16524 ,0.16364 ,0.16208 ,0.16058 ,0.15911 ,0.15769 ,0.1563 ,0.15495 ,0.15363 ,0.15235 ,0.1511 ,0.14989 ,0.1487 ,0.14754 ,0.14641 ,0.1453 ,0.1453 ,0.14361 ,0.14361 ,0.14112 ,0.14112 ,0.13916 ,0.13916 ,0.13728 ,0.13728 ,0.13548 ,0.13548 ,0.13375 ,0.13375 ,0.13208 ,0.13208 ,0.13048 ,0.13048 ,0.12894 ,0.12894 ,0.12745 ,0.12745 ,0.12601 ,0.12601 ,0.12464 ,0.12464 ,0.12327 ,0.12327 ,0.12197 ,0.12197 ,0.12071 ,0.12071 ,0.11949 ,0.11949 ,0.11831 ,0.11831 ,0.11716 ,0.11716 ,0.11604 ,0.11604 ,0.11496)
X0.025 <- c(0.475 ,0.50855 ,0.46702 ,0.44641 ,0.42174 ,0.40045 ,0.38294 ,0.3697 ,0.35277 ,0.34022 ,0.32894 ,0.31869 ,
0.30935 ,0.30081 ,0.29296 ,0.2857 ,0.27897 ,0.2727 ,0.26685 ,0.26137 ,0.25622 ,0.25136 ,0.24679 ,0.24245 ,0.23835 ,0.23445 ,0.23074 ,0.22721 ,0.22383 ,0.22061 ,0.21752 ,0.21457 ,0.21173 ,0.20901 ,0.20639 ,0.20337 ,0.20144 ,0.1991 ,0.19684 ,0.19465 ,0.19254 ,0.1905 ,0.18852 ,0.18661 ,0.18475 ,0.18205 ,0.1812 ,0.1795 ,0.17785 ,0.17624 ,0.17468 ,0.17361 ,0.17168 ,0.17024 ,0.16884 ,0.16748 ,0.16613 ,0.16482 ,0.16355 ,0.1623 ,0.1623 ,0.1599 ,0.1599 ,0.1576 ,0.1576 ,0.1554 ,0.1554 ,0.15329 ,0.15329 ,0.15127 ,0.15127 ,0.14932 ,0.14932 ,0.14745 ,0.14745 ,0.14565 ,0.14565 ,0.14392 ,0.14392 ,0.14224 ,0.14224 ,0.14063 ,0.14063 ,0.13907 ,0.13907 ,0.13756 ,0.13756 ,0.1361 ,0.1361 ,0.13468 ,0.13468 ,0.13331 ,0.13331 ,0.13198 ,0.13198 ,0.1307 ,0.1307 ,0.12944 ,0.12944 ,0.12823)
X0.01 <- c( 0.49 ,0.56667 ,0.53456 ,0.50495 ,0.47629 ,0.4544 ,0.43337 ,0.41522 ,0.39922 ,0.38481 ,0.37187 ,0.36019 ,0.34954 ,0.3398 ,0.33083 ,0.32256 ,0.31489 ,0.30775 ,0.30108 ,0.29484 ,0.28898 ,0.28346 ,0.27825 ,0.27333 ,0.26866 ,0.26423 ,0.26001 ,0.256 ,0.25217 ,0.24851 ,0.24501 ,0.24165 ,0.23843 ,0.23534 ,0.23237 ,0.22951 ,0.22676 ,0.2241 ,0.22154 ,0.21906 ,0.21667 ,0.21436 ,0.21212 ,0.20995 ,0.20785 ,0.20581 ,0.20383 ,0.2119 ,0.20003 ,0.19822 ,0.19645 ,0.19473 ,0.19305 ,0.19142 ,0.18983 ,0.18828 ,0.18677 ,0.18529 ,0.18385 ,0.18245 ,0.18245 ,0.17973 ,0.17973 ,0.17713 ,0.17713 ,0.17464 ,0.17464 ,0.17226 ,0.17226 ,0.16997 ,0.16997 ,0.16777 ,0.16777 ,0.16566 ,0.16566 ,0.16363 ,0.16363 ,0.16167 ,0.16167 ,0.15978 ,0.15978 ,0.15795 ,0.15795 ,0.15619 ,0.15619 ,0.15449 ,0.15449 ,0.15284 ,0.15284 ,0.15124 ,0.15124 ,0.1497 ,0.1497 ,0.1482 ,0.1482 ,0.14674 ,0.14674 ,0.14533 ,0.14533 ,0.14396)
X0.005 <- c(0.495 ,0.59596 ,0.579 ,0.5421 ,0.51576 ,0.48988 ,0.4671 ,0.44819 ,0.43071 ,0.41517 ,0.40122 ,0.38856 ,0.37703 ,0.36649 ,0.35679 ,0.34784 ,0.33953 ,0.33181 ,0.32459 ,0.31784 ,0.31149 ,0.30552 ,0.29989 ,0.29456 ,0.28951 ,0.28472 ,0.28016 ,0.27582 ,0.27168 ,0.26772 ,0.26393 ,0.2603 ,0.25348 ,0.25348 ,0.25027 ,0.24718 ,0.24421 ,0.24134 ,0.23857 ,0.23589 ,0.2331 ,0.23081 ,0.22839 ,0.22605 ,0.22377 ,0.22377 ,0.21943 ,0.21753 ,0.21534 ,0.21337 ,0.21146 ,0.20961 ,0.2078 ,0.20604 ,0.20432 ,0.20265 ,0.20101 ,0.19942 ,0.19786 ,0.19635 ,0.19635 ,0.19341 ,0.19341 ,0.19061 ,0.19061 ,0.18792 ,0.18792 ,0.18534 ,0.18534 ,0.18288 ,0.18288 ,0.18051 ,0.18051 ,0.17823 ,0.17823 ,0.17188 ,0.17188 ,0.17392 ,0.17392 ,0.17188 ,0.17188 ,0.16992 ,0.16992 ,0.16802 ,0.16802 ,0.16618 ,0.16618 ,0.1644 ,0.1644 ,0.16268 ,0.16268 ,0.16101 ,0.16101 ,0.1594 ,0.1594 ,0.15783 ,0.15783 ,0.15631 ,0.15631 ,0.15483)
TestD <- data.frame(X0.1,X0.05,X0.025,X0.01,X0.005)
Realiza una prueba estadística para estudiar la dependencia serial sobre el periodograma acumulado de \(y\), con una significación de 0,1(significance=1); 0,05(significance=2); 0,025(significance=3); 0,01(significance=4) y 0,005 (significance=5) (Durbin; 1969)
El test de Durbin esta basado en el siguiente estadístico:
\(s_j=\frac{\sum_{r=1}^j p_r}{\sum_{r=1}^m p_r}\) (11)
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\)
td <- function(y,significance) {
# Author: Francisco Parra Rodríguez
# Some ideas from:
#Harvey, A.C. (1978), Linear Regression in the Frequency Domain, International Economic Review, 19, 507-512.
# DURBIN, J., "Tests for Serial Correlation in Regression Analysis based on the Periodogram ofLeast-Squares Residuals," Biometrika, 56, (No. 1, 1969), 1-15.
# http://econometria.wordpress.com/2013/08/21/estimation-of-time-varying-regression-coefficients/
per <- periodograma(y)
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 > 100) n <- 100
if (significance==1) c<- c(TestD[n,1]) else {if (significance==2) c <- c(TestD[n,2]) else {if (significance==3) c <- c(TestD[n,3]) else {if (significance==4) c <- c(TestD[n,4])
c <- c(TestD[n,5])}}}
min <- -c+(t/length(p))
max <- c+(t/length(p))
data.frame(s2,min,max)
}
Presenta gráficamente los resultados de la prueba de Durbin (Durbin; 1969) :
gtd <- function (y,significance) {
S <- td(y,significance)
plot(ts(S), plot.type="single", lty=1:3,main = "Test Durbin",
ylab = "densidad acumulada",
xlab="frecuencia")
}
Realiza la regresión en el dominio de la frecuencia de los vectores \(x\) e \(y\), seleccionando las frecuencias más relevantes a partir del co-espectro y del test Durbin (1969).
Consideramos ahora el modelo de regresión siguiente:
\(y_t=\beta_tx_t+u_t\) (12)
donde \(x_t\) es un vector \(n x 1\) de observaciones de las variable independiente, \(\beta_t\) es un vector de n x 1 parámetros, \(y_t\) es un vector de \(n x 1\) observaciones de la variable dependiente, y \(u_t\) es un vector de errores distribuidos con media cero y varianza constante.
Definida la matriz \(W\),cuyo elemento \((t, s)\) viene dado por
\(w_{ts}=\frac{1}{\sqrt n} e^{i\lambda_t s},s= 0,1,...,n-1\)
donde \(\lambda_t = 2\pi \frac {t}n\), \(t=0,1,.,n-1\), y \(i=\sqrt{-1}\). (13)
Considerando que series, \(y_t\),\(x_t\),\(\beta_t\) y \(u_t\), responden a un esquema de Series de Fourier:
\(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)]\) (14)
Obtenemos el sistema en el dominio de la frecuencia pre-multiplicando (12) por \(W\)
\(\dot y=\dot x\dot\beta+\dot u\) (15)
donde \(\dot y = Wy\),\(\dot x = Wx\), \(\dot \beta = W\beta\) y \(\dot u = Wu\)
El sistema (15) puede reescribirse como:
\(\dot y=Wx_tI_nW^T\dot \beta + WI_nW^T\dot u\) (16)
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\).
Una vez encontrada la solución a dicha optimización, se transformarían las series al dominio del tiempo para obtener el sistema (12).
El algoritmo de cálculo se realiza en las siguientes fases:
Sea \(x\) un vector n x 1 el modelo transformado en el dominio de la frecuencia esta dado por:
\(\hat x= Wx\)
Sea \(y\) un vector n x 1 el modelo transformado en el dominio de la frecuencia esta dado por:
\(\hat y= Wy\)
Denominando \(p_j\) el ordinal del cross-periodograma de \(\hat x\) y \(\hat y\) en la frecuencia \(\lambda_j=2\pi j/n\), y \(\hat x_j\) el j-th elemento de \(\hat x\) y \(\hat y_j\) el j-th elemento de \(\hat y\), entonces
\[ \left\lbrace \begin{array}{ll} p_j=\hat x_{2j}\hat y_{2j}+\hat x_{2j+1}\hat y_{2j+1} & \forall j = 1,...\frac{n-1}{2}\\ p_j=\hat x_{2j}\hat y_{2j}& \forall j = \frac{n}{2}-1 \end{array} \right . \]
\[p_0=\hat x_{1}\hat y_{1}\]
Ordena el co-espectro en base al valor absoluto de \(p_j\) y genera un índice en base a ese orden para cada coeficiente de fourier.
Calcula la matriz \(Wx_tI_nW^T\) y la ordena en base al índice anterior.
Obtiene \(\dot e=WI_nW^T\dot u\), incluyendo el vector correspondiente al parámetro constante, \((1,0,...0)^n\), y calcula el modelo utilizando los dos primeros regresores de la matriz \(Wx_tI_nW^T\) reordenada y ampliadas, calcula el modelo para los 4 primeros, para los 6 primeros, hasta completar los \(n\) regresores de la matriz.
Realiza el test de durbin a los modelos estimados, y selecciona aquellos en donde los \(e_t=W^T\dot e\) están dentro de las bandas elegidas a los niveles de significación \(\alpha=0.1;0.05;0.025;0.01;0.005\).
De todos ellos elige aquel que tiene menos regresores. Si no encuentra modelo devuelve el lineal básico.
rdf <- function (y,x,significance) {
# Author: Francisco Parra Rodríguez
# http://rpubs.com/PacoParra/24432
# Leemos datos en forma matriz
a <- matrix(y, nrow=1)
b <- matrix(x, nrow=1)
n <- length(a)
# calculamos el cros espectro mediante la funcion cperiodograma
cperiodograma <- function(y,x) {
# Author: Francisco Parra Rodríguez
# http://econometria.wordpress.com/2013/08/21/estimation-of-time-varying-regression-coefficients/
cfx <- gdf(y)
n <- length(y)
cfy <- gdf(x)
if (n%%2==0) {
m1x <- c(0)
m2x <- c()
for(i in 1:n){
if(i%%2==0) m1x <-c(m1x,cfx[i]) else m2x <-c(m2x,cfx[i])}
m2x <- c(m2x,0)
m1y <- c(0)
m2y <- c()
for(i in 1:n){
if(i%%2==0) m1y <-c(m1y,cfy[i]) else m2y <-c(m2y,cfy[i])}
m2y <-c(m2y,0)
frecuencia <- seq(0:(n/2))
frecuencia <- frecuencia-1
omega <- pi*frecuencia/(n/2)
periodos <- n/frecuencia
densidad <- (m1x*m1y+m2x*m2y)/(4*pi)
tabla <- data.frame(omega,frecuencia, periodos,densidad)
tabla$densidad[(n/2+1)] <- 4*tabla$densidad[(n/2+1)]
data.frame(tabla[2:(n/2+1),])}
else {m1x <- c(0)
m2x <- c()
for(i in 1:(n-1)){
if(i%%2==0) m1x <-c(m1x,cfx[i]) else m2x <-c(m2x,cfx[i])}
m2x <-c(m2x,cfx[n])
m1y <- c(0)
m2y <- c()
for(i in 1:(n-1)){
if(i%%2==0) m1y <-c(m1y,cfy[i]) else m2y <-c(m2y,cfy[i])}
m2y <-c(m2y,cfy[n])
frecuencia <- seq(0:((n-1)/2))
frecuencia <- frecuencia-1
omega <- pi*frecuencia/(n/2)
periodos <- n/frecuencia
densidad <- (m1x*m1y+m2x*m2y)/(4*pi)
tabla <- data.frame(omega,frecuencia, periodos,densidad)
data.frame(tabla[2:((n+1)/2),])}
}
cper <- cperiodograma(a,b)
# Ordenamos de mayor a menor las densidades absolutas del periodograma, utilizando la funcion "sort.data.frame" function, Kevin Wright. Package taRifx
S1 <- data.frame(f1=cper$frecuencia,p=abs(cper$densidad))
S <- S1[order(-S1$p),]
id <- seq(2,n)
m1 <- cbind(S$f1*2,evens(id))
if (n%%2==0) {m2 <- cbind(S$f1[1:(n/2-1)]*2+1,odds(id))} else
{m2 <- cbind(S$f1*2+1,odds(id))}
m <- rbind(m1,m2)
colnames(m) <- c("f1","id")
M <- sort.data.frame (m,formula=~id)
M <- rbind(c(1,1),M)
# Obtenemos la funcion auxiliar (cdf) del predictor y se ordena segun el indice de las mayores densidades absolutas del co-espectro.
cx <- cdf(b)
id <- seq(1,n)
S1 <- data.frame(cx,c=id)
S2 <- merge(M,S1,by.x="id",by.y="c")
S3 <- sort.data.frame (S2,formula=~f1)
m <- n+2
X1 <- S3[,3:m]
X1 <- rbind(C=c(1,rep(0,(n-1))),S3[,3:m])
# Se realizan las regresiones en el dominio de la frecuencia utilizando un modelo con constante, pendiente y los arm?nicos correspondientes a las frecuencias mas altas de la densidad del coespectro. Se realiza un test de durbin para el residuo y se seleccionan aquellas que son significativas.
par <- evens(id)
i <- 1
D <- 1
resultado <- cbind(i,D)
for (i in par) {
X <- as.matrix(X1[1:i,])
cy <- gdf(a)
B1 <- solve(X%*%t(X))%*%(X%*%cy)
Y <- t(X)%*%B1
F <- gdt(Y)
res <- (t(a) - F)
T <- td(res,significance)
L <- as.numeric(c(T$min<T$s2,T$s2<T$max))
LT <- sum(L)
if (n%%2==0) {D=LT-n} else {D=LT-(n-1)}
resultado1 <- cbind(i,D)
resultado <- rbind(resultado,resultado1)
resultado}
resultado2 <-data.frame(resultado)
criterio <- resultado2[which(resultado2$D==0),]
sol <- as.numeric(is.na(criterio$i[1]))
if (sol==1) {
X <- as.matrix(X1[1:2,])
cy <- gdf(a)
B1 <- solve(X%*%t(X))%*%(X%*%cy)
Y <- t(X)%*%B1
F <- gdt(Y)
res <- (t(a) - F)
datos <- data.frame(cbind(t(a),t(b),F,res))
colnames(datos) <- c("Y","X","F","res")
list(datos=datos,Fregresores=t(X),Tregresores= t(MW(n))%*%t(X),Nregresores=criterio$i[1],Betas=B1) } else {
X <- as.matrix(X1[1:criterio$i[1],])
cy <- gdf(a)
B1 <- solve(X%*%t(X))%*%(X%*%cy)
Y <- t(X)%*%B1
F <- gdt(Y)
res <- (t(a) - F)
datos <- data.frame(cbind(t(a),t(b),F,res))
colnames(datos) <- c("Y","X","F","res")
list(datos=datos,Fregresores=t(X),Tregresores= t(MW(n))%*%t(X),Nregresores=criterio$i[1],Betas=B1)}
}
Encuesta de presupuestos familiares
La Encuesta de presupuestos familiares (EPF) suministra información anual sobre la naturaleza y destino de los gastos de consumo, así como sobre diversas características relativas a las condiciones de vida de los hogares.
Los gastos de consumo que se registran en la EPF 2006 se refieren no sólo al flujo monetario que destina el hogar y cada uno de sus miembros al pago de determinados bienes y servicios, considerados como bienes y servicios de consumo final, sino también al valor de los consumos efectuados por los hogares en concepto de autoconsumo, autosuministro, salario en especie, comidas gratuitas o bonificadas y alquiler imputado a la vivienda en la que reside el hogar (cuando es propietario de la misma o la tiene cedida gratuita o semigratuitamente por otros hogares o instituciones).
El gasto en consumo final de los hogares se registra a precios de adquisición, es decir, al precio que debería pagar efectivamente el comprador por los productos en el momento de la compra y según su precio al contado. Se recoge el importe real de los gastos en bienes y servicios, más todo gasto añadido que hubiera sido provocado por su compra (por ejemplo las propinas). El gasto en un bien debe registrarse en el momento en que tiene lugar el cambio de propiedad y el gasto en un servicio, en general, cuando se completa la prestación del mismo.
En cuanto a ingresos se investigan los ingresos regulares mensuales del hogar tanto en valor puntual como en intervalo, así como los tipos de fuentes de ingresos para cada hogar, también se recoge el número de miembros del hogar que son perceptores de ingresos.
El tamaño de muestra es de aproximadamente 24.000 hogares al año.
Las variables de ingresos y gastos recogidas en el fichero de microdatos son:
GASTOT:Importe total del gasto anual del hogar monetario y no monetario, elevado temporal y poblacionalmente) (para el salario en especie se contabiliza tanto el importe del pago realizado como la bonificación recibida).
GASTMON:Importe total del gasto monetario anual del hogar elevado temporal y poblacionalmente. (para el salario en especie se contabiliza sólo el importe del pago realizado por el hogar).
IMPEXAC: Importe exacto de los ingresos mensuales netos totales del hogar.
Se leen los datos de ingresos y gastos de hogares del fichero de microdatos de la Encuesta de Presupuestos Familiares de 2006 a 2014. Base 2006.
setwd("~/Word Press/Econometria aplicada/funcion de consumo spain")
library(foreign)
ecpf<- read.spss("hogar2006.sav")
## Warning in read.spss("hogar2006.sav"): hogar2006.sav: Unrecognized record
## type 7, subtype 18 encountered in system file
datos <- data.frame(PERIODO=2006,ING=ecpf$IMPEXAC,GAST=ecpf$GASTOT/(12*ecpf$FACTOR))
ecpf<- read.spss("hogar2007.sav")
## Warning in read.spss("hogar2007.sav"): hogar2007.sav: Unrecognized record
## type 7, subtype 18 encountered in system file
datos1 <- data.frame(PERIODO=2007,ING=ecpf$IMPEXAC,GAST=ecpf$GASTOT/(12*ecpf$FACTOR))
datos <- rbind(datos,datos1)
ecpf<- read.spss("hogar2008.sav")
## Warning in read.spss("hogar2008.sav"): hogar2008.sav: Unrecognized record
## type 7, subtype 18 encountered in system file
datos1 <- data.frame(PERIODO=2008,ING=ecpf$IMPEXAC,GAST=ecpf$GASTOT/(12*ecpf$FACTOR))
datos <- rbind(datos,datos1)
ecpf<- read.spss("hogar2009.sav")
## Warning in read.spss("hogar2009.sav"): hogar2009.sav: Unrecognized record
## type 7, subtype 18 encountered in system file
datos1 <- data.frame(PERIODO=2009,ING=ecpf$IMPEXAC,GAST=ecpf$GASTOT/(12*ecpf$FACTOR))
datos <- rbind(datos,datos1)
ecpf<- read.spss("hogar2010.sav")
## Warning in read.spss("hogar2010.sav"): hogar2010.sav: Unrecognized record
## type 7, subtype 18 encountered in system file
datos1 <- data.frame(PERIODO=2010,ING=ecpf$IMPEXAC,GAST=ecpf$GASTOT/(12*ecpf$FACTOR))
datos <- rbind(datos,datos1)
library(MicroDatosEs)
## Warning: package 'MicroDatosEs' was built under R version 3.2.4
## Loading required package: memisc
## Warning: package 'memisc' was built under R version 3.2.4
## Loading required package: lattice
## Loading required package: MASS
##
## Attaching package: 'memisc'
##
## The following objects are masked from 'package:stats':
##
## contr.sum, contr.treatment, contrasts
##
## The following object is masked from 'package:base':
##
## as.array
##
## Loading required package: Hmisc
## Warning: package 'Hmisc' was built under R version 3.2.4
## Loading required package: survival
## Loading required package: Formula
## Warning: package 'Formula' was built under R version 3.2.3
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 3.2.4
##
## Attaching package: 'Hmisc'
##
## The following objects are masked from 'package:memisc':
##
## %nin%, html
##
## The following objects are masked from 'package:base':
##
## format.pval, round.POSIXt, trunc.POSIXt, units
ecpf <- epf.2011.hogares("Fichero de usuario de hogar a2011.txt")
datos1 <- data.frame(PERIODO=2011,ING=ecpf$impexac,GAST=ecpf$gastot/(12*ecpf$factor/10000))
datos <- rbind(datos,datos1)
ecpf <- epf.2011.hogares("Fichero de usuario de hogar a2012.txt")
datos1 <- data.frame(PERIODO=2012,ING=ecpf$impexac,GAST=ecpf$gastot/(12*ecpf$factor/10000))
datos <- rbind(datos,datos1)
ecpf <- epf.2011.hogares("Fichero de usuario de hogar a2013.txt")
datos1 <- data.frame(PERIODO=2013,ING=ecpf$impexac,GAST=ecpf$gastot/(12*ecpf$factor/10000))
datos <- rbind(datos,datos1)
ecpf <- epf.2011.hogares("Fichero de usuario de hogar a2014.txt")
datos1 <- data.frame(PERIODO=2014,ING=ecpf$impexac,GAST=ecpf$gastot/(12*ecpf$factor/10000))
datos <- rbind(datos,datos1)
rm (ecpf,datos1)
Estimación de una Función de Consumo para España
Se realiza una estimación por Minimo cuadrado ordinario en cada año, con los datos de hogares.
p1 <- c(seq(2006,2014))
resultados <- data.frame(Periodo=NA,constante=NA,inferior_c=NA,superior_c=NA,pendiente=NA,inferior_p=NA,superior_p=NA)
for (m in p1) {
datos1 <- subset(datos,datos$PERIODO==m)
resultados1 <- data.frame(Periodo=m,constante=lm(datos1$GAST~datos1$ING)$coefficients[1],inferior_c=confint(lm(datos1$GAST~datos1$ING))[1,1],superior_c=confint(lm(datos1$GAST~datos1$ING))[1,2],pendiente=lm(datos1$GAST~datos1$ING)$coefficients[2],inferior_p=confint(lm(datos1$GAST~datos1$ING))[2,1],superior_p=confint(lm(datos1$GAST~datos1$ING))[2,2])
resultados <- rbind(resultados,resultados1)}
resultados_mco <- resultados[2:10,]
rm(datos1,resultados,resultados1,m)
resultados_mco
## Periodo constante inferior_c superior_c pendiente inferior_p
## (Intercept) 2006 1041.6130 1007.5873 1075.6386 0.8359201 0.8202580
## (Intercept)1 2007 1236.0411 1202.8833 1269.1990 0.7396383 0.7259316
## (Intercept)2 2008 1245.5031 1213.6239 1277.3824 0.7164106 0.7037296
## (Intercept)3 2009 1154.2413 1125.1694 1183.3131 0.7047624 0.6930620
## (Intercept)4 2010 1023.3760 995.2508 1051.5013 0.7749413 0.7631481
## (Intercept)5 2011 998.6459 970.6792 1026.6127 0.7626468 0.7510122
## (Intercept)6 2012 934.3878 907.4581 961.3174 0.7829814 0.7712692
## (Intercept)7 2013 1027.4807 1001.9602 1053.0013 0.7050853 0.6940002
## (Intercept)8 2014 1000.1544 974.8655 1025.4434 0.7130107 0.7020079
## superior_p
## (Intercept) 0.8515823
## (Intercept)1 0.7533450
## (Intercept)2 0.7290916
## (Intercept)3 0.7164628
## (Intercept)4 0.7867345
## (Intercept)5 0.7742815
## (Intercept)6 0.7946936
## (Intercept)7 0.7161704
## (Intercept)8 0.7240135
plot.ts(ts(resultados_mco[,2:4],start=2006),plot.type = "single",ylab="Constante")
title("constante modelo MCO")
plot.ts(ts(resultados_mco[,5:7],start=2006),plot.type = "single",ylab="PMgC")
title("pendiente modelo MCO")
Detectar y eliminar outlier
library(car)
## Warning: package 'car' was built under R version 3.2.3
##
## Attaching package: 'car'
##
## The following object is masked from 'package:memisc':
##
## recode
datos.d <- subset(datos,datos$PERIODO==2006)
out <- outlierTest(lm(datos.d$GAST~datos.d$ING))
quitar <- c(-as.numeric(names(out$p)))
for (n in quitar)
datos.d <- datos.d[n,]
p2 <- c(seq(2007,2014))
for (m in p2) {
datos.d1 <- subset(datos,datos$PERIODO==m)
out <- outlierTest(lm(datos.d1$GAST~datos.d1$ING))
quitar <- c(-as.numeric(names(out$p)))
for (n in quitar)
datos.d1 <- datos.d1[n,]
datos.d <- rbind(datos.d,datos.d1)}
rm(datos.d1,m,n,quitar,out)
Resultados de la estimación MCO, con las medias de cada percentil ó clase.
## Warning: package 'gtools' was built under R version 3.2.3
##
## Attaching package: 'gtools'
##
## The following object is masked from 'package:car':
##
## logit
## Warning in rm(datos1, resultados, resultados1, m, ingpch.perc,
## gaperc.perc, : objeto 'datos1' no encontrado
## Periodo constante inferior_c superior_c pendiente inferior_p
## (Intercept) 2006 980.7782 895.9996 1065.557 0.8688477 0.8295451
## (Intercept)1 2007 1182.6617 1032.4316 1332.892 0.7654785 0.7028550
## (Intercept)2 2008 1143.6819 1032.2211 1255.143 0.7637576 0.7189156
## (Intercept)3 2009 1146.8966 1039.9162 1253.877 0.7079406 0.6647251
## (Intercept)4 2010 1010.4866 929.3357 1091.637 0.7809256 0.7467701
## (Intercept)5 2011 1001.0571 927.4211 1074.693 0.7607002 0.7299817
## (Intercept)6 2012 926.4612 864.1565 988.766 0.7862678 0.7591247
## (Intercept)7 2013 990.9218 905.5520 1076.292 0.7244576 0.6871237
## (Intercept)8 2014 970.9395 890.9448 1050.934 0.7259245 0.6909965
## superior_p
## (Intercept) 0.9081503
## (Intercept)1 0.8281020
## (Intercept)2 0.8085997
## (Intercept)3 0.7511562
## (Intercept)4 0.8150811
## (Intercept)5 0.7914187
## (Intercept)6 0.8134108
## (Intercept)7 0.7617915
## (Intercept)8 0.7608525
En los análisis con datos en percentiles o clases, los aumentos (disminuciones) del término constante explicarían un aumento (disminución) del consumo en todas las clases, los cambios en la pendiente se deberían a cambios en el patrón de consumo diferenciados entre las distintas clases, mayores aumentos en el consumo sobre la renta de los percentiles o clases más elevados ó mayores dismunuciones en el consumo sobre la renta de los percentiles más bajos acabarían haciendo más pendiente la propensión marginal al consumo del conjunto de los hogares, en tanto que mayores aumentos del consumo sobre la renta de los percentiles o clases más bajos y menores aumentos del consumo sobre la renta en los percentiles de las clases más altas, acabarían haciendo menos pendiente la propensión marginal al consumo del conjunto de los hogares.
Resultados regresión GLM con cifras medias de percentiles o clases.
## Warning in rm(datos1, resultados, resultados1, m, ingpch.perc,
## gaperc.perc, : objeto 'datos1' no encontrado
## Periodo constante inferior_c superior_c pendiente inferior_p
## (Intercept) 2006 648.6570 596.4190 700.8951 1.0747868 1.0344669
## (Intercept)1 2007 684.3860 606.3644 762.4076 1.0422232 0.9875403
## (Intercept)2 2008 798.1348 725.3655 870.9041 0.9465843 0.8996296
## (Intercept)3 2009 846.7183 779.0948 914.3418 0.8666048 0.8234746
## (Intercept)4 2010 806.2001 743.2816 869.1185 0.8928031 0.8513563
## (Intercept)5 2011 814.2859 760.8602 867.7116 0.8628061 0.8276667
## (Intercept)6 2012 824.3998 772.7705 876.0291 0.8431167 0.8083775
## (Intercept)7 2013 839.5486 787.9132 891.1840 0.8092264 0.7739427
## (Intercept)8 2014 802.9285 748.4361 857.4210 0.8202891 0.7827018
## superior_p
## (Intercept) 1.1151067
## (Intercept)1 1.0969062
## (Intercept)2 0.9935390
## (Intercept)3 0.9097350
## (Intercept)4 0.9342499
## (Intercept)5 0.8979456
## (Intercept)6 0.8778558
## (Intercept)7 0.8445100
## (Intercept)8 0.8578764
Resultados regresión RBS con percentiles o clases.
## Warning: package 'descomponer' was built under R version 3.2.3
## Loading required package: taRifx
## Warning: package 'taRifx' was built under R version 3.2.3
##
## Attaching package: 'taRifx'
##
## The following object is masked from 'package:memisc':
##
## sort.data.frame
## Periodo constante inferior_c superior_c pendiente
## res$TregresoresC 2006 768.7415 691.4411 846.0419 0.9825804
## res$TregresoresC1 2007 1047.1672 864.5458 1229.7886 0.7704703
## res$TregresoresC2 2008 990.2893 862.6680 1117.9106 0.8081658
## res$TregresoresC3 2009 1125.8304 1019.3721 1232.2886 0.6628977
## res$TregresoresC4 2010 981.4018 860.2623 1102.5413 0.7612747
## res$TregresoresC5 2011 971.8439 872.6794 1071.0084 0.7417281
## res$TregresoresC6 2012 951.9177 854.6148 1049.2206 0.7410767
## res$TregresoresC7 2013 1185.7842 1061.1587 1310.4098 0.5398654
## res$TregresoresC8 2014 1020.4214 931.3366 1109.5061 0.6445315
## inferior_p superior_p
## res$TregresoresC 0.9328066 1.0323542
## res$TregresoresC1 0.6467789 0.8941618
## res$TregresoresC2 0.7283537 0.8879779
## res$TregresoresC3 0.5942800 0.7315155
## res$TregresoresC4 0.6820166 0.8405328
## res$TregresoresC5 0.6763065 0.8071497
## res$TregresoresC6 0.6763228 0.8058305
## res$TregresoresC7 0.4551715 0.6245594
## res$TregresoresC8 0.5840866 0.7049764
Resultados regresión RBS y GLM con percentiles o clases.
## Periodo constante inferior_c superior_c pendiente
## res$TregresoresC 2006 645.3225 608.6997 681.9453 1.0728863
## res$TregresoresC1 2007 862.8893 771.2071 954.5715 0.9037576
## res$TregresoresC2 2008 941.4491 876.6259 1006.2723 0.8399290
## res$TregresoresC3 2009 1111.7966 1048.2879 1175.3053 0.6719483
## res$TregresoresC4 2010 1027.7086 963.2622 1092.1551 0.7276098
## res$TregresoresC5 2011 989.4293 930.4933 1048.3652 0.7294536
## res$TregresoresC6 2012 979.3238 921.2797 1037.3679 0.7212353
## res$TregresoresC7 2013 1034.1177 971.1029 1097.1326 0.6524279
## res$TregresoresC8 2014 964.0163 906.7294 1021.3032 0.6862163
## inferior_p superior_p
## res$TregresoresC 1.0435764 1.1021962
## res$TregresoresC1 0.8367378 0.9707774
## res$TregresoresC2 0.7959348 0.8839233
## res$TregresoresC3 0.6286964 0.7152001
## res$TregresoresC4 0.6827954 0.7724243
## res$TregresoresC5 0.6879607 0.7709465
## res$TregresoresC6 0.6794972 0.7629734
## res$TregresoresC7 0.6061938 0.6986620
## res$TregresoresC8 0.6439626 0.7284699
Oscilaciones inter-clases en torno a la PMC
Se elaboran bases de datos con las propensiones medias y marginales calculadas para los percentiles, las propensiones medias resultan se obtienes en las estimaciones a partir de \(\frac{\hat c_s}{c_s}\), las marginales en el modelo MCO \(\frac {\hat b y_s}{c_s}\) y en el RBS \(\frac {\hat c_s - \hat a}{c_s}\).
# Obtención de las propensiones medias al consumo por percentiles
per <- c(0.01)
PMeC <- data.frame(periodo=NA,percentil=NA,observado=NA,estimado_MCO=NA,estimado_RBS=NA)
for (m in p1) {datos.d1 <- subset(datos.d,datos.d$PERIODO==m)
datos.d1$perc <- quantcut(datos.d1$ING,q=seq(0,1,by=per))
ingpch.perc <- tapply(datos.d1$ING,datos.d1$perc,mean)
gaperc.perc <- tapply(datos.d1$GAST,datos.d1$perc,mean)
y <- as.numeric(gaperc.perc)
x <- as.numeric(ingpch.perc)
res <- rdf(y,x,3)
PMeC1 <- data.frame(periodo=m,percentil=seq(1,1/per,by=1),observado=gaperc.perc/ingpch.perc,estimado_MCO=lm(gaperc.perc~ingpch.perc)$fitted/ingpch.perc, estimado_RBS=res$datos$F/ingpch.perc)
PMeC <- rbind(PMeC,PMeC1)}
PMeC <- PMeC[2:901,]
# Obtención de las propensiones marginales al consumo por percentiles con glm
per <- c(0.01)
PMgC <- data.frame(periodo=NA,percentil=NA,estimado_RBS=NA,estimado_RBS_GLM=NA)
for (m in p1) {datos.d1 <- subset(datos.d,datos.d$PERIODO==m)
datos.d1$perc <- quantcut(datos.d1$ING,q=seq(0,1,by=per))
ingpch.perc <- tapply(datos.d1$ING,datos.d1$perc,mean)
gaperc.perc <- tapply(datos.d1$GAST,datos.d1$perc,mean)
y <- as.numeric(gaperc.perc)
x <- as.numeric(ingpch.perc)
res <- rdf(y,x,3)
PMgC1<- data.frame(periodo=m,percentil=seq(1,1/per,by=1), estimado_RBS=(res$datos$F-(res$Betas[1]*res$Tregresores[1]))/ingpch.perc,estimado_RBS_GLM=(glm(gaperc.perc ~ 0 + res$Tregresores,family=Gamma(link="identity"))$fitted.values-glm(gaperc.perc ~ 0 + res$Tregresores,family=Gamma(link="identity"))$coefficients[1]*res$Tregresores[1])/ingpch.perc)
PMgC <- rbind(PMgC,PMgC1)}
PMgC <- PMgC[2:901,]
rm(PMeC1,PMgC1,m,ingpch.perc,gaperc.perc,datos.d1,per,y,x,res)
# gráficos PMeC: observados
plot(subset(PMeC$percentil,PMeC$periodo==2006),subset(PMeC$observado,PMeC$periodo==2006),type="l",col=1,main="Propensión media al consumo",xlab="Percentiles",ylab="PMeC")
lines(subset(PMeC$percentil,PMeC$periodo==2007),subset(PMeC$observado,PMeC$periodo==2007),col=2)
lines(subset(PMeC$percentil,PMeC$periodo==2008),subset(PMeC$observado,PMeC$periodo==2008),col=3)
lines(subset(PMeC$percentil,PMeC$periodo==2009),subset(PMeC$observado,PMeC$periodo==2009),col=4)
lines(subset(PMeC$percentil,PMeC$periodo==2010),subset(PMeC$observado,PMeC$periodo==2010),col=5)
lines(subset(PMeC$percentil,PMeC$periodo==2011),subset(PMeC$observado,PMeC$periodo==2011),col=6)
lines(subset(PMeC$percentil,PMeC$periodo==2012),subset(PMeC$observado,PMeC$periodo==2012),col=7)
lines(subset(PMeC$percentil,PMeC$periodo==2013),subset(PMeC$observado,PMeC$periodo==2013),col=8)
lines(subset(PMeC$percentil,PMeC$periodo==2014),subset(PMeC$observado,PMeC$periodo==2014),col=9)
legend("top", ncol=9,c("2006","2007","2008","2009","2010","2011","2012","2013","2014"),cex=0.6,bty="n",fill=c(1,2,3,4,5,6,7,8,9))
# gráficos PMeC: estimado MCO
plot(subset(PMeC$percentil,PMeC$periodo==2006),subset(PMeC$estimado_MCO,PMeC$periodo==2006),type="l",col=1,main="Propensión media al consumo estimada en el modelo MCO",xlab="Percentiles",ylab="PMeC")
lines(subset(PMeC$percentil,PMeC$periodo==2007),subset(PMeC$estimado_MCO,PMeC$periodo==2007),col=2)
lines(subset(PMeC$percentil,PMeC$periodo==2008),subset(PMeC$estimado_MCO,PMeC$periodo==2008),col=3)
lines(subset(PMeC$percentil,PMeC$periodo==2009),subset(PMeC$estimado_MCO,PMeC$periodo==2009),col=4)
lines(subset(PMeC$percentil,PMeC$periodo==2010),subset(PMeC$estimado_MCO,PMeC$periodo==2010),col=5)
lines(subset(PMeC$percentil,PMeC$periodo==2011),subset(PMeC$estimado_MCO,PMeC$periodo==2011),col=6)
lines(subset(PMeC$percentil,PMeC$periodo==2012),subset(PMeC$estimado_MCO,PMeC$periodo==2012),col=7)
lines(subset(PMeC$percentil,PMeC$periodo==2013),subset(PMeC$estimado_MCO,PMeC$periodo==2013),col=8)
lines(subset(PMeC$percentil,PMeC$periodo==2014),subset(PMeC$estimado_MCO,PMeC$periodo==2014),col=9)
legend("top", ncol=9,c("2006","2007","2008","2009","2010","2011","2012","2013","2014"),cex=0.6,bty="n",fill=c(1,2,3,4,5,6,7,8,9))
# gráficos PMeC: estimado RBS
plot(subset(PMeC$percentil,PMeC$periodo==2006),subset(PMeC$estimado_RBS,PMeC$periodo==2006),type="l",col=1,main="Propensión media al consumo estimada en el modelo RBD",xlab="Percentiles",ylab="PMeC")
lines(subset(PMeC$percentil,PMeC$periodo==2007),subset(PMeC$estimado_RBS,PMeC$periodo==2007),col=2)
lines(subset(PMeC$percentil,PMeC$periodo==2008),subset(PMeC$estimado_RBS,PMeC$periodo==2008),col=3)
lines(subset(PMeC$percentil,PMeC$periodo==2009),subset(PMeC$estimado_RBS,PMeC$periodo==2009),col=4)
lines(subset(PMeC$percentil,PMeC$periodo==2010),subset(PMeC$estimado_RBS,PMeC$periodo==2010),col=5)
lines(subset(PMeC$percentil,PMeC$periodo==2011),subset(PMeC$estimado_RBS,PMeC$periodo==2011),col=6)
lines(subset(PMeC$percentil,PMeC$periodo==2012),subset(PMeC$estimado_RBS,PMeC$periodo==2012),col=7)
lines(subset(PMeC$percentil,PMeC$periodo==2013),subset(PMeC$estimado_RBS,PMeC$periodo==2013),col=8)
lines(subset(PMeC$percentil,PMeC$periodo==2014),subset(PMeC$estimado_RBS,PMeC$periodo==2014),col=9)
legend("top", ncol=9,c("2006","2007","2008","2009","2010","2011","2012","2013","2014"),cex=0.6,bty="n",fill=c(1,2,3,4,5,6,7,8,9))
# gráficos PMgC: estimado RBS
plot(subset(PMgC$percentil,PMgC$periodo==2006),subset(PMgC$estimado_RBS,PMgC$periodo==2006), ylim=c(-0.5, 1.5),type="l",col=1,main="Propensión marginal al consumo estimada en el modelo RBD",xlab="Percentiles",ylab="PMgC")
lines(subset(PMgC$percentil,PMgC$periodo==2007),subset(PMgC$estimado_RBS,PMgC$periodo==2007),col=2)
lines(subset(PMgC$percentil,PMgC$periodo==2008),subset(PMgC$estimado_RBS,PMgC$periodo==2008),col=3)
lines(subset(PMgC$percentil,PMgC$periodo==2009),subset(PMgC$estimado_RBS,PMgC$periodo==2009),col=4)
lines(subset(PMgC$percentil,PMgC$periodo==2010),subset(PMgC$estimado_RBS,PMgC$periodo==2010),col=5)
lines(subset(PMgC$percentil,PMgC$periodo==2011),subset(PMgC$estimado_RBS,PMgC$periodo==2011),col=6)
lines(subset(PMgC$percentil,PMgC$periodo==2012),subset(PMgC$estimado_RBS,PMgC$periodo==2012),col=7)
lines(subset(PMgC$percentil,PMgC$periodo==2013),subset(PMgC$estimado_RBS,PMgC$periodo==2013),col=8)
lines(subset(PMgC$percentil,PMgC$periodo==2014),subset(PMgC$estimado_RBS,PMgC$periodo==2014),col=9)
legend("top", ncol=9,c("2006","2007","2008","2009","2010","2011","2012","2013","2014"),cex=0.6,bty="n",fill=c(1,2,3,4,5,6,7,8,9))
# gráficos PMgC: estimado RBS_GLM
plot(subset(PMgC$percentil,PMgC$periodo==2006),subset(PMgC$estimado_RBS_GLM,PMgC$periodo==2006), ylim=c(-0.5, 1.5),type="l",col=1,main="Propensión marginal al consumo estimada en el modelo RBD_GLM",xlab="Percentiles",ylab="PMgC")
lines(subset(PMgC$percentil,PMgC$periodo==2007),subset(PMgC$estimado_RBS_GLM,PMgC$periodo==2007),col=2)
lines(subset(PMgC$percentil,PMgC$periodo==2008),subset(PMgC$estimado_RBS_GLM,PMgC$periodo==2008),col=3)
lines(subset(PMgC$percentil,PMgC$periodo==2009),subset(PMgC$estimado_RBS_GLM,PMgC$periodo==2009),col=4)
lines(subset(PMgC$percentil,PMgC$periodo==2010),subset(PMgC$estimado_RBS_GLM,PMgC$periodo==2010),col=5)
lines(subset(PMgC$percentil,PMgC$periodo==2011),subset(PMgC$estimado_RBS_GLM,PMgC$periodo==2011),col=6)
lines(subset(PMgC$percentil,PMgC$periodo==2012),subset(PMgC$estimado_RBS_GLM,PMgC$periodo==2012),col=7)
lines(subset(PMgC$percentil,PMgC$periodo==2013),subset(PMgC$estimado_RBS_GLM,PMgC$periodo==2013),col=8)
lines(subset(PMgC$percentil,PMgC$periodo==2014),subset(PMgC$estimado_RBS_GLM,PMgC$periodo==2014),col=9)
legend("top", ncol=9,c("2006","2007","2008","2009","2010","2011","2012","2013","2014"),cex=0.6,bty="n",fill=c(1,2,3,4,5,6,7,8,9))
Conclusiones
Bunting (1989) afirma que en las estimaciones de las PMC influyen de manera considerable la definición de las variables de ingresos y gastos, incluyendo su consideración o no en términos per cápita, destacando la alta variabilidad de resultados para la PMC que se han obtenido en las encuestas de datos cruzados precisamente por las diferencias que se dan en la definición de ingresos y gastos o del colectivo de hogares a donde iban dirigidas. Por lo general, las estimaciones de la PMC basadas en funciones de consumo Keynesianas, agrupan los datos de las encuestas en intervalos razonables de ingresos, establecidos en base al conocimiento del investigador. Al agrupar los datos de una encuesta en clases, los percentiles es un ejemplo, la estimación econométrica de la PMC ha de tener presente la independencia de los residuos este clases, problema que, junto a la heterocedasticidad, es frecuente en las estimaciones hechas con este tipo de agrupaciones. En estos casos hay que estimar la PMC con arreglo a otros métodos que dan como resultado especificaciones no lineales de la función de consumo. En las estimaciones que se ha hecho de la función de consumo Keynesiana clásica (Parra, 2016b), ocurren estos problemas: existe dependencia entre los errores que se obtienen y la clase social (el percentil), errores cuyo tamaño dependen del percentil (heterocedasticiadad) y valores extremos, por ello la aproximación de las funciones en MCO agrupando los hogares en percentiles de renta, no da resultados satisfactorios desde el punto de vista de las distribuciones gaussianas. Además se observa, un comportamiento “a-teórico” de las clases más bajas, PMC negativas o con valores ceros, y un cambio de tendencia en la PMC de las clases más altas, que si viene recogido en la teoría del consumo, a cuanto más renta es menor ingreso marginal que se consume. Ha parecidas conclusiones se ha llegado con estimaciones de la PMgC en encuestas de hogares de Argentina (Parra, 2015b) y Mexico (Parra, 2016a).
La dinámica que muestran estas estimaciones en España para el periodo 2006 y 2014,no presupone la estabilidad de estas relaciones en el sentido propuesto por la teoría Keynesiana, ya que entre 2006 y 2009 cambió tanto el consumo autónomo como la propensión marginal al consumo, por otro lado habría que destacar que el gasto medio del consumo de los hogares tiene un movimiento inter-dependiente entre percentiles ó clases sociales, dominado sobre todo por las altas diferencias entre clases sociales. Una vez se descompone esta evolución entre un término constante, una tendencia a largo plazo, y las oscilaciones entre clases más cercanas o más alejadas, se observa que se produce un aumento del gasto en consumo de todas las clases sociales sobre su renta (gasto de consumo autónomo) entre 2006 y 2009, en el periodo de mayor incidencia de la crisis inmobiliaria, a su vez entre 2006 y 2009 se hace menos pendiente al PMgC del conjunto de los hogares, entre 2010 y 2014 esta se habría mantenido en torno a un valor próximo al 0.70, que apunta a una mayor estabilidad social entre clases. La PMgC del conjunto de los hogares se deteriora en todos los grupos exceptuando el percentil más alto, si bien las disminuciones de mayor magnitud habrían correspondido a las clases medias.
Bibliografía
Bunting, D., 1989.“The compsumption function paradox” Journal of Post Keynesian Economics. vol 11, nº 3, 1989, pp. 347-359.
Bunting, D., 2001.“Keynes Law and Its Critics” Journal of Post Keynesian Economics vol. 24, nº 1, 2001, pp. 149- 163.
DURBIN, J., “Tests for Serial Correlation in Regression Analysis based on the Periodogram ofLeast-Squares Residuals,” Biometrika, 56, (No. 1, 1969), 1-15.
Engle, Robert F. (1974), Band Spectrum Regression,International Economic Review 15,1-11.
Friedman, M., 1957. A theory of the consumption function (Princeton University Press, Princeton, NJ).
Friedman, M. and Kuznets, S., 1945. Income from independent professional practice (National Bureau of Economic Research, NY).
Harvey, A.C. (1978), Linear Regression in the Frequency Domain, International Economic Review, 19, 507-512.
INDEC (2012/2013). Encuesta Nacional de Gasto de los Hogares (ENGHo). Buenos Aires: Instituto Nacional de Estadísticas y Censos.
Keynes, J. M., 1936. The general theory of employment, interest and money (Harcourt, Brace & World, NY).
Kuznets, S., 1942. Uses of national income in peace and war, Occasional paper 6 (National Bureau of Economic Research, NY).
Modigliani, F. and Brumberg, R., 1954. “Utility analysis and the consumption function: an interpretation of cross-sectional data” in Kurihara, K. K. (ed.) Post Keynesian economics (Rutgers University Press, New Brunswick, NJ) 388-436.
Parra F (2015a): Seasonal Adjustment by Frequency Analysis. Package R Version 1.2. https://cran.r-project.org/web/packages/descomponer/index.html
Parra F (2015b): Función de consumo de los hogares de Argentina https://econometria.wordpress.com/2015/11/24/funcion-de-consumo-de-los-hogares-de-argentina/
Parra F (2016a): Propensión Marginal al consumo de los hogares de Mexico. https://econometria.wordpress.com/2016/01/03/funcion-de-consumo-de-los-hogares-de-mexico/
Parra F (2016b): La Propensión Marginal al Consumo en España. https://econometria.wordpress.com/2016/03/24/la-propension-marginal-al-consumo-en-espana/