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.
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)
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:
Función lineal: \(Y=a+bx+u\)
Función potencial o isoelástica: \(Y=ax^b+u\)
Función semilogarítmica o de Engel: \(Y=a+b ln(x)+u\)
Función logarítmica inversa: \(log(\frac 1 Y)=a+\frac b X + u\)
Función inversa: \(\frac 1 Y = a + \frac b X + u\)
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.
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}\).
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
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).
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:
Servicios de alojamiento en hoteles y moteles
Servicios de alojamiento en hostales, pensiones y establecimientos análogos que ofrecen “cama y desayuno”.
Servicios de alojamiento en Paradores Nacionales.
Servicios de alojamiento en casas rurales siempre que la casa rural disponga de servicio de comedor (no sólo desayunos).
Servicios de alojamiento en balnearios con fines no terapéuticos
#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.
Las cuotas de televisión o radio (canales privados, movistar, orange tv, vodafone tv, tasa por el uso de televisión.) cuando se pagan por separado.
Cuota de videoclubs.
Pago por el visionado de películas o eventos deportivos a los canales privados de las operadoras arriba mencionadas.
Hilo musical.
Licencias de radio aficionado y licencias de radio y televisión.
Alojamiento y dominio de páginas web.
Televisión a la carta (Netflix, Totalchannel,..)
Pago de penalización por incumplir compromiso de permanencia.
Servicios prestados por los sitios web que ofrecen streaming de películas de suscripción y cuota mensual.
#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)
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
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
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 ]\).