Francisco Javier Parra Rodríguez
Universidad de Cantabria (UNICAN), España
Introducción
El objetivo del artículo es estimar una Propensión Marginal al Consumo (PMC) para la economía americana, 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.
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),en este sentido destaca 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 objetivo de cada encuesta. Bunting D. considera que la manera en que se agrupan los conjuntos de datos en categorías de ingresos, agrupaciones que no son una transformación lineal de los datos originales, determinan en cierto sentido que se den 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, e independiente (\(cov(e_j,e_s)=0\))
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 poblacional, 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, parece razonable pensar que los \(b_i\) puedan cambiar de alguna y otra manera en función de 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 un “kernel” o un “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 de hogares: las de tendencia, las que se dan entre percentiles distantes (las menos frecuentes) o entre percentiles cercanos (las más frecuentes).
Para realizar esta última 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 ofrece el aviso.
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) {"no encuentra convergencia"} 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)}
}
Consumer Expenditure Survey
La Consumer Expenditure Survey (CE) proporciona datos sobre los habitos de compra de los consumidores amereicanos, datos que como en otras areas son utilizados para elaborar el IPC. La encuesta recoge el 95% de los ingresos y gastos de consumo de los hogares anericanos. Los microdatos (PUMD) los facilita U.S. Department of Labor, Bureau of Labor Statistics en formatos SAS, STATA, SPSS. or ASCII comma-delimited files. La encuesta de 2014 contiene tres grupos de ficheros:
. 8 ficheros principales de datos (FMLI, MEMI, MTBI, ITBI, ITII, NTAXI, FPAR, and MCHI)
. 4 tipos de ficheros procesados
. 43 ficheros detallados de gastos (EXPN files)
Seis de los ocho principales ficheros (FMLI, MEMI, MTBI, ITBI, ITII, and NTAXI) esta organizados según el calendario en que se realizó la encuesta, y corresponden al periodo del primer trimestre del 2014 al primer trimestre de 2015.
El fichero FMLI contiene las caracteristicas de las unidades de consumo (CU), ingresos y agregados de gastos; el fichero MEMI continene las caracteristicas de los miembros del hogar y datos de ingreso, el fichero MTBI contiene los gastos mensuales a nivel de UCC (códigos de seis dígitos que identifican a grandes grupos de ingresos y gastos); el fichero ITBI contiene los datos mensuales de ingresos asignados en UCCs; y el fichero ITII cinco imputaciones de ingresos mensuales asignados en UCCs. El fichero NTAXI contiene información sobre los impuestos que pagas las unidades de consumo.
Se procesan los datos del primer trimestre de 2014.
setwd("~/Word Press/Econometria aplicada/funcion de consumo USA")
#setwd("E:/funcion de consumo USA")
library(foreign)
ingreso1<- data.frame(read.spss("itbi141x.sav"))
ingreso1_i<- data.frame(read.spss("itii141x.sav"))
gasto1 <- data.frame(read.spss("mtbi141x.sav"))
ingreso2_i<- data.frame(read.spss("itii142.sav"))
gasto2 <- data.frame(read.spss("mtbi142.sav"))
ingreso3_i<- data.frame(read.spss("itii143.sav"))
gasto3 <- data.frame(read.spss("mtbi143.sav"))
ingreso4_i<- data.frame(read.spss("itii144.sav"))
gasto4 <- data.frame(read.spss("mtbi144.sav"))
ingresoT_i <- rbind(ingreso1_i,ingreso2_i,ingreso3_i,ingreso4_i)
gastoT <- rbind(gasto1,gasto2,gasto3,gasto4)
# obtenemos las sumas anuales
ING <- subset(ingresoT_i,ingresoT_i$IMPNUM==5)
#ING <- tapply(datos$VALUE,datos$NEWID,mean)
ING1 <- tapply(ING$VALUE,ING$NEWID,sum)
ING1 <- data.frame(NEWID=names(ING1),ING=as.numeric(ING1))
str(ING1)
## 'data.frame': 25894 obs. of 2 variables:
## $ NEWID: Factor w/ 25894 levels "2647065","2647085",..: 1 2 3 4 5 6 7 8 9 10 ...
## $ ING : num 11158 11088 37344 28447 64130 ...
GAST <- tapply(gastoT$COST,gastoT$NEWID,sum)
GAST <- data.frame(NEWID=names(GAST),GAST=as.numeric(GAST))
GAST$NEWID=as.character(GAST$NEWID)
ING1$NEWID=as.character(ING1$NEWID)
str(GAST)
## 'data.frame': 25907 obs. of 2 variables:
## $ NEWID: chr "2647065" "2647085" "2647105" "2647115" ...
## $ GAST : num 6004 53015 9853 29936 72290 ...
str(ING1)
## 'data.frame': 25894 obs. of 2 variables:
## $ NEWID: chr "2647065" "2647085" "2647105" "2647115" ...
## $ ING : num 11158 11088 37344 28447 64130 ...
datos <- merge(GAST,ING1,by.x="NEWID",by.y="NEWID")
summary(datos)
## NEWID GAST ING
## Length:25893 Min. :-1340261 Min. :-593355
## Class :character 1st Qu.: 9900 1st Qu.: 22267
## Mode :character Median : 37967 Median : 46067
## Mean : 62100 Mean : 65348
## 3rd Qu.: 80116 3rd Qu.: 85839
## Max. : 2050207 Max. :1993323
Estimación de una Función de Consumo para USA
Se realiza una estimación por Minimo cuadrado ordinario:
fit <-lm(datos$GAST~datos$ING)
# Global test of model assumptions
library(gvlma)
## Warning: package 'gvlma' was built under R version 3.2.3
gvmodel <- gvlma(fit)
summary(gvmodel)
##
## Call:
## lm(formula = datos$GAST ~ datos$ING)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1467242 -33261 -18768 13226 1953851
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.282e+04 6.878e+02 33.18 <2e-16 ***
## datos$ING 6.011e-01 7.296e-03 82.38 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 79770 on 25891 degrees of freedom
## Multiple R-squared: 0.2077, Adjusted R-squared: 0.2076
## F-statistic: 6786 on 1 and 25891 DF, p-value: < 2.2e-16
##
##
## ASSESSMENT OF THE LINEAR MODEL ASSUMPTIONS
## USING THE GLOBAL TEST ON 4 DEGREES-OF-FREEDOM:
## Level of Significance = 0.05
##
## Call:
## gvlma(x = fit)
##
## Value p-value Decision
## Global Stat 3205865.6 0 Assumptions NOT satisfied!
## Skewness 63321.8 0 Assumptions NOT satisfied!
## Kurtosis 3142206.1 0 Assumptions NOT satisfied!
## Link Function 156.3 0 Assumptions NOT satisfied!
## Heteroscedasticity 181.4 0 Assumptions NOT satisfied!
plot(gvmodel)
Detectar y eliminar outlaier
library(car)
## Warning: package 'car' was built under R version 3.2.3
out <- outlierTest(fit)
quitar <- c(-as.numeric(names(out$p)))
for (n in quitar)
datos <- datos[n,]
Añadimos un indice para obtener el percentil:
## Warning: package 'gtools' was built under R version 3.2.3
##
## Attaching package: 'gtools'
##
## The following object is masked from 'package:car':
##
## logit
Se realiza una regresión para los gastos e ingresos utilizando como explicativas la interacción de los ingresos y el factor que selecciona cada percentil. Se representa la gráfica de los coeficientes obtenidos. Se comprueba la relación no lineal que se da entre percentiles de hogares y coeficientes \(b_i\).
## Analysis of Variance Table
##
## Response: datos$GAST
## Df Sum Sq Mean Sq F value Pr(>F)
## datos$ING 1 4.3050e+13 4.3050e+13 7187.7381 < 2.2e-16 ***
## datos$ING:datos$perc 99 2.4302e+12 2.4547e+10 4.0985 < 2.2e-16 ***
## Residuals 25782 1.5442e+14 5.9894e+09
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Se realiza una regresión para los gastos e ingresos medios por hogar de cada percentil.
##
## Call:
## lm(formula = gaperc.perc ~ ingpch.perc)
##
## Residuals:
## Min 1Q Median 3Q Max
## -20873 -4022 -945 2873 33059
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.101e+04 1.076e+03 19.53 <2e-16 ***
## ingpch.perc 6.274e-01 1.162e-02 54.00 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7621 on 98 degrees of freedom
## Multiple R-squared: 0.9675, Adjusted R-squared: 0.9672
## F-statistic: 2916 on 1 and 98 DF, p-value: < 2.2e-16
##
##
## ASSESSMENT OF THE LINEAR MODEL ASSUMPTIONS
## USING THE GLOBAL TEST ON 4 DEGREES-OF-FREEDOM:
## Level of Significance = 0.05
##
## Call:
## gvlma(x = fit)
##
## Value p-value Decision
## Global Stat 189.242 0.000e+00 Assumptions NOT satisfied!
## Skewness 33.521 7.050e-09 Assumptions NOT satisfied!
## Kurtosis 120.419 0.000e+00 Assumptions NOT satisfied!
## Link Function 9.364 2.213e-03 Assumptions NOT satisfied!
## Heteroscedasticity 25.938 3.526e-07 Assumptions NOT satisfied!
## function (x, y, ...)
## UseMethod("plot")
## <bytecode: 0x00000000126f9af8>
## <environment: namespace:graphics>
## 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
## Warning: package 'tseries' was built under R version 3.2.3
##
## Jarque Bera Test
##
## data: fit$residuals
## X-squared = 153.94, df = 2, p-value < 2.2e-16
## Warning: package 'nortest' was built under R version 3.2.3
##
## Lilliefors (Kolmogorov-Smirnov) normality test
##
## data: fit$residuals
## D = 0.12614, p-value = 0.0004788
##
## Cramer-von Mises normality test
##
## data: fit$residuals
## W = 0.52574, p-value = 1.517e-06
##
## Anderson-Darling normality test
##
## data: fit$residuals
## A = 3.1478, p-value = 6e-08
##
## Shapiro-Francia normality test
##
## data: fit$residuals
## W = 0.8649, p-value = 3.537e-07
El test de Durbin (1969) muestra unos residuos incorrelacionados, pero los residuos no pasan la prueba de la normalidad.
Se realiza una regresión por bandas de frecuencia, se representan los residuos en el dominio frecuencial.
El resultado gráfico del test de Durbin (1969) muestra unos residuos incorrelacionados, los estadísticos sobre normalidad de los errores son buenos, si bien existen problemas de heterocedasticidad.Por este motivo se realiza una regresión GLM utilizando como regresores los armónicos seleccionados en la regresión RBS.
library(descomponer)
# Estimación de la regresión por bandas de frecuencia
y <- as.numeric(gaperc.perc)
x <- as.numeric(ingpch.perc)
res <- rdf(y,x,3)
# grafica de los residuos en el dominio frecuencial
gtd(res$datos$res,3)
# Representación gráfica de los datos
plot(ingpch.perc,gaperc.perc)
lines(ingpch.perc,res$datos$F,col=2)
# gráfica de normalidad de los residuos
hist(res$datos$res, freq=FALSE,
main="Distribución de los errores")
boxplot(res$datos$res)
# Estimación del modelo en MCO
fit3 <- lm(gaperc.perc ~ 0 + res$Tregresores)
summary(fit3)
##
## Call:
## lm(formula = gaperc.perc ~ 0 + res$Tregresores)
##
## Residuals:
## Min 1Q Median 3Q Max
## -20873 -4022 -945 2873 33059
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## res$TregresoresC 2.101e+05 1.076e+04 19.53 <2e-16 ***
## res$Tregresores1 6.274e+00 1.162e-01 54.00 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7621 on 98 degrees of freedom
## Multiple R-squared: 0.9898, Adjusted R-squared: 0.9896
## F-statistic: 4767 on 2 and 98 DF, p-value: < 2.2e-16
library(car)
outlierTest(fit3)
## rstudent unadjusted p-value Bonferonni p
## (1.85e+05,2.03e+05] 4.951933 3.1031e-06 0.00031031
## (2.11e+05,2.31e+05] 4.313066 3.8740e-05 0.00387400
gvmodel <- gvlma(fit3)
summary(gvmodel)
##
## Call:
## lm(formula = gaperc.perc ~ 0 + res$Tregresores)
##
## Residuals:
## Min 1Q Median 3Q Max
## -20873 -4022 -945 2873 33059
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## res$TregresoresC 2.101e+05 1.076e+04 19.53 <2e-16 ***
## res$Tregresores1 6.274e+00 1.162e-01 54.00 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7621 on 98 degrees of freedom
## Multiple R-squared: 0.9898, Adjusted R-squared: 0.9896
## F-statistic: 4767 on 2 and 98 DF, p-value: < 2.2e-16
##
##
## ASSESSMENT OF THE LINEAR MODEL ASSUMPTIONS
## USING THE GLOBAL TEST ON 4 DEGREES-OF-FREEDOM:
## Level of Significance = 0.05
##
## Call:
## gvlma(x = fit3)
##
## Value p-value Decision
## Global Stat 189.242 0.000e+00 Assumptions NOT satisfied!
## Skewness 33.521 7.050e-09 Assumptions NOT satisfied!
## Kurtosis 120.419 0.000e+00 Assumptions NOT satisfied!
## Link Function 9.364 2.213e-03 Assumptions NOT satisfied!
## Heteroscedasticity 25.938 3.526e-07 Assumptions NOT satisfied!
#plot(gvmodel)
# test normalidad de los errores
library(tseries)
jarque.bera.test(res$datos$res)
##
## Jarque Bera Test
##
## data: res$datos$res
## X-squared = 153.94, df = 2, p-value < 2.2e-16
library(nortest)
lillie.test(res$datos$res)
##
## Lilliefors (Kolmogorov-Smirnov) normality test
##
## data: res$datos$res
## D = 0.12614, p-value = 0.0004788
cvm.test(res$datos$res)
##
## Cramer-von Mises normality test
##
## data: res$datos$res
## W = 0.52574, p-value = 1.517e-06
ad.test(res$datos$res)
##
## Anderson-Darling normality test
##
## data: res$datos$res
## A = 3.1478, p-value = 6e-08
sf.test(res$datos$res)
##
## Shapiro-Francia normality test
##
## data: res$datos$res
## W = 0.8649, p-value = 3.537e-07
#Estimacion modelo glm (Gaussian)
gfit3 <- glm(gaperc.perc ~ 0 + res$Tregresores,family=gaussian)
summary(gfit3)
##
## Call:
## glm(formula = gaperc.perc ~ 0 + res$Tregresores, family = gaussian)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -20873 -4022 -945 2873 33059
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## res$TregresoresC 2.101e+05 1.076e+04 19.53 <2e-16 ***
## res$Tregresores1 6.274e+00 1.162e-01 54.00 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for gaussian family taken to be 58080075)
##
## Null deviance: 5.5945e+11 on 100 degrees of freedom
## Residual deviance: 5.6918e+09 on 98 degrees of freedom
## AIC: 2075.5
##
## Number of Fisher Scoring iterations: 2
par(mfcol = c(2, 2))
plot(gfit3)
#Estimacion modelo glm (Gaussian)
gfit3 <- glm(gaperc.perc ~ 0 + res$Tregresores,family=gaussian(link="log"))
summary(gfit3)
##
## Call:
## glm(formula = gaperc.perc ~ 0 + res$Tregresores, family = gaussian(link = "log"))
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -64850 -13382 -5885 7070 64065
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## res$TregresoresC 1.068e+02 4.125e-01 259.01 <2e-16 ***
## res$Tregresores1 4.840e-05 1.859e-06 26.04 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for gaussian family taken to be 369447538)
##
## Null deviance: 5.5944e+11 on 100 degrees of freedom
## Residual deviance: 3.6206e+10 on 98 degrees of freedom
## AIC: 2260.5
##
## Number of Fisher Scoring iterations: 6
par(mfcol = c(2, 2))
plot(gfit3)
#Estimacion modelo glm (Gamma)
#gfit3 <- glm(gaperc.perc ~ 0 + res$Tregresores,family=Gamma)
#summary(gfit3)
#par(mfcol = c(2, 2))
#plot(gfit3)
#Estimacion modelo glm (Gamma)
gfit3 <- glm(gaperc.perc ~ 0 + res$Tregresores,family=Gamma(link="identity"))
summary(gfit3)
##
## Call:
## glm(formula = gaperc.perc ~ 0 + res$Tregresores, family = Gamma(link = "identity"))
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.37041 -0.07242 -0.01830 0.05965 0.90545
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## res$TregresoresC 2.201e+05 9.322e+03 23.62 <2e-16 ***
## res$Tregresores1 6.011e+00 2.329e-01 25.81 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for Gamma family taken to be 0.02740951)
##
## Null deviance: NaN on 100 degrees of freedom
## Residual deviance: 2.1474 on 98 degrees of freedom
## AIC: 2078.3
##
## Number of Fisher Scoring iterations: 8
par(mfcol = c(2, 2))
plot(gfit3)
# Durbin de los errores de Gamma
par(mfcol = c(1, 1))
gtd(gfit3$residuals,3)
Los resultados de las funciones estimadas por RBS y GML son similares a las soluciones MCO.
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}\), se obtiene tambien el componente de tendencia a partir de \(\frac {\hat b}{y_s}\).
# Obtención de las propensiones medias al consumo por percentiles
PMeC <- data.frame(percentil=seq(1,100,by=1),observado=gaperc.perc/ingpch.perc,estimado_MCO=lm(gaperc.perc~ingpch.perc)$fitted/ingpch.perc, estimado_MCO2=ingpch.MCO2/ingpch.perc,estimado_RBS=res$datos$F/ingpch.perc)
#PMeC
# Obtención de las propensiones marginales al consumo por percentiles
PMgC <- data.frame(percentil=seq(1,100,by=1),estimado_MCO=rep(lm(gaperc.perc~ingpch.perc)$coefficients[2],100), estimado_RBS=(res$datos$F-(res$Betas[1]*res$Tregresores[1]))/ingpch.perc,estimado_RBS_T=(res$Betas[2]*res$Tregresores[,2])/ingpch.perc)
#PMgC
# Obtención de las propensiones marginales al consumo por percentiles con glm
PMgC_glm <- data.frame(percentil=seq(1,100,by=1),estimado_MCO=rep(lm(gaperc.perc~ingpch.perc)$coefficients[2],100), estimado_RBS=(gfit3$fitted.values-(gfit3$coefficients[1]*res$Tregresores[1]))/ingpch.perc,estimado_RBS_T=(gfit3$coefficients[2]*res$Tregresores[,2])/ingpch.perc)
#PMgC_glm
Se representan gráficamente la propensiones marginales calculadas para los percentiles:
# gráficos PMeC
plot(PMeC$percentil,PMeC$observado)
lines(PMeC$percentil,PMeC$estimado_MCO,col=2)
lines(PMeC$percentil,PMeC$estimado_RBS,col=3)
legend("top", ncol=2,c("MCO","RBS"),cex=0.6,bty="n",fill=c(2,3))
# gráficos PMgC
plot(PMgC$percentil,PMgC$estimado_RBS,type="l",col=1)
lines(PMgC$percentil,PMgC$estimado_RBS_T,col=2)
lines(PMgC$percentil,PMgC$estimado_MCO,col=3)
legend("top", ncol=3,c("RBS","RBS_T","MCO"),cex=0.6,bty="n",fill=c(1,2,3))
# gráficos PMgC_glm
plot(PMgC_glm$percentil,PMgC_glm$estimado_RBS,type="l",col=1)
lines(PMgC_glm$percentil,PMgC_glm$estimado_RBS_T,col=2)
lines(PMgC_glm$percentil,PMgC_glm$estimado_MCO,col=3)
legend("top", ncol=3,c("RBS","RBS_T","MCO"),cex=0.6,bty="n",fill=c(1,2,3))
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 percentiles, 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 en otras áreas (Mexico, Argentina y España) (Anexos), 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.Estimaciones realizadas con RBS y GLM dan una solución a dichos problemas estimativos.
En el caso de USA las estimaciones realizadas en MCO y en RSB, la estimación GLM ofrece una PMC menor, ya que la residuos MCO no presentan problemas de independencia y varianza constante.
Las estimaciones realizadas para USA comparadas con las realizadas en otras áreas se presentan en el cuadro adjunto:
Pais (año) | MCO | RBS | RBS-GLM | \(\frac {\bar C}{\bar Y}\) |
---|---|---|---|---|
España(2014) | 0.72 | 0.64 | 0.68 | 0.81 |
Mexico(2014) | 0.48 | 0.42 | 0.55 | 0.65 |
Argentina(2012) | 0.57 | 0.53 | 0.62 | 0.81 |
USA (2014) | 0.63 | 0.63 | 0.60 | 0.82 |
Fuente: Elaboración Propia
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 (2015): Seasonal Adjustment by Frequency Analysis. Package R Version 1.2. https://cran.r-project.org/web/packages/descomponer/index.html
U.S. Department of Labor, Bureau of Labor Statistics, Consumer Expenditure Survey, Interview Survey, 2014
Anexos
Propensión marginal al consumo de Argentina: https://rpubs.com/PacoParra/136937
Propensión marginal al consumo de España: https://rpubs.com/PacoParra/164650
Propensión marginal al consumo de México: https://rpubs.com/PacoParra/139911