Tengo el siguiente problema de simulación:
Los consumidores, cuya utilidad conozco, van a comprar dos bienes. Sin embargo, los precios difieren cada vez que visitan una tienda. Por lo tanto, estos consumidores siempre compran de acuerdo con sus restricciones presupuestarias y funciones de utilidad actuales. Esto me da datos sobre las cantidades compradas y los precios correspondientes .
Pocos supuestos:
- La utilidad viene dada por la CES.
- La utilidad por consumidor es estable a lo largo del tiempo.
- Ni complementos perfectos ni sustitutos perfectos.
- Los coeficientes de elasticidad de sustitución difieren según los consumidores.
Lo que quiero averiguar a partir de estos datos es la coeficiente de elasticidad de sustitución . He intentado simular para 1000 iteraciones, regresión en consecuencia, pero los resultados son erróneos / sesgada.
Mi enfoque:
El problema es el siguiente:
$$ \max_{\boldsymbol{x}} U_{i}(\boldsymbol{x}) = \left( \alpha_1 x_1^{\rho_{i}} + \alpha_2 x_2^{\rho_{i}} \right)^{\frac{1}{\rho_{i}}} \qquad s.t. \qquad P_1 x_1 + P_2 x_2 \leq M $$
Donde esperamos que el $\rho_i$ diferir para cada consumidor.
Sé cómo calcular la elasticidad de sustitución:
$$\sigma_{ij} = \frac{\frac{\partial (x_j/x_i)}{x_j/x_i}}{\frac{\partial MRS_{ij}}{MRS_{ij}}}$$
Dónde $MRS_{ij} = MU_i/MU_j$ .
Entonces, conozco la principal condición de optimización del Lagrangiano:
$$\frac{MU_i}{MU_j} = \frac{P_i}{P_j}$$
Por lo tanto, puedo enchufar esto en la elasticidad de sustitución, obteniendo:
$$ \sigma_{ij} = \frac{\frac{\partial (x_j/x_i)}{x_j/x_i}}{\frac{\partial P_i/P_j}{P_i/P_j}} $$
Esto se puede reescribir en términos logarítmicos y de regresión como:
$$\ln \left( \frac{x_j}{x_i} \right) = \sigma_{ij} \ln \left( \frac{P_i}{P_j} \right) + \epsilon$$
Conozco la solución analítica para este problema de optimización (véase el código más abajo), por lo que puedo calcular la cantidad óptima comprada para cada consumidor. Simulo los precios, suponiendo que ambos consumidores van a la tienda cada día (durante el día, los precios son los mismos). A continuación, los consumidores realizan su elección... Observo estas elecciones y aplico la ecuación de regresión anterior. Sin embargo, los resultados son extraños...
Esperaba que el $\hat{\sigma_{i,j}}$ estar cerca de $1/(1-mean(\rho))$ Sin embargo, en realidad, cuanto mayor sea la diferencia entre $\rho_1$ y $\rho_2$ mayor y más positivo es el sesgo. Es esencial añadir que da resultados precisos, cuando ambos parámetros $\rho_1 = \rho_2$ .
Ahora la pregunta es: ¿Por qué están sesgados esos resultados? ¿Por qué el sesgo es positivo cuanto mayor es la diferencia entre ambas elasticidades reales? ¿Por qué no obtengo un valor medio de la elasticidad de sustitución? ¿Y cómo estimarla correctamente?
El código en R utilizado para la simulación:
CES_2x_analythic = function(a1, a2, rho, P1, P2, M) {
sc_factor = ((a2/a1)*(P1/P2))^(1/(rho-1))
x1 = M/(P1+P2*(1/sc_factor))
x2 = M/(P1*sc_factor + P2)
return(c(x1, x2))
}
multicust_2goods = function(a1 = 1, a2 = 2, rho,
M = 100, n_iter = 1000) {
n_cust = length(rho)
P1 = runif(n_iter, 1, 4)
P1 = P1[rep(1:n_iter, rep(n_cust, n_iter))]
P2 = runif(n_iter, 1, 4)
P2 = P2[rep(1:n_iter, rep(n_cust, n_iter))]
rho = rho[rep(1:n_cust, n_iter)]
mean_rho = mean(rho)
mean_eos = 1/(1-mean_rho)
print(mean_eos)
vys = matrix(NA, nrow = n_iter*n_cust, ncol = 2)
vys_teor = matrix(NA, nrow = n_iter*n_cust, ncol = 2)
for (i in 1:n_iter) {
vys[i,] = CES_2x_analythic(a1 = a1, a2 = a2, rho = rho[i],
P1 = P1[i], P2 = P2[i], M = M)
vys_teor[i,] = CES_2x_analythic(a1 = a1, a2 = a2, rho = mean_rho,
P1 = P1[i], P2 = P2[i], M = M)
}
ln_goods = log(vys[,2]/vys[,1])
ln_prices = log(P1/P2)
OLS = lm(ln_goods ~ ln_prices -1)
ln_g = log(vys_teor[,2]/vys_teor[,1])
ln_p = log(P1/P2)
OLS_teor = lm(ln_g ~ ln_p -1)
return(rbind(coef(OLS), coef(OLS_teor)) )
}
multicust_2goods(rho = c(-0.5,+0.5), n_iter = 1000)
¡Muchas gracias!