Introducción

Las relaciones entre precios de los bienes y la renta se definen al nivel de la teoría económica a través de la elasticidad- renta, que se define como la variación de la cantidad demandada de un bien o servicio ante una variación en la renta del consumidor, sin que se produzcan cambios en los precios ni en otras variables. La elasticidad-renta de la demanda mide el cambio porcentual en la demanda de un bien asociado a un cambio del 1% en la renta del consumidor.

La demanda de los llamados «bienes necesarios», cuya elasticidad-renta es inferior a 1, responde de manera moderada a cambios en la renta del consumidor. Los bienes necesarios se siguen demandando, aunque disminuya la renta del consumidor. Se suele decir que en los bienes necesarios la elasticidad-renta es baja. Esto se debe a que el consumidor adquiere la cantidad que necesita de estos bienes sin que importe mucho que su renta suba o baje. Estos bienes necesarios están agrupados dentro de los sectores de la alimentación, ropa, zapatos, electricidad, agua, tabaco, entre otros.

Por el contrario, los bienes superiores o de lujo como son los productos de ocio, vacaciones, servicio doméstico, hoteles, lavandería, novelas, televisión, viajes de placer, restaurantes de lujo, barcos deportivos, coches y motos de alto standing, actividades deportivas, artísticas y espectáculos y otras actividades recreativas- reaccionan de forma más acentuada. Es decir, suelen tener una elevada elasticidad-renta. Esto se debe a la gran variación que tiene la demanda frente a la variación de la renta del consumidor. Entre estos bienes se encuentran los En un cuadro adjunto al artículo «Sectores de actividad ante el cambio de ciclo: la crisis irá por barrios» aparecen los distintos sectores económicos ordenados verticalmente de menor a mayor elasticidad-renta.

Dentro de un mismo sector existen los denominados bienes normales y los bienes inferiores. Los bienes normales poseen una elasticidad de renta positiva, lo que supone que un aumento o disminución de la renta conlleva un aumento o disminución proporcional de la demanda del bien o servicio. Por otro lado, los bienes inferiores tienen una elasticidad de renta negativa. Es decir, en un bien inferior un aumento de la renta origina una disminución de la demanda del bien o servicio. O lo que es lo mismo, los bienes inferiores son aquellos que cuando disminuye la renta aumenta su demanda. Un ejemplo de bien inferior es la comida rápida, también llamada comida basura. Si una persona tiene un aumento en la renta, compra menos comida rápida. Con la crisis, la renta de muchas familias se está reduciendo, por lo que la comida basura se demanda más. (Pampillon, R; 2009)

¿Los hábitos de consumo actuales permiten esta categorización entre bienes inferiores, normales y superiores?. Para ello proponemos realizar un ejercicio basado en la EPF de 2017.

Referencias

Los primeros estudios sobre la tipificación de la demanda de bienes en España datan de los años 80, en Abadía (1983), se formula un sistema de demanda que caracteriza la incidencia de la redistribución personal de la renta sobre la composición de la demanda de consumo privado. Presuponen que la relación transversal entre renta disponible y gasto, para el conjunto nacional de consumidores resulta aceptablemente representada bajo la forma : \(G=K_0 R^{\epsilon} r^{1-\epsilon}\), donde \(G\) es el gasto del consumidor de renta \(R\), y \(r\) la renta media. En su análisis las decisiones del consumidor se formalizan bajo las decisiones que Muellbauer (1975,1976) denomina de linealidad generalizada independiente de los precios, que da lugar a funciones de reparto de gasto del tipo: \(W_i=\alpha_i + \beta_i*log(G)\), donde \(W_i\) es la proporción de gasto en el bien i realizada por el consumidor cuyo gasto total el \(G\).

Las elasticidades renta, se calcularon con los datos de la EPF de Julio de 1973 a Junio de 1974 (24000 hogares). La estimación se realiza con 100 grupos de observaciones correspondientes a medias por centilas del conjunto de nacional de hogares, una ver ordenados por niveles de gasto. Debido al falseamiento de los datos de la renta, la relación transversal renta-gasto se circunscribió a 2300 hogares.

En Gonzalez y Urtasun (2015) se estudia la dinámica del consumo en España por tipos de productos. En particular, se examina el papel que han desempeñado, a la hora de explicar las fluctuaciones del consumo, los bienes duraderos y los bienes y servicios que no son de primera necesidad. Para ello se utilizan los datos de la Contabilidad Nacional, que abarcan el período comprendido entre 1995 y 2013, y que se complementan para 2014 con los resultados de la EPF. En el estudio se afirma que: “La comparación del consumo nominal con la renta disponible permite entender mejor la evolución de la tasa de ahorro de los hogares a partir del análisis de la fracción de renta dedicada al consumo de cada categoría de bienes y servicios. En este sentido, se observa cómo el mantenimiento del gasto en bienes esenciales y en no ajustables explica la moderación de la tasa de ahorro, mientras que los bienes no esenciales (en la primera parte de la recesión) y los bienes duraderos (en todo el período de crisis) cayeron en términos nominales muy por encima de lo que lo hizo la renta disponible”.

El BBVA en su boletín de consumo cuantifica la sensibilidad del consumo de cada producto tanto ante variaciones en los precios y como en la renta de los hogares, aproximada por su gasto monetario. Para ello, se estima un sistema completo de demanda de bienes y servicios a partir de los datos de gasto de la Encuesta de Presupuestos Familiares (EPF) entre 2007 y 2013 y de los precios procedentes del índice de precios al consumo. Siguen el sistema de demanda casi ideal cuadrático (QUAIDS) propuesto por Banks, Blundell y Lewbel (1997). En su modelo la demanda de un bien o servicio no solo depende de su precio y de la capacidad adquisitiva del hogar. También se puede ver afectada por el comportamiento de los precios de los restantes productos de la economía y por las características familiares.

En opinión de Garcia L, y Velilla J. (2018), el modelo que mejor se ajusta a nuestra economía, conocido como el Modelo de Rotterdam y se ha utilizado ampliamente a lo largo de toda la historia en aplicaciones tanto teóricas como empíricas. Molina (2002) demostró que el mejor modelo para mostrar las preferencias de los hogares españoles era el modelo de Rotterdam utilizando datos de 1964 a 1995. Con datos originarios de la OCDE entre 1980 y 2015 a nivel de cinco grupos de gasto muestran que este modelo sigue siendo válido y continúa representando las preferencias y demanda de hogares españoles.

Estimaciones a nivel regional encontramos en Del Oro Sáez, C.P.; Rodríguez Rey, M.; Riobóo Almanzor, J. Ma. (2000) que estimaron las elasticidades renta de Galicia con micro datos (registros tipo I y tipo II) de la EPF de 1990-1991 elaborada por el INE. En total, en Galicia se habían entrevistado a 1739 familias. El desfase que existe entre los ingresos declarados y el gasto total se solventa sustituyendo el nivel de ingresos por el de gasto correspondiente establecido como la suma total de gastos realizados por los individuos. Los datos originales del gasto familiar de la encuesta se han dividido por el número de unidades de consumo, para obtener los gastos por unidad de consumo de la familia i-ésima en el bien j-ésimo. A su vez, dado que se estaba interesado en el nivel adquisitivo de la persona, estos se relativizaron dividiéndolos por la media general obtenida, empleando como ponderación para cada unidad de consumo el producto del factor de elevación poblacional de la familia y el número de unidades de consumo de la misma. Realizaron la estimación de 9 modelos para los 8 grupos de gasto para comparar cuáles de ellos se adaptan mejor a las observaciones. Los 8 primeros de ellos corresponden a modelizaciones de tipo paramétrico mientras que exclusivamente uno de los mismos es de tipo no paramétrico (estimador Naradaya-Watson)

Elasticidad renta

Dada una función de n variables \(y = f (x_1, x_2, . . . , x_n)\), el concepto de elasticidad se utiliza para medir la sensibilidad de la variable dependiente \(y\) ante un cambio en el valor de una de las variables independientes, \(x_i\), cuando se mantiene constante el valor que toman el resto de variables independientes.

\(TMeV^y_{x_i}=\frac{\bigtriangleup y}{\bigtriangleup x_i}\)

Si utilizamos el cociente de ambas tasas para medir la sensibilidad de la \(y\) ante el cambio en la \(x\) estaremos utilizando lo que se conoce como la elasticidad arco:

\(\epsilon^a_{y/x_i}=\frac{\bigtriangleup y}{\bigtriangleup x_i}\frac{x_i}{y}\)

En general, la elasticidad arco nos informa sobre la variación en % de la variable dependiente, y, por cada 1% de variación de la variable independiente \(x_i\), cuando mantenemos constantes el resto de variables independientes.

Dada la curva de demanda de mercado \(X_{1D} = D_1(p_1, p_2,M)\), donde \(X_{1D}\) es la cantidad demanda del bien, \(p-1\) el precio del bien, \(p_2\) el precios de otros bienes, y \(M\) la renta. Los conceptos de elasticidad arco y elasticidad punto se aplican de manera inmediata al estudio de la relación entre los cambios en el nivel de renta y la cantidad demandada. Centrándonos en el caso de la elasticidad punto tendríamos la siguiente definición de la elasticidad renta:

\(\epsilon_{X_{1D}/M}(.)=\frac{\partial X_{1D}}{\partial M}(.)\frac{M}{X_{1D}}\)

En tanto que elasticidad nos informará sobre la variación porcentual de la cantidad demandada del bien 1 por cada 1% de variación en la renta, para cambios infinitesimales de esta última variable.

Si en la teoría de la demanda se definen los bienes normales como aquellos para los que se cumple que \(\frac{\partial X_{1D}}{\partial M}(.)>0\) y los bienes inferiores como aquellos para los que se cumple que \(\frac{\partial X_{1D}}{\partial M}(.)<0\). Ahora es posible establecer dichas definiciones en términos de la elasticidad renta: son bienes normales aquellos que presentan elasticidad renta positiva y son bienes inferiores aquellos que presentan elasticidad renta negativa. Además dentro de los bienes normales suele distinguirse entre los bienes de primera necesidad (aquellos para los que se cumple que \(\epsilon_{X_{1D}/M}(.)<1\) y los bienes de lujo (aquellos para los que se cumple que \(\epsilon_{X_{1D}/M}(.)>1\) ) (Alvarez P., 2011).

Calcular la elasticidad de la demanda requiere realizar conjeturas sobre la función de demanda de consumo. Desde el punto de vista estadístico-económico, las curvas de Engel se pueden entender como un problema de estimación de la función de regresión empleando datos atemporales. En general, se estiman modelos estocásticos que reflejan la evolución del gasto en función del nivel de renta de la forma, \(Y=m(x)+u\), donde \(Y\) representa el nivel de gasto o demanda, \(x\) el conjuento de explicativas en donde se incluye el nivel de ingresos y \(u\)es el correspondiente término de error o perturbación aleatoria (Del Oro Sáez, C.P.; Rodríguez Rey, M.; Riobóo Almanzor, J. Ma., 2000).

Las distintas modelizaciones de las curvas de Engel suelen presentarse en función de su comportamiento práctico, así como de consideraciones relativas a su funcionamiento a nivel teórico basado en requisitos de tipo económico.

Algunas de estas modelizaciones son:

  1. Función lineal: \(Y=a+bx+u\)

  2. Función potencial o isoelástica: \(Y=ax^b+u\)

  3. Función semilogarítmica o de Engel: \(Y=a+b ln(x)+u\)

  4. Función logarítmica inversa: \(log(\frac 1 Y)=a+\frac b X + u\)

  5. Función inversa: \(\frac 1 Y = a + \frac b X + u\)

  6. Función QES: \(Y=a+bX+cX^2+u\)

La definición de la forma funcional que va ser estimada está condicionada, generalmente, por el tipo de análisis que se efectúe. A partir de la teoría económica de la utilidad expuesta en los apartados anteriores, los investigadores en economía aplicada han desarrollado varias especificaciones de funciones de demanda que cumplen las condiciones establecidas de sistema de demanda (homogeneidad, agregación, simetría y negatividad).

Barten (1993) señaló que, al especificar formas funcionales, lo ideal es que sean consistentes con la teoría, fáciles de estimar, y que se ajusten a los datos. Sin embargo, la teoría del consumidor establece de forma muy genérica que la demanda del consumidor para un determinado bien puede expresarse en función del precio de ese bien, del precio de los demás bienes y del ingreso. La teoría no establece condiciones acerca de la estructura que debe tener una función, más allá de las propiedades derivadas del proceso de maximización de la utilidad, las que a su vez resultan insuficientes para determinar una única forma funcional correcta (Lanfranco, 2004).

Berges, Casellas y Fernandez (2007) destacan cuatro enfoques básicos que permiten la obtención de ecuaciones que satisfagan las propiedades de la demanda.

El primero de ellos se construye a partir de la especificación de una función de utilidad creciente y cuasi-cóncava, que se maximiza teniendo en cuenta la restricción presupuestaria. De la solución a este problema de maximización se derivan las funciones de demanda. Dentro de este enfoque se encuentra el sistema LES desarrollado por Stone (1954).

En este modelo la función de demanda se expresa así:

\[log (q_i)=\alpha+\epsilon_i log (x_i) +\sum_{k=1}^{n} \epsilon_{ik} log(p_k)\]

Donde \(\epsilon_i\) es la elasticidad ingreso o de gasto total y \(\epsilon_{ik}\) es la elasticidad precio cruzada del k-ésimo precio respecto a la i-ésima demanda; \(p_k\) es el precio del bien k, \(q_i\) las cantidades demandadas del bien i y \(\alpha_i\) es el valor que toma log \(q_i\) cuando todas las otras variables valen cero.

El segundo enfoque, el diferencial, permite estimar parámetros e imponer restricciones de una forma bastante más flexible de las que eran posibles previamente. Se destaca el modelo de Rotterdam desarrollado por Theil (1965) que tiene un enfoque similar al de Stone, pero con la diferencia de que no utiliza logaritmos sino diferenciales.

El tercer enfoque comprende una amplia familia de modelos conocidos como FFF (Formas Funcionales Flexibles) (ANEXO). La idea básica de este enfoque es representar la función de utilidad directa, la indirecta o la de gastos, cuya verdadera forma funcional es desconocida, a partir de series de Taylor.

Finalmente, la aplicación de la teoría de la dualidad permitió el desarrollo de un cuarto enfoque, mediante el cual un conjunto de ecuaciones de demanda teóricamente plausibles se deriva de una función de costos explícita. El ejemplo más conocido es el sistema AIDS (Almost Ideal Demand System) desarrollado por Deaton y Muellbauer (1980).

En estos modelos la relación empírica que se establece viene dada por:

\[w_{ij}=\frac{x_{ij}}{x_i}=g_j{lnX_i,Z_i} + u_i\]

Donde \(w_{ij}\) es la participación del gasto en el bien \(j\) en el gasto total del hogar \(i\),\(X_i\) es el logaritmo del gasto total del hogar \(i\), \(Z_i\) es un conjunto de variables socio-demográficas como género, edad y escolaridad del jefe de hogar, estrato del hogar, etc., \(g(.)\) es una función de gasto, la cual puede ser paramétrica, no paramétrica o una combinación de ambas (semiparamétrica), y\(u_i\) es el término de perturbación estocástica, el cual se asume tal que \(E(u|X,Z) = 0\).

Deaton (1989) abordo la determinación de curvas de demanda y estimaciones de la función de densidad no paramétricas para el consumo de arroz en Tailandia, empleando el estimador de Nadaraya-Watson (1964).

La estimación polinómica local permite obtener simultáneamente estimadores tanto de la función de regresión como de su primera derivada sin asumir ningún modelo prefijado. Este hecho facilita el cálculo de curvas de elasticidad, definida ésta como \(\hat e_{\frac Y X}=x \frac {m'(x)} {\hat m(x)}\), siendo \(y=m(x)\) la función que modeliza el comportamiento de la variable Y a partir de X.

Distribución de los gastos de los hogares

A la hora de estimar curvas de Engels, lo ideal es como se ha dicho anteriormente que sean consistentes con la teoría, fáciles de estimar, y que se ajusten a los datos. La teoría convencional sobre el consumo establece de forma muy genérica que la demanda del consumidor para un determinado bien puede expresarse en función del precio de ese bien, del precio de los demás bienes y del ingreso, y una serie de propiedades (integrabilidad, convexidad, homogeneidad, etc…) derivadas del proceso de maximización de la utilidad. Los modelos más utilizados (AIDS y Modelo de Rotterdam) asumen estas propiedades.

En opinión de Ormerod (2016), los mercados de consumo, en donde las familias son de diferente condición y tienen diferentes atributos, las simplificaciones derivadas de la teoría de la utilidad conducen a no entender sus decisiones actuales. El número de elecciones a que se enfrentan los consumidores es asombroso hoy día (El Wall-Mark cercano al aeropuerto JFK tiene más de 100.000 item en stock). Herb Simon en los años 60 expresaba serias dudas acerca de la posibilidad de que los agentes obtuvieran y procesaran toda la información que precisa una elección racional. Y aunque se incorporara de alguna u otra forma los costes de información a la teoría de la elección racional, Simon argumenta que, en muchas situaciones, el concepto de optimización no tiene sentido práctico. En lugar de intentar optimizar, los agentes pueden escoger una regla “heurística” (arte, técnica o procedimiento práctico o informal, para resolver problemas), que les dé resultados satisfactorios.

Una manera alternativa de entender estas decisiones son los modelos de comportamiento que se han desarrollado en la teoría de la evolución cultural. La mayor parte de los agentes eligen copiar las elecciones que han hecho otros agentes que tienen alrededor, pero ocasionalmente, la elección acaba en una forma de selección aleatoria. En este tipo de modelos, la estructura de conexión entre agentes es muy importante.

El proceso de aprendizaje social es complejo, hay un amplio rango de estrategias que la gente utiliza para elegir que son imitadas y copiadas, lo que facilita el desarrollo de diferentes normas y creencias entre grupos. En las pequeñas sociedades estas diferencias sociales pueden ser delimitadas, pero en las grandes poblaciones, por ejemplo, entre la gente que acude a las grandes superficies, o la población que utiliza Internet, tales patrones de copia virtualmente existen, aunque la persona individual tenga una razón particular para elegir pongamos por caso el libro que van a leer.

En el proceso de aprendizaje social hay un amplio rango de estrategias que la gente utiliza para elegir que son imitadas y copiadas, lo que facilita el desarrollo de diferentes normas y creencias entre grupos. En las pequeñas sociedades estas diferencias sociales pueden ser delimitadas. En las grandes poblaciones los patrones de copia existen, aunque sean más difíciles de identificar.

Bentley A.R., Ormerod P, y Batty M (2011), proponen un modelo que es una evolución del modelo neutral, pero añadiendo un parámetro de memoria. En su modelo cada individuo que tiene una idea, su idea va a ser copiada por otros individuos. Por tanto, las ideas se replican con probabilidad proporcional a los individuos que han tenido esa idea. Este tipo de modelos se utilizado para explicar cómo se elige el nombre de los niños, la citación en los papeles académicos, o cambios entre las ciudades elegidas para vivir.

La estructura de relaciones social que se representan con una red social se compone de: los nodos, que representan elementos de la red (los individuos) y las aristas o relaciones entre ellos. Las aristas pueden tener diferentes pesos dependiendo de la “fuerza” o profundidad del lazo afectivo de la relación entre los elementos correspondientes a los extremos de la arista. Estos lazos de diferente intensidad definirán pesos de las aristas de la gráfica. Las redes de libre escala es una propuesta de Barbasí y Albert. En Parra F. (2019) se muestra que a través de este tipo de redes se pueden caracterizar las estructuras de gastos de consumo.

Entendiendo la decisión de consumo en un proceso de elección social, se puede plantear una elección del individuo \(i\) sobre el gasto a realizar en el consumo del grupo de bienes \(j\), de la siguiene forma:

\[x_{i}=\omega_iX_{i}\] (1)

donde, \(G^s_{i}=q^s_{i}p^s\) , siendo \(q^s_{i}\) las cantidades que el individuo \(i\), consume del bien \(s\), y \(p^s\) el precio que paga por el bien \(s\). \(\omega^s_i\) el porcentaje de gasto que destina a consumir los bienes \(s\), e \(X_{i}\) los gastos que dedica al consumo el individuo \(i\).

Si la elección se basa en una red de libre escala, resultará que la distribución de \(\omega^s\) seguirá una ley potencial, es decir \(\omega^s=a n^{\lambda}\), cuya media será \(\frac 1 {\lambda}\) y su varianza \(\frac 1 {\lambda^2}\).

Distribución de los gastos de los hogares en la EPF

Se estudia el presupuesto de gastos destinados al consumo de pan. La EPF presenta información en Unidades Monetarias y Cantidades (kilos) para las siguientes referencias:

. Todo tipo de pan (integral o no) de trigo, centeno, maíz o cualquier otro cereal, rallado o no.

. Todo tipo de pan de molde (integral o no) de trigo, centeno, maíz o cualquier otro cereal.

. Pan braseado o tostado de cualquier cereal, pan de especias, colines

Para ello en primer lugar hay que seleccionar los hogares que han consumido pan. Como queremos trabajar con los datos en cantidades utilizamos solo los registros que tienen cantidades.

Obtenemos el histograma de los pesos (\(\omega^s_j\)) y estudiamos su distribución. El test de Jarque-bera se utiliza para estudiar la normalidad de la distribución de pesos, y el test KS para ver si sigue la Ley de Potencias.

Valores pequeños del p-valor del test KS (menores de 0.05) indicarían que el test rechaza la hipótesis de que los datos sigan una distribución potencial.

Para saber si los gastos tienen relación con las distribuciones de ingresos, lo más recomendable es hacer un análisis ANOVA o el test de Kruskal-Wallis.

En el caso del test ANOVA

.No es necesario que las muestras que se comparan provengan de una distribución normal.

.Homocedasticidad: dado que la hipótesis nula asume que todos los grupos pertenecen a una misma población y que por lo tanto tienen las mismas medianas, es requisito necesario que todos los grupos tengan la misma varianza. Se puede comprobar con representaciones gráficas o con los test de Levenne o Barttlet.

.Misma distribución para todos los grupos: la distribución de los grupos no tiene que ser normal, pero ha de ser igual en todos (por ejemplo, que todos muestren asimetría hacia la derecha).

El test de Kruskal-Wallis, también conocido como test H, es la alternativa no paramétrica al test ANOVA de una vía para datos no pareados. Se trata de una extensión del test de Mann-Whitney para más de dos grupos. Se trata por lo tanto de un test que emplea rangos para contrastar la hipótesis de que k muestras han sido obtenidas de una misma población.

Bajo ciertas simplificaciones puede considerarse que el test de Kruskal-Wallis compara las medianas.

.H0: todas las muestras provienen de la misma población (distribución).

.HA: Al menos una muestra proviene de una población con una distribución distinta.

Si estos requerimientos se cumplen, el estadístico H del test de Kruskal-Wallis se compara con:

.Si el tamaño de grupos k es igual a 3 y el número de observaciones en cada uno no es mayor que 5, se recurre a tablas tabuladas con valores teóricos de H.

.En el resto de casos se asume que el estadístico H sigue una distribución \(\chi^2\) con k-1 grados de libertad (siendo k el número de grupos a comparar).

En la mayoría de la bibliografía consultada consideran que el ANOVA es bastante robusto a la falta de normalidad sobre todo con muestras medianas o grandes. Solo recomiendan el uso del test de Kruskal-Wallis cuando las poblaciones a comparar sean claramente asimétricas, se cumpla que todas lo sean en la misma dirección y que la varianza sea homogénea

El desarrollo de la prueba en el caso del pan sería:

Se leen los datos de ingresos y gastos de hogares del fichero de micro datos de la Encuesta de Presupuestos Familiares de 2017. Base 2007.

setwd("~/economia positiva/Teoria del consumo/elasticidades demanda renta")
library(foreign) 
HOGARES<- read.spss("hogar2017.sav")
## re-encoding from UTF-8
Gasto<- read.spss("gastos2017.sav")
## re-encoding from UTF-8
HOGARES=data.frame(HOGARES)
Gasto=data.frame(Gasto)
#load("Y:/economia positiva/economia positiva libro/data set epf.RData")
#Se crea fichero con los datos del pan y el numero de hogar
gasto.pan=subset(Gasto,Gasto$CODIGO=="01112")
gasto.pan$GASTO=gasto.pan$GASTO/gasto.pan$FACTOR
gasto.pan$CANTIDAD=gasto.pan$CANTIDAD/gasto.pan$FACTOR
gasto.pan$precio=gasto.pan$GASTO/gasto.pan$CANTIDAD
gasto.pan.1=data.frame(NUMERO=gasto.pan$NUMERO,cantidad=gasto.pan$CANTIDAD,gasto=gasto.pan$GASTO,precio=gasto.pan$precio)
gasto.pan.1=na.omit(gasto.pan.1)
Gasto.H <- data.frame(NUMERO=HOGARES$NUMERO,NMIEMB=HOGARES$NMIEMB,ING=HOGARES$IMPEXAC,GAST=HOGARES$GASTOT/(12*HOGARES$FACTOR),FACTOR=HOGARES$FACTOR)
library(gtools)
Gasto.H$perc.i <- quantcut(Gasto.H$ING,q=seq(0,1,by=0.01))
Gasto.H$dec.i <- quantcut(Gasto.H$ING,q=seq(0,1,by=0.1))
# Se mezcla con el fichero de renta con información de los percentiles
gasto.h.pan=merge(gasto.pan.1,Gasto.H,by="NUMERO")
gasto.h.pan$conpc=gasto.h.pan$cantidad/gasto.h.pan$NMIEMB
gasto.h.pan$gaspc=gasto.h.pan$gasto/gasto.h.pan$NMIEMB
gasto.h.pan$pesos=gasto.h.pan$gasto/gasto.h.pan$GAST
ingpan.perc <- tapply(gasto.h.pan$GAST,gasto.h.pan$perc.i,mean)
gapan.perc <- tapply(gasto.h.pan$gaspc,gasto.h.pan$perc.i,mean)
# Histograma de la distribucion de los pesos
hist(gasto.h.pan$pesos)
# Normalidad
library(tseries)

jarque.bera.test(gasto.h.pan$pesos)
## 
##  Jarque Bera Test
## 
## data:  gasto.h.pan$pesos
## X-squared = 1078100, df = 2, p-value < 2.2e-16
# Potencia
library(igraph)
## 
## Attaching package: 'igraph'
## The following object is masked from 'package:gtools':
## 
##     permute
## The following objects are masked from 'package:stats':
## 
##     decompose, spectrum
## The following object is masked from 'package:base':
## 
##     union
fit.scale.free <- power.law.fit(gasto.h.pan$pesos)
fit.scale.free[["KS.p"]]
## [1] 6.082864e-05
# Relacion ingresos
kruskal.test(gasto.h.pan$pesos~as.factor(gasto.h.pan$dec.i))
## 
##  Kruskal-Wallis rank sum test
## 
## data:  gasto.h.pan$pesos by as.factor(gasto.h.pan$dec.i)
## Kruskal-Wallis chi-squared = 556.58, df = 9, p-value < 2.2e-16
library(car)
## 
## Attaching package: 'car'
## The following object is masked from 'package:gtools':
## 
##     logit
leveneTest(gasto.h.pan$pesos,as.factor(gasto.h.pan$dec.i),center=mean)
## Levene's Test for Homogeneity of Variance (center = mean)
##         Df F value    Pr(>F)    
## group    9  43.126 < 2.2e-16 ***
##       4966                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
mod1=anova(lm(gasto.h.pan$pesos~as.factor(gasto.h.pan$dec.i)))
mod1
## Analysis of Variance Table
## 
## Response: gasto.h.pan$pesos
##                                Df Sum Sq  Mean Sq F value    Pr(>F)    
## as.factor(gasto.h.pan$dec.i)    9 0.3108 0.034528  39.236 < 2.2e-16 ***
## Residuals                    4966 4.3701 0.000880                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Estudiamos cuantos productos siguen la Ley Potencial en la distribución de sus pesos

gasto.n=c(as.character((unique(Gasto$CODIGO))))
resultados.KS=data.frame(codigo=NA,KS=NA)
for (i in gasto.n) {
  #Se crea fichero con los precios de la carne de bobino y el numero de hogar
gasto.g=subset(Gasto,Gasto$CODIGO==i)
gasto.g.1=data.frame(NUMERO=gasto.g$NUMERO,gasto=gasto.g$GASTO/gasto.g$FACTOR)
gasto.g.1=na.omit(gasto.g.1)
# Se mezcla con el fichero de renta con información de los percentiles
gasto.h.g=merge(gasto.g.1,Gasto.H,by="NUMERO")
gasto.h.g$gaspc=gasto.h.g$gasto/gasto.h.g$NMIEMB
gasto.h.g$pesos=gasto.h.g$gasto/gasto.h.g$GAST
# Ley de Potencias
fit.scale.free.i <- power.law.fit(gasto.h.g$pesos)
KS.i=fit.scale.free[["KS.p"]]
resultado.i=data.frame(codigo=c(i),KS=c(fit.scale.free.i[["KS.p"]]))
resultados.KS=rbind(resultados.KS,resultado.i)
}
resultados.KS$tipo=ifelse(resultados.KS$KS<0.05,"NO","SI")
table(resultados.KS$tipo)
## 
##  NO  SI 
## 178 183

Estudiamos si existe relación entre presupuestos e ingresos de los hogares.

gasto.n=c(as.character((unique(Gasto$CODIGO))))
resultados.anova=data.frame(codigo=NA,Pr.F=NA)
for (i in gasto.n) {
  #Se crea fichero con los precios de la carne de bobino y el numero de hogar
gasto.g=subset(Gasto,Gasto$CODIGO==i)
gasto.g.1=data.frame(NUMERO=gasto.g$NUMERO,gasto=gasto.g$GASTO/gasto.g$FACTOR)
gasto.g.1=na.omit(gasto.g.1)
# Se mezcla con el fichero de renta con información de los percentiles
gasto.h.g=merge(gasto.g.1,Gasto.H,by="NUMERO")
gasto.h.g$gaspc=gasto.h.g$gasto/gasto.h.g$NMIEMB
gasto.h.g$pesos=gasto.h.g$gasto/gasto.h.g$GAST
# Ley de Potencias
mod1.i=anova(lm(gasto.h.pan$pesos~as.factor(gasto.h.pan$dec.i)))
resultado.i=data.frame(codigo=c(i),Pr.F=c(mod1.i$`Pr(>F)`))
resultados.anova=rbind(resultados.anova,resultado.i)
}
resultados.anova$tipo=ifelse(resultados.anova$Pr.F>0.05,"NO","SI")
table(resultados.anova$tipo)
## 
##  SI 
## 361

Regresión cuantílica entre gastos e ingresos

Teniendo presente que (1) a nivel individual puede formularse como:

\[q^s_{ij}=\frac{\omega^s_jX_{ij}}{p^s}\]

Si los grupos sociales son homogéneos, cabe suponer que todos los individuos tengan una renta semejante, es decir que \(X_{ij}\) se distribuira de forma normal con \(E(X_{ij})=X^*_j\) y varianza constante \(\sigma^2_j\). En cuyo caso el gasto esperado de un grupo social que tenga \(n\) individuos se realizará:

\[E(\sum_{i=1}^n G^s_{ij})=\sum{i=1}^n \omega^s_jE(X_{ij})=n\omega^s_jX_{j}^*\]

\[nG^s_j=n\omega^s_jX_{j}^*\]

\[\frac {G^s_j}{n} =\omega^s_j\frac {X_{j}^*}{n}\]

\[g^s_j=\omega^s_jx_{j}^*\]

que es la relación entre gasto percapita del grupo social en el bien \(s\) y la renta media per cápita del grupo social.

Una estimación del gasto per cápita del grupo social \(j\), puede realizarse mediante una regresión por percentiles, deciles, etc…, siempre y cuando se utilicen formas flexibles para no limitar la forma funcional:

\[g^s(x_j/\omega^s)=\omega^s_j x_{j}+e_j\] (2)

Siendo ahora \(x_j\) la renta per capita del grupo social \(j\),

La FFF al igual que el estimador de Naradaya-Watson, o la Regresión Band Spectrum (RBS) permite obtener simultáneamente estimadores tanto de la función de regresión como de su primera derivada. En cuyo caso el cálculo de curvas de elasticidad, definida ésta como:

\[\hat e_{\frac Y X}=x_j \frac {D_{x_j}g(x_j/\omega^s)} {g(x_j/\omega^s))}\]

donde, \(g^s(x_j/\omega^s)=\alpha + \beta x_j + \frac 1 2 \delta x_j^2 + 2\sum_{m=1}^M[a_m\cos(mx_j)+b_m\sin(mx_j)]\) (3), el vector de parámetros es \((\omega^s)=(\alpha,\beta,\delta ,a_1,...,a_M, b_1,....,b_M)\) de longitud \(K=3+2M\), siendo siendo \(M \approx \sqrt n\).

La función FFF, permite realizar la estimación descrita en el ANEXO.

FFF <- function (y,x) {
  # Author: Francisco Parra Rodríguez
    # Leemos datos en forma matriz
  a <- matrix(y, nrow=1)
  b <- matrix(x, nrow=1)
  n=ifelse(length(a)%%2==0,round(2*sqrt(length(a))),round(2*sqrt(length(a)-1)))
    # Obtenemos la funcion auxiliar (cdf) del predictor y se ordena segun el indice de las mayores densidades absolutas del co-espectro.
  cx <- cdf(b)
  cx <- cx[1:(n+1),]
  cx.2=t(gdf(b^2))/10
  X <- rbind(C=c(1,rep(0,(n-1))),cx,cx.2)
  # Se realizan las regresiones en el dominio de la frecuencia utilizando un modelo con constante, pendiente y los arm?nicos correspondientes a las raiz de n frecuencias mas altas
  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(length(a)))%*%t(X),Nregresores=n+3,Betas=B1)}

La función rdf (Parra F.,2015), estima una forma flexible, pero a partir de los armónicos que presentan mayores correlaciones, seleccionando aquella estructura que con menores regresores garantiza la presencia de residuos incorrelacionados.

library(taRifx)

rdf <- function (y,x) {
  # 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)
  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)}
       }

Si \(\omega_s\) sigue una distribución potencial, y por tanto invariante en escala, ocurre que el valor esperado de \(\omega^s_j\) sería \(E(\omega^s_j)=\frac 1 \lambda\) y la forma logarítmica:

\[log(g^s_j)=log(\alpha)+\frac 1 \lambda log( x_{j})+e_j\] Donde \(\frac 1 \lambda\) es ahora la elasticidad de \(g^s_j\) (gastos per cápita del grupo social \(j\) en el bien \(s\)) respecto a los gastos totales per capita \(X_j\). Y la función de demanda de consumo quedaría.

\[g^s(x_j/\omega^s)=\alpha x_{j}^{\frac 1 \lambda}+e_j\]

La dependencia observada entre \(\omega^s\) y los ingresos per cápita de los hogares sería consecuencia entonces de la relación entre el ingreso y el gasto per capita que se da en una función de consumo keynesiana (Parra F.,2016).

Elasticidad renta en la EPF

Calcular la elasticidad-renta con micro datos de hogares, es posible utilizando la técnica de la regresión por percentiles utilizada para calcular la PMC (ver ANEXO). Vamos a intentarlo con el consumo de pan.

setwd("~/economia positiva/Teoria del consumo/elasticidades demanda renta")
library(foreign) 
HOGARES<- read.spss("hogar2017.sav")
## re-encoding from UTF-8
Gasto<- read.spss("gastos2017.sav")
## re-encoding from UTF-8
HOGARES=data.frame(HOGARES)
Gasto=data.frame(Gasto)
#load("Y:/economia positiva/economia positiva libro/data set epf.RData")
#Se crea fichero con los datos del pan y el numero de hogar
gasto.pan=subset(Gasto,Gasto$CODIGO=="01112")
gasto.pan$GASTO=gasto.pan$GASTO/gasto.pan$FACTOR
gasto.pan$CANTIDAD=gasto.pan$CANTIDAD/gasto.pan$FACTOR
gasto.pan$precio=gasto.pan$GASTO/gasto.pan$CANTIDAD
gasto.pan.1=data.frame(NUMERO=gasto.pan$NUMERO,cantidad=gasto.pan$CANTIDAD,gasto=gasto.pan$GASTO,precio=gasto.pan$precio)
gasto.pan.1=na.omit(gasto.pan.1)
Gasto.H <- data.frame(NUMERO=HOGARES$NUMERO,NMIEMB=HOGARES$NMIEMB,ING=HOGARES$IMPEXAC,GAST=HOGARES$GASTOT/(12*HOGARES$FACTOR),FACTOR=HOGARES$FACTOR)
library(gtools)
Gasto.H$perc.i <- quantcut(Gasto.H$ING,q=seq(0,1,by=0.01))
Gasto.H$dec.i <- quantcut(Gasto.H$ING,q=seq(0,1,by=0.1))
# Se mezcla con el fichero de renta con información de los percentiles
gasto.h.pan=merge(gasto.pan.1,Gasto.H,by="NUMERO")
gasto.h.pan$conpc=gasto.h.pan$cantidad/gasto.h.pan$NMIEMB
gasto.h.pan$gaspc=gasto.h.pan$gasto/gasto.h.pan$NMIEMB
gasto.h.pan$pesos=gasto.h.pan$gasto/gasto.h.pan$GAST
ingpan.perc <- tapply(gasto.h.pan$GAST,gasto.h.pan$perc.i,mean)
gapan.perc <- tapply(gasto.h.pan$gaspc,gasto.h.pan$perc.i,mean)
# Estimamos la relacion entre ingresos y gastos
fit.i <-lm(log(gapan.perc)~log(ingpan.perc))
# Global test of model assumptions
library(gvlma)
## Warning: package 'gvlma' was built under R version 3.5.2
gvmodel <- gvlma(fit.i) 
summary(gvmodel)
## 
## Call:
## lm(formula = log(gapan.perc) ~ log(ingpan.perc))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.62202 -0.15691 -0.01691  0.17325  0.79631 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       6.83815    0.53174  12.860  < 2e-16 ***
## log(ingpan.perc) -0.54406    0.06806  -7.994 2.61e-12 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.265 on 98 degrees of freedom
## Multiple R-squared:  0.3947, Adjusted R-squared:  0.3885 
## F-statistic:  63.9 on 1 and 98 DF,  p-value: 2.613e-12
## 
## 
## ASSESSMENT OF THE LINEAR MODEL ASSUMPTIONS
## USING THE GLOBAL TEST ON 4 DEGREES-OF-FREEDOM:
## Level of Significance =  0.05 
## 
## Call:
##  gvlma(x = fit.i) 
## 
##                     Value p-value                   Decision
## Global Stat        10.232 0.03670 Assumptions NOT satisfied!
## Skewness            1.607 0.20486    Assumptions acceptable.
## Kurtosis            1.283 0.25742    Assumptions acceptable.
## Link Function       5.732 0.01666 Assumptions NOT satisfied!
## Heteroscedasticity  1.610 0.20451    Assumptions acceptable.
plot(gvmodel)

# test Durbin sobre los residuos
library(descomponer)
## 
## Attaching package: 'descomponer'
## The following object is masked _by_ '.GlobalEnv':
## 
##     rdf
gtd(fit.i$residuals)

# gráfica de normalidad de los residuos
hist(fit.i$residuals, freq=FALSE, 
   main="Distribución de los errores")

# test normalidad de los errores
library(tseries)
jarque.bera.test(fit.i$residuals)
## 
##  Jarque Bera Test
## 
## data:  fit.i$residuals
## X-squared = 2.89, df = 2, p-value = 0.2357
library(nortest)
## Warning: package 'nortest' was built under R version 3.5.2
lillie.test(fit.i$residuals)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  fit.i$residuals
## D = 0.053869, p-value = 0.6761
cvm.test(fit.i$residuals)
## 
##  Cramer-von Mises normality test
## 
## data:  fit.i$residuals
## W = 0.059289, p-value = 0.3831
ad.test(fit.i$residuals)
## 
##  Anderson-Darling normality test
## 
## data:  fit.i$residuals
## A = 0.3996, p-value = 0.3573
sf.test(fit.i$residuals)
## 
##  Shapiro-Francia normality test
## 
## data:  fit.i$residuals
## W = 0.98411, p-value = 0.2329
# Representación gráfica de los datos
plot(ingpan.perc,gapan.perc)
lines(ingpan.perc,exp(fit.i$fitted),col=2)

La estimación FFF se realiza a continuación:

# Estimación de la regresión por bandas de frecuencia
y <- as.numeric(log(gapan.perc))
x <- as.numeric(log(ingpan.perc))
res <- FFF(y,x)
# grafica de los residuos en el dominio frecuencial
gtd(res$datos$res)

# Representación gráfica de los datos
plot(ingpan.perc,gapan.perc)
lines(ingpan.perc,exp(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(y ~ 0 + res$Tregresores)
gvmodel <- gvlma(fit3) 
summary(gvmodel)
## 
## Call:
## lm(formula = y ~ 0 + res$Tregresores)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.77359 -0.13668  0.00645  0.13855  0.70588 
## 
## Coefficients:
##                    Estimate Std. Error t value Pr(>|t|)    
## res$TregresoresC -0.2010290  0.1531728  -1.312  0.19327    
## res$Tregresores  14.0638132  2.4612390   5.714 1.98e-07 ***
## res$Tregresores   0.1135479  0.0339256   3.347  0.00127 ** 
## res$Tregresores  -0.0382474  0.0892601  -0.428  0.66949    
## res$Tregresores   0.0327422  0.0340178   0.963  0.33881    
## res$Tregresores  -0.0859235  0.0640561  -1.341  0.18374    
## res$Tregresores  -0.0450959  0.0338507  -1.332  0.18672    
## res$Tregresores  -0.0596987  0.0509565  -1.172  0.24498    
## res$Tregresores   0.0031444  0.0338594   0.093  0.92625    
## res$Tregresores   0.0241954  0.0442052   0.547  0.58573    
## res$Tregresores  -0.0197310  0.0341508  -0.578  0.56511    
## res$Tregresores  -0.0511453  0.0433015  -1.181  0.24118    
## res$Tregresores  -0.0173882  0.0339235  -0.513  0.60972    
## res$Tregresores   0.0157007  0.0391350   0.401  0.68939    
## res$Tregresores  -0.0005347  0.0338732  -0.016  0.98745    
## res$Tregresores  -0.0049228  0.0361115  -0.136  0.89192    
## res$Tregresores   0.0060824  0.0339227   0.179  0.85817    
## res$Tregresores   0.0008231  0.0370938   0.022  0.98235    
## res$Tregresores  -0.0290556  0.0338337  -0.859  0.39313    
## res$Tregresores  -0.0253084  0.0369781  -0.684  0.49577    
## res$Tregresores   0.0335047  0.0337767   0.992  0.32433    
## res$Tregresores   0.0293476  0.0395569   0.742  0.46040    
## res$Tregresores  -1.3703439  0.3149265  -4.351 4.11e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2634 on 77 degrees of freedom
## Multiple R-squared:  0.9922, Adjusted R-squared:  0.9899 
## F-statistic: 425.1 on 23 and 77 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        9.7182 0.045451 Assumptions NOT satisfied!
## Skewness           0.1116 0.738334    Assumptions acceptable.
## Kurtosis           7.0086 0.008112 Assumptions NOT satisfied!
## Link Function      2.2156 0.136624    Assumptions acceptable.
## Heteroscedasticity 0.3824 0.536305    Assumptions acceptable.
#plot(gvmodel)
# test normalidad de los errores
library(tseries)
jarque.bera.test(res$datos$res)
## 
##  Jarque Bera Test
## 
## data:  res$datos$res
## X-squared = 7.1209, df = 2, p-value = 0.02843
library(nortest)
lillie.test(res$datos$res)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  res$datos$res
## D = 0.052995, p-value = 0.7002
cvm.test(res$datos$res)
## 
##  Cramer-von Mises normality test
## 
## data:  res$datos$res
## W = 0.047237, p-value = 0.5481
ad.test(res$datos$res)
## 
##  Anderson-Darling normality test
## 
## data:  res$datos$res
## A = 0.39423, p-value = 0.3679
sf.test(res$datos$res) 
## 
##  Shapiro-Francia normality test
## 
## data:  res$datos$res
## W = 0.97597, p-value = 0.06097

La estimación rdf sería:

res <- rdf(y,x)
# grafica de los residuos en el dominio frecuencial
gtd(res$datos$res)

# Representación gráfica de los datos
plot(ingpan.perc,gapan.perc)
lines(ingpan.perc,exp(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(y ~ 0 + res$Tregresores)
gvmodel <- gvlma(fit3) 
summary(gvmodel)
## 
## Call:
## lm(formula = y ~ 0 + res$Tregresores)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.62202 -0.15691 -0.01691  0.17325  0.79631 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)    
## res$TregresoresC  68.3815     5.3174  12.860  < 2e-16 ***
## res$Tregresores1  -5.4406     0.6806  -7.994 2.61e-12 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.265 on 98 degrees of freedom
## Multiple R-squared:  0.9899, Adjusted R-squared:  0.9897 
## F-statistic:  4819 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        10.232 0.03670 Assumptions NOT satisfied!
## Skewness            1.607 0.20486    Assumptions acceptable.
## Kurtosis            1.283 0.25742    Assumptions acceptable.
## Link Function       5.732 0.01666 Assumptions NOT satisfied!
## Heteroscedasticity  1.610 0.20451    Assumptions acceptable.
#plot(gvmodel)
# test normalidad de los errores
library(tseries)
jarque.bera.test(res$datos$res)
## 
##  Jarque Bera Test
## 
## data:  res$datos$res
## X-squared = 2.89, df = 2, p-value = 0.2357
library(nortest)
lillie.test(res$datos$res)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  res$datos$res
## D = 0.053869, p-value = 0.6761
cvm.test(res$datos$res)
## 
##  Cramer-von Mises normality test
## 
## data:  res$datos$res
## W = 0.059289, p-value = 0.3831
ad.test(res$datos$res)
## 
##  Anderson-Darling normality test
## 
## data:  res$datos$res
## A = 0.3996, p-value = 0.3573
sf.test(res$datos$res) 
## 
##  Shapiro-Francia normality test
## 
## data:  res$datos$res
## W = 0.98411, p-value = 0.2329

Ahora, presentamos el análisis sobre el gasto de consumo de un servicio, en este caso se trata de servicio: SERVICIOS DE ALOJAMIENTO EN HOTELES, MOTELES Y HOSTALES. Incluye:

#Se crea fichero con los gastos del epigrafe
gasto.g=subset(Gasto,Gasto$CODIGO=="11201")
gasto.g.1=data.frame(NUMERO=gasto.g$NUMERO,gasto=gasto.g$GASTO/gasto.g$FACTOR)
gasto.g.1=na.omit(gasto.g.1)
# Se mezcla con el fichero de renta con información de los percentiles
gasto.h.g=merge(gasto.g.1,Gasto.H,by="NUMERO")
gasto.h.g$gaspc=gasto.h.g$gasto/gasto.h.g$NMIEMB
gasto.h.g$gaspc=gasto.h.g$gasto/gasto.h.g$NMIEMB
gasto.h.g$pesos=gasto.h.g$gasto/gasto.h.g$GAST
ing.perc <- tapply(gasto.h.g$GAST,gasto.h.g$perc.i,mean)
gas.perc <- tapply(gasto.h.g$gaspc,gasto.h.g$perc.i,mean)
# Estimacion modelo lm
fit.i <-lm(log(gas.perc)~log(ing.perc))
# Global test of model assumptions
library(gvlma)
gvmodel <- gvlma(fit.i) 
summary(gvmodel)
## 
## Call:
## lm(formula = log(gas.perc) ~ log(ing.perc))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.3685 -0.2204  0.0100  0.2855  1.5711 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    -1.6557     1.1709  -1.414    0.161    
## log(ing.perc)   0.9415     0.1488   6.329 7.42e-09 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.5369 on 98 degrees of freedom
## Multiple R-squared:  0.2902, Adjusted R-squared:  0.2829 
## F-statistic: 40.06 on 1 and 98 DF,  p-value: 7.421e-09
## 
## 
## ASSESSMENT OF THE LINEAR MODEL ASSUMPTIONS
## USING THE GLOBAL TEST ON 4 DEGREES-OF-FREEDOM:
## Level of Significance =  0.05 
## 
## Call:
##  gvlma(x = fit.i) 
## 
##                       Value   p-value                   Decision
## Global Stat        1052.717 0.000e+00 Assumptions NOT satisfied!
## Skewness             85.790 0.000e+00 Assumptions NOT satisfied!
## Kurtosis            906.660 0.000e+00 Assumptions NOT satisfied!
## Link Function         1.071 3.007e-01    Assumptions acceptable.
## Heteroscedasticity   59.196 1.432e-14 Assumptions NOT satisfied!
plot(gvmodel)

# test Durbin sobre los residuos
library(descomponer)
gtd(fit.i$residuals)

# gráfica de normalidad de los residuos
hist(fit.i$residuals, freq=FALSE, 
   main="Distribución de los errores")

# test normalidad de los errores
library(tseries)
jarque.bera.test(fit.i$residuals)
## 
##  Jarque Bera Test
## 
## data:  fit.i$residuals
## X-squared = 992.45, df = 2, p-value < 2.2e-16
library(nortest)
lillie.test(fit.i$residuals)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  fit.i$residuals
## D = 0.12303, p-value = 0.0007606
cvm.test(fit.i$residuals)
## 
##  Cramer-von Mises normality test
## 
## data:  fit.i$residuals
## W = 0.35947, p-value = 6.877e-05
ad.test(fit.i$residuals)
## 
##  Anderson-Darling normality test
## 
## data:  fit.i$residuals
## A = 2.3987, p-value = 4.13e-06
sf.test(fit.i$residuals)
## 
##  Shapiro-Francia normality test
## 
## data:  fit.i$residuals
## W = 0.80569, p-value = 6.831e-09
# Representación gráfica de los datos
plot(ing.perc,gas.perc)
lines(ing.perc,exp(fit.i$fitted),col=2)

Este servicio sería inelástico frente a la renta, lo calificaríamos como un bien superior.

Ahora, presentamos el análisis sobre el gasto de consumo de un servicio, en este caso se trata de servicio: CUOTAS POR LICENCIA Y SUSCRIPCIONES A REDES DE TV Y RADIO.

#Se crea fichero con los gastos del epigrafe
gasto.g=subset(Gasto,Gasto$CODIGO=="09423")
gasto.g.1=data.frame(NUMERO=gasto.g$NUMERO,gasto=gasto.g$GASTO/gasto.g$FACTOR)
gasto.g.1=na.omit(gasto.g.1)
# Se mezcla con el fichero de renta con información de los percentiles
gasto.h.g=merge(gasto.g.1,Gasto.H,by="NUMERO")
gasto.h.g$gaspc=gasto.h.g$gasto/gasto.h.g$NMIEMB
gasto.h.g$gaspc=gasto.h.g$gasto/gasto.h.g$NMIEMB
gasto.h.g$pesos=gasto.h.g$gasto/gasto.h.g$GAST
ing.perc <- tapply(gasto.h.g$GAST,gasto.h.g$perc.i,mean)
gas.perc <- tapply(gasto.h.g$gaspc,gasto.h.g$perc.i,mean)
# Estimacion modelo lm
fit.i <-lm(log(gas.perc)~log(ing.perc))
# Global test of model assumptions
library(gvlma)
gvmodel <- gvlma(fit.i) 
summary(gvmodel)
## 
## Call:
## lm(formula = log(gas.perc) ~ log(ing.perc))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.6367 -0.3294  0.1194  0.6400  2.3140 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)   
## (Intercept)    -4.6417     2.7125  -1.711  0.09021 . 
## log(ing.perc)   1.0212     0.3458   2.953  0.00394 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.375 on 98 degrees of freedom
## Multiple R-squared:  0.08172,    Adjusted R-squared:  0.07235 
## F-statistic: 8.721 on 1 and 98 DF,  p-value: 0.003937
## 
## 
## ASSESSMENT OF THE LINEAR MODEL ASSUMPTIONS
## USING THE GLOBAL TEST ON 4 DEGREES-OF-FREEDOM:
## Level of Significance =  0.05 
## 
## Call:
##  gvlma(x = fit.i) 
## 
##                      Value   p-value                   Decision
## Global Stat        813.724 0.000e+00 Assumptions NOT satisfied!
## Skewness           156.201 0.000e+00 Assumptions NOT satisfied!
## Kurtosis           605.348 0.000e+00 Assumptions NOT satisfied!
## Link Function        1.101 2.941e-01    Assumptions acceptable.
## Heteroscedasticity  51.074 8.894e-13 Assumptions NOT satisfied!
plot(gvmodel)

# test Durbin sobre los residuos
library(descomponer)
gtd(fit.i$residuals)

# gráfica de normalidad de los residuos
hist(fit.i$residuals, freq=FALSE, 
   main="Distribución de los errores")

# test normalidad de los errores
library(tseries)
jarque.bera.test(fit.i$residuals)
## 
##  Jarque Bera Test
## 
## data:  fit.i$residuals
## X-squared = 761.55, df = 2, p-value < 2.2e-16
library(nortest)
lillie.test(fit.i$residuals)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  fit.i$residuals
## D = 0.20273, p-value = 6.397e-11
cvm.test(fit.i$residuals)
## Warning in cvm.test(fit.i$residuals): p-value is smaller than 7.37e-10,
## cannot be computed more accurately
## 
##  Cramer-von Mises normality test
## 
## data:  fit.i$residuals
## W = 1.1893, p-value = 7.37e-10
ad.test(fit.i$residuals)
## 
##  Anderson-Darling normality test
## 
## data:  fit.i$residuals
## A = 7.4635, p-value < 2.2e-16
sf.test(fit.i$residuals)
## 
##  Shapiro-Francia normality test
## 
## data:  fit.i$residuals
## W = 0.67345, p-value = 1.017e-11
# Representación gráfica de los datos
plot(ing.perc,gas.perc)
lines(ing.perc,exp(fit.i$fitted),col=2)

Tipificación de los bienes en la EPF.

Utilizando la técnica de regresión por percentiles, puede hacerse una tipificación de los bienes y servicios consumidos en la EPF según su relación con la renta. En esta encuesta las cantidades físicas consumidas solo se incluyen en los productos alimentarios, grupo 01, y no en todos los registros de cada producto. No obstante, se observa, que las clasificaciones sobre el tipo de bien consumido en cantidades físicas den lugar a la misma tipología de bienes que las realizadas según el gasto.

A continuación realizamos un bucle para que nos devuelva para todos los bienes de la EPF de 2019 las elasticidades rentas en las funciones logarítmicas, y su intervalo para un nivel de significación \(\alpha=0,05\), y presentamos la tipología que hemos obtenido para los 365 precios de la EPF.

gasto.n=c(as.character((unique(Gasto$CODIGO))))
resultados=data.frame(codigo=NA,elasticidad=NA,Inferior=NA,Superior=NA)
for (i in gasto.n) {
  #Se crea fichero con los precios de la carne de bobino y el numero de hogar
gasto.g=subset(Gasto,Gasto$CODIGO==i)
gasto.g.1=data.frame(NUMERO=gasto.g$NUMERO,gasto=gasto.g$GASTO/gasto.g$FACTOR)
gasto.g.1=na.omit(gasto.g.1)
# Se mezcla con el fichero de renta con información de los percentiles
gasto.h.g=merge(gasto.g.1,Gasto.H,by="NUMERO")
gasto.h.g$gaspc=gasto.h.g$gasto/gasto.h.g$NMIEMB
gasto.h.g$pesos=gasto.h.g$gasto/gasto.h.g$GAST
ing.perc <- tapply(gasto.h.g$GAST,gasto.h.g$perc.i,mean)
ing.perc = ifelse(ing.perc<=0,NA,ing.perc)
gas.perc <- tapply(gasto.h.g$gaspc,gasto.h.g$perc.i,mean)
# Se estima función MCO
fit.i <-lm(log(gas.perc)~log(ing.perc))
# se obtiene el intervalo de confianza
confit.i=confint(fit.i,"log(ing.perc)")
# se genera el resultado
resultado.i=data.frame(codigo=c(i),elasticidad=c(fit.i$coefficients[2]),Inferior=c(confit.i[1]),Superior=c(confit.i[2]))
resultados=rbind(resultados,resultado.i)
}
resultados$tipo=ifelse(resultados$Superior<0,"Inferior",ifelse(resultados$Inferior>1,"Superior","Normal" ))
table(resultados$tipo)
## 
## Inferior   Normal Superior 
##       92      210       59
data.frame(codigo=resultados.KS$codigo,tipo=resultados$tipo,Potencia=resultados.KS$tipo)[-1,]
##     codigo     tipo Potencia
## 2    01111 Inferior       SI
## 3    01112 Inferior       NO
## 4    01113 Inferior       NO
## 5    01114   Normal       NO
## 6    01115 Inferior       SI
## 7    01116   Normal       NO
## 8    01117   Normal       SI
## 9    01118   Normal       SI
## 10   01121   Normal       SI
## 11   01122 Inferior       SI
## 12   01123 Inferior       NO
## 13   01124 Inferior       NO
## 14   01125 Inferior       NO
## 15   01126 Inferior       NO
## 16   01127   Normal       SI
## 17   01128 Inferior       NO
## 18   01131   Normal       NO
## 19   01132 Inferior       NO
## 20   01133   Normal       NO
## 21   01134 Inferior       SI
## 22   01135   Normal       NO
## 23   01136   Normal       SI
## 24   01141 Inferior       SI
## 25   01142 Inferior       NO
## 26   01143 Inferior       NO
## 27   01144 Inferior       NO
## 28   01145   Normal       SI
## 29   01146 Inferior       SI
## 30   01147 Inferior       SI
## 31   01151 Inferior       NO
## 32   01152 Inferior       SI
## 33   01153 Inferior       SI
## 34   01154 Inferior       SI
## 35   01155   Normal       NO
## 36   01160   Normal       NO
## 37   01161   Normal       NO
## 38   01162 Inferior       NO
## 39   01163 Inferior       SI
## 40   01164 Inferior       NO
## 41   01165   Normal       NO
## 42   01166   Normal       SI
## 43   01167 Inferior       NO
## 44   01168   Normal       SI
## 45   01169 Inferior       NO
## 46   0117A Inferior       SI
## 47   0117B   Normal       SI
## 48   0117C Inferior       NO
## 49   01171 Inferior       SI
## 50   01172   Normal       NO
## 51   01173 Inferior       SI
## 52   01174 Inferior       SI
## 53   01175   Normal       NO
## 54   01176 Inferior       SI
## 55   01177   Normal       SI
## 56   01178 Inferior       NO
## 57   01179 Inferior       NO
## 58   01181 Inferior       SI
## 59   01182 Inferior       SI
## 60   01183   Normal       SI
## 61   01184   Normal       NO
## 62   01185 Inferior       NO
## 63   01186   Normal       NO
## 64   01191 Inferior       SI
## 65   01192 Inferior       NO
## 66   01193   Normal       NO
## 67   01194   Normal       SI
## 68   01195   Normal       NO
## 69   01199 Inferior       SI
## 70   01211 Inferior       SI
## 71   01212   Normal       NO
## 72   01213 Inferior       NO
## 73   01214 Inferior       NO
## 74   01221 Inferior       NO
## 75   01222 Inferior       SI
## 76   01223 Inferior       NO
## 77   01224 Inferior       NO
## 78   01225 Inferior       NO
## 79   02111   Normal       NO
## 80   02112   Normal       NO
## 81   02121   Normal       SI
## 82   02122   Normal       NO
## 83   02123   Normal       NO
## 84   02124 Inferior       NO
## 85   02131 Inferior       SI
## 86   02132   Normal       NO
## 87   02133 Inferior       NO
## 88   02134   Normal       SI
## 89   02201 Inferior       NO
## 90   03121   Normal       SI
## 91   03122   Normal       SI
## 92   03123   Normal       SI
## 93   03212   Normal       SI
## 94   04210 Inferior       NO
## 95   04411 Inferior       NO
## 96   04421 Inferior       SI
## 97   04431 Inferior       SI
## 98   04441 Inferior       SI
## 99   04511 Inferior       NO
## 100  05314   Normal       SI
## 101  05611 Inferior       SI
## 102  05612   Normal       NO
## 103  06239   Normal       NO
## 104  07221   Normal       NO
## 105  07222   Normal       NO
## 106  07245 Inferior       SI
## 107  08301 Inferior       SI
## 108  08304 Inferior       SI
## 109  09131   Normal       SI
## 110  09312   Normal       NO
## 111  09412   Normal       NO
## 112  10112 Superior       NO
## 113  11112   Normal       NO
## 114  11113   Normal       NO
## 115  12112 Inferior       NO
## 116  12132   Normal       SI
## 117  12321   Normal       NO
## 118  12521 Inferior       SI
## 119  12541   Normal       SI
## 120  04110 Inferior       SI
## 121  03110   Normal       SI
## 122  03132   Normal       SI
## 123  04321   Normal       NO
## 124  04521 Inferior       NO
## 125  05313   Normal       SI
## 126  05401   Normal       NO
## 127  05621   Normal       NO
## 128  06111   Normal       SI
## 129  06129   Normal       SI
## 130  06139   Normal       SI
## 131  06212   Normal       SI
## 132  06220   Normal       SI
## 133  06231 Superior       NO
## 134  07242 Superior       NO
## 135  07311   Normal       NO
## 136  07312   Normal       NO
## 137  07324   Normal       NO
## 138  07332   Normal       SI
## 139  07350   Normal       SI
## 140  08202   Normal       SI
## 141  08303 Inferior       SI
## 142  09112 Inferior       SI
## 143  09332   Normal       NO
## 144  09342 Inferior       NO
## 145  09350 Inferior       NO
## 146  09421   Normal       NO
## 147  09430   Normal       NO
## 148  09521   Normal       SI
## 149  09522   Normal       SI
## 150  09549   Normal       NO
## 151  09601   Normal       SI
## 152  10305 Superior       NO
## 153  10400   Normal       SI
## 154  11116   Normal       SI
## 155  11201   Normal       SI
## 156  12113   Normal       SI
## 157  12311   Normal       NO
## 158  12530   Normal       SI
## 159  12552 Inferior       NO
## 160  12810   Normal       SI
## 161  03131   Normal       SI
## 162  04531 Inferior       SI
## 163  04548 Inferior       SI
## 164  05113   Normal       SI
## 165  06131 Inferior       NO
## 166  06211   Normal       NO
## 167  07111   Normal       SI
## 168  07224   Normal       NO
## 169  07230   Normal       NO
## 170  11111   Normal       SI
## 171  11202   Normal       NO
## 172  05312 Inferior       SI
## 173  05321   Normal       SI
## 174  05324 Inferior       SI
## 175  05403   Normal       NO
## 176  05522   Normal       SI
## 177  09511   Normal       NO
## 178  12329   Normal       NO
## 179  06300 Superior       NO
## 180  07322   Normal       NO
## 181  08302 Inferior       NO
## 182  10111 Superior       SI
## 183  03211   Normal       SI
## 184  05111   Normal       SI
## 185  05114 Superior       NO
## 186  05121   Normal       SI
## 187  05209   Normal       NO
## 188  05322   Normal       SI
## 189  08204   Normal       NO
## 190  09121 Superior       SI
## 191  09423   Normal       SI
## 192  12620 Inferior       SI
## 193  05521   Normal       NO
## 194  07212   Normal       NO
## 195  09512   Normal       SI
## 196  10306 Superior       NO
## 197  11203 Superior       NO
## 198  12820 Superior       SI
## 199  04310 Inferior       NO
## 200  12131   Normal       NO
## 201  03213   Normal       SI
## 202  05623   Normal       SI
## 203  09411   Normal       NO
## 204  11115   Normal       SI
## 205  05202   Normal       SI
## 206  05329   Normal       SI
## 207  05511   Normal       SI
## 208  07112   Normal       NO
## 209  09514 Superior       NO
## 210  09541   Normal       NO
## 211  10212 Superior       NO
## 212  10214 Superior       NO
## 213  11122 Superior       SI
## 214  12121   Normal       SI
## 215  12312 Superior       SI
## 216  12702   Normal       SI
## 217  03220   Normal       SI
## 218  04325   Normal       SI
## 219  06133   Normal       SI
## 220  09331   Normal       NO
## 221  04523 Inferior       SI
## 222  05112 Superior       NO
## 223  05122   Normal       NO
## 224  05203   Normal       SI
## 225  05330   Normal       SI
## 226  05404   Normal       NO
## 227  07130   Normal       SI
## 228  07243 Superior       NO
## 229  07321 Inferior       NO
## 230  09141   Normal       NO
## 231  09321   Normal       SI
## 232  09422 Superior       NO
## 233  09425   Normal       NO
## 234  09602 Superior       SI
## 235  11114   Normal       NO
## 236  12111   Normal       SI
## 237  12704   Normal       NO
## 238  10121 Superior       SI
## 239  04221 Inferior       NO
## 240  04323   Normal       SI
## 241  04412 Inferior       SI
## 242  04422 Inferior       NO
## 243  04432   Normal       SI
## 244  04512 Inferior       NO
## 245  05323   Normal       SI
## 246  12522   Normal       SI
## 247  04123   Normal       SI
## 248  04129 Superior       NO
## 249  04322   Normal       SI
## 250  04442   Normal       SI
## 251  04443 Superior       SI
## 252  04448   Normal       SI
## 253  04541   Normal       NO
## 254  07213   Normal       NO
## 255  09111   Normal       SI
## 256  09122 Superior       SI
## 257  09210 Superior       SI
## 258  10113 Superior       NO
## 259  10114 Superior       NO
## 260  10122 Superior       SI
## 261  10211 Superior       SI
## 262  10213 Superior       SI
## 263  10221 Superior       NO
## 264  10222 Superior       NO
## 265  10224 Superior       NO
## 266  10225   Normal       NO
## 267  10301 Superior       NO
## 268  10302 Superior       NO
## 269  10303 Superior       SI
## 270  10304 Superior       NO
## 271  12559   Normal       SI
## 272  02203 Inferior       NO
## 273  05115   Normal       SI
## 274  05201   Normal       NO
## 275  05204 Superior       NO
## 276  05311 Inferior       SI
## 277  05315   Normal       SI
## 278  05319   Normal       NO
## 279  05402   Normal       SI
## 280  05512   Normal       SI
## 281  05523   Normal       NO
## 282  05622 Superior       SI
## 283  05629   Normal       NO
## 284  06112   Normal       NO
## 285  06121   Normal       NO
## 286  06132   Normal       NO
## 287  06232 Superior       NO
## 288  07211   Normal       SI
## 289  07223   Normal       NO
## 290  07241 Superior       NO
## 291  07244   Normal       NO
## 292  07313   Normal       NO
## 293  07323 Superior       NO
## 294  07331   Normal       SI
## 295  07341   Normal       NO
## 296  07342 Superior       SI
## 297  07361 Superior       SI
## 298  07362 Superior       NO
## 299  08101   Normal       NO
## 300  08109   Normal       SI
## 301  08201   Normal       SI
## 302  08309   Normal       NO
## 303  09113   Normal       SI
## 304  09119   Normal       SI
## 305  09123 Superior       NO
## 306  09132   Normal       SI
## 307  09133 Superior       NO
## 308  09134 Superior       NO
## 309  09142   Normal       NO
## 310  09149 Superior       NO
## 311  09150 Superior       NO
## 312  09311   Normal       NO
## 313  09322   Normal       NO
## 314  09341   Normal       NO
## 315  09424   Normal       SI
## 316  09429 Superior       SI
## 317  09513 Superior       NO
## 318  09530 Superior       NO
## 319  11121 Superior       NO
## 320  11204 Superior       SI
## 321  12122   Normal       NO
## 322  12313   Normal       NO
## 323  12322   Normal       SI
## 324  12323   Normal       NO
## 325  12328   Normal       NO
## 326  12401   Normal       NO
## 327  12402   Normal       NO
## 328  12403   Normal       NO
## 329  12404   Normal       NO
## 330  12542 Superior       NO
## 331  12551   Normal       SI
## 332  12701   Normal       SI
## 333  12703   Normal       NO
## 334  02202 Inferior       SI
## 335  09221   Normal       SI
## 336  03141 Superior       SI
## 337  05130   Normal       SI
## 338  07369   Normal       SI
## 339  03142   Normal       SI
## 340  04122   Normal       SI
## 341  07120 Superior       SI
## 342  04222 Inferior       SI
## 343  04329   Normal       SI
## 344  04522   Normal       SI
## 345  04324   Normal       SI
## 346  04121   Normal       SI
## 347  04524   Normal       SI
## 348  05123   Normal       SI
## 349  05624   Normal       SI
## 350  08203   Normal       NO
## 351  09323   Normal       NO
## 352  04532   Normal       SI
## 353  09222   Normal       SI
## 354  04124   Normal       SI
## 355  04444 Superior       SI
## 356  04449   Normal       SI
## 357  04542   Normal       SI
## 358  04549   Normal       SI
## 359  04223 Inferior       SI
## 360  09230   Normal       SI
## 361  11130 Inferior       SI
## 362  10223   Normal       SI

Bibliografía:

Alvarez, P. (2011): Apuntes de Microeconomía I - Curso 2011-2012. Universidad de Cantabria.

Barnett; W. A. (1983). “New Indices of Money Supply and the Flexible Laurent Demand System.” J. Bus. and Econ. Statist. 7-23.

Barten, A.P. (1993). “Consumer Allocation Models: Choice of Functional Form.” Empirical Economics. 18:129-158.

Berges, Casellas, Fernandez (2007): SISTEMAS DE DEMANDA DE ALIMENTOS. Comparación y discusión de metodologías utilizando LES y LINQUAD en Encuestas de hogares. XXXVIII Congreso de la Asociación Argentina de Economía Agraria, Mendoza, Octubre 2007 http://nulan.mdp.edu.ar/1014/1/00310.pdf

Caves, W., Christensen; L. R. and Tretheway; M. W. (1980): “Flexible cost functions for multiproduct firms”. The Review of Economics and Statistics. Nº 62; págs 477-481.

Christensen; L. R.; D. W. Jorgenson; and L. J. Lau. “Transcendental Logarithmic Production Frontiers.” Rev. Econ. and Statist. 55(1973):28-45.

Chalfant J. y Gallant A. (1985); “Estimating substitution elasticities with the Fourier costs function; some Monte Carlo results”; Journal of Econometrics; 28; 205-222.

Deaton A. y Muellbauer J. (1980); “An Almost Ideal Demand System”,American Economic Review; 70; 312-326

Despotakis; K. A. (1986). “Economic Performance of Flexible Functional Forms.” Eur. Econ. Rev. 30.1107-43.

Diewert W. y Wales T. (1987); “Flexible Functional Forms and Global Curvature Conditions”; conometrica; 55; No. 1; 43-68.

Elbadawi; I., A. R. Gallant and G. Souza. (1983). “An Elasticity Can Be Estimated Consistently without A Priori Knowledge of Functional Form.” Econometrica 51.1731-51.

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

Fleissig A., Kastns T. and Terrell D. (1997); “Semi-nonparametric estimates of substitution elasticities”; Economics Letters; 54; No. 3; 209-219.

Gallant; A. R.(1981) “On the Bias in Flexible Functional Forms and an Essentially Unbiased Form.” J. Econometrics 15(1981):211-45.

Gallant; A. R. (1982). “Unbiased Determination of Production Technologies.” J. Econometrics 20. 285-323.

Gallant A. and Golub G. (1984); “Imposing Curvature Restrictions on Flexible Functional Forms”; Journal of Econometrics; 26; 295-321

Gallant, A. R. and Souza, G. (1991), “On the Asymptotic Normality of Fourier Flexible Form Estimates,” Journal of Econometrics 50, 329-353

Gonzalez y Urtasun (2015).LA DINÁMICA DEL CONSUMO EN ESPAÑA POR TIPOS DE PRODUCTOS. Banco de España. BOLETÍN ECONÓMICO, SEPTIEMBRE 2015.

Guilkey D. y Lovell C. (1980); “On the Flexibility of the Translog Approximation”. International Economic Review; 21; 137-147.

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

Del Oro Sáez, C.P.; Rodríguez Rey, M.; Riobóo Almanzor, J. Ma.(2000). “Estimación de curvas de Engel: un enfoque no paramétrico y su aplicación al caso gallego”. Estudios de Economía Aplicada, vol. 16, núm. 3, diciembre, 2000, pp. 37-61

Lanfranco, Bruno (2004) “Aspectos teóricos y estimación empírica de sistemas de demanda por alimentos”. 1º Congreso Regional de Economistas Agrarios. Mar del Plata. Octubre 2004.

McFadden; D. (1963). “Constant Elasticity of Substitution Production Functions.” Rev. Econ. Stud. 30.73-83. Maddala; G. S. Econometrics. New York: McGraw-Hill Book Co.; 1977.

Molina, J.A. (2002). Modelling the demand behavior of Spanish consumers using parametric and non-parametric approaches.Studies in Economics and Econometrics, 26, 19-36.

Nadaraya, E. A. (1964). “On Estimating Regression”. Theory of Probability and Its Applications. 9 (1): 141-2. doi:10.1137/1109020.

Pampillon R. (2009): Economy Weblog: https://economy.blogs.ie.edu/archives/2009/07/%C2%BFque-es-la-elasticidad-renta-de-la-demanda/

Parra F (2015): Seasonal Adjustment by Frequency Analysis. Package R Version 1.2. https://cran.r-project.org/web/packages/descomponer/index.html

Parra F: (2016): Estimación de una Propensión Marginal al Consumo Keynesiana. https://econometria.wordpress.com/2016/12/30/estimacion-de-una-propension-marginal-al-consumo-keynesiana/

Parra F: (2019): Redes Sociales en el Consumo de los Hogares.http://rpubs.com/PacoParra/439814

Stone, R. (1954). “Linear Expenditure System and Demand Analysis: an Application to the Pattern of British Demand”. The Economic Journal, 64, 511-527 Theil, H. (1965).“The Information Approach to Demand Analysis”.Econometrica, 33, 67-87.

White; H. (1980). “Using Least Squares to Approximate Unknown Regression Functions.” Int. Econ. Rev. 21.149-70.

Watson, G. S. (1964). “Smooth regression analysis”. Sankhya: The Indian Journal of Statistics, Series A. 26 (4): 359-372. JSTOR 25049340

ANEXO: Forma Flexible de Fourier (FFF)

Gallant (1981;1982) introdujo una forma funcional con capacidades muy distintas a las propuestas hasta el momento; cuyas propiedades de flexibilidad eran en todos los casos locales. La forma de Fourier que utiliza Gallant posee la propiedad de flexibilidad global; es decir; permite aproximar arbitrariamente cerca tanto a la función como a sus derivadas sobre todo el dominio de definición de las mismas. La idea que subyace en este tipo de aproximaciones (que podrían denominarse semi-no-paramétricas) es ampliar el orden de la base de expansión; cuando el tamaño de la muestra aumenta; hasta conseguir la convergencia asintótica de la función aproximante a la verdadera función generadora de los datos y a sus derivadas.

Por tratarse de una forma Sobolev-flexible (frente a la Diewert-flexibilidad de las anteriores) es capaz de estimar consistentemente las elasticidades precio y renta sobre todo el espacio de datos (ElBadawi, Gallant y Souza; 1983); además; asintóticamente pueden conseguirse contrastes estadísticos insesgados (Gallant; 1981 y 1982) y la eliminación del problema de inferencias aumentadas provocado por la especificación de un determinado modelo. Por último; Gallant y Souza (1991) han mostrado la normalidad asintótica de las estimaciones derivadas de la forma de Fourier.

En la parte negativa, el modelo de Fourier puede conseguir la regularidad global, pero las restricciones paramétricas que ello implica son excesivamente fuertes (Gallant, 1981); sin embargo, existen condiciones más débiles (que no destruyen ni la flexibilidad ni la consistencia de los estimadores) con las que se puede conseguir la regularidad teórica al menos sobre un conjunto finito de puntos (Gallant y Golub, 1983); aunque la implementación de tales restricciones resulta compleja (McFadden; 1985). En cualquier caso, las simulaciones de Monte Carlo realizadas por Fleissig, Kastens y Terrell (1997) y Chalfant y Gallant (1985) han mostrado que la región de regularidad de la forma de Fourier libre -sin restricciones de ningún tipo- es mucho mayor que la correspondiente a las formas Leontief-Generalizada o Translog.

Un polinomio de Fourier viene dado por la expresión:

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

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

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

La aproximación a una función no periódica g(x) por una serie de expansión de Fourier se realiza en Gallant (1981) añadiendo es esta un término lineal y cuadrático. De esta forma que la aproximación univariada se escribe como:

\[g(x/\theta)=\alpha + \beta x + \frac 1 2 \delta x^2 + 2\sum_{j=1}^J[a_j\cos(jx)+b_j\sin(jx)] (3)\]

El vector de parámetros es \((\theta)=(\alpha,\beta,\delta ,a_1,...,a_J, b_1,....,b_J)\) de longitud \(K=3+2J\), siendo siendo \(J \approx \sqrt n\) .

La expresión de la primera y segunda derivada de la función (3) son las siguientes:

\[D_xg(x/\theta)=\beta + \delta x + \sum_{j=1}^J[-a_j\sin(jx)-b_j\cos(jx)]j\]

\[D_x^2g(x/\theta)=\delta + \sum_{j=1}^J[-a_j\cos(jx)+b_j\sin(jx)]j^2\]

Dado que la variable exógena \(x\) no está expresada en forma periódica, debe de transformase o normalizarse en un intervalo de longitud menor que \(2\pi\);\([0,2\pi ]\).