jeffgortmaker / pyblp

BLP Demand Estimation with Python
https://pyblp.readthedocs.io
MIT License
238 stars 81 forks source link

Support the pure characteristics model #26

Closed jeffgortmaker closed 4 years ago

jeffgortmaker commented 5 years ago

From Berry and Pakes (2007). This wouldn't require many changes to the API, but it would require new methods for solving the contraction mapping. Analytic Jacobians will likely be problematic as well.

fpinter commented 5 years ago

The "mixture of vertical models" method of Berry and Pakes (2007) requires that no two products within a market have the same price. It looks like this is true for CPUs (Song, Nosko) but it might not be true in all empirical settings.

You might have some luck with a proposed method by Lixiong Li, and another grad student has reported some success using the MCMC approach of Chernozhukov and Hong (2003).

If you're willing to go with the Berry and Pakes assumptions: another student and I tried using MPEC, and it did pretty well in simulations if the starting values were good enough. We did spend some time with the Jacobians if you're interested in discussing further.

jeffgortmaker commented 5 years ago

Thanks for the references, I'll take a look. My plan in the short run is to see how many issues with estimating this type of model are alleviated with the log-sum-exp trick and using Newton's method to solve the contraction.

jeffgortmaker commented 4 years ago

Added a simple approximation in 83f827c via logit error scaling. This is probably as far as I'll go for now unless there's more demand for getting PC exactly right going forward.