Skip to content

Commit

Permalink
DOC: simplify Problem example
Browse files Browse the repository at this point in the history
  • Loading branch information
jeffgortmaker committed May 26, 2018
1 parent ce67c37 commit 80bd862
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions pyblp/problem.py
Original file line number Diff line number Diff line change
Expand Up @@ -135,29 +135,30 @@ class Problem(object):
.. ipython:: python
data = np.recfromcsv(pyblp.data.BLP_PRODUCTS_LOCATION)
linear = np.c_[np.ones(data.size), data['hpwt'], data['air'], data['mpg'], data['space']]
characteristics = np.c_[np.ones(data.size), data['hpwt'], data['air'], data['mpd'], data['space']]
characteristic_data = {
'market_ids': data['market_ids'],
'firm_ids': data['firm_ids'],
'characteristics': linear
'characteristics': characteristics
}
instruments = np.c_[linear, pyblp.build_blp_instruments(characteristic_data)]
instruments = np.c_[characteristics, pyblp.build_blp_instruments(characteristic_data)]
product_data = {
'market_ids': data['market_ids'],
'shares': data['shares'],
'prices': data['prices'],
'linear_characteristics': linear,
'nonlinear_characteristics': linear[:, :-1],
'linear_characteristics': characteristics,
'nonlinear_characteristics': characteristics[:, :3],
'demand_instruments': instruments
}
problem = pyblp.Problem(product_data, integration=pyblp.Integration('monte_carlo', 50, seed=0))
integration = pyblp.Integration('monte_carlo', 50, seed=0)
problem = pyblp.Problem(product_data, integration=integration, nonlinear_prices=False)
After choosing to optimize over the diagonal variance elements in :math:`\Sigma` and choosing starting values, the
initialized problem can be solved. For simplicity, the following code halts estimation after one GMM step:
.. ipython:: python
initial_sigma = np.diag(np.ones(5))
initial_sigma = np.eye(3)
results = problem.solve(initial_sigma, steps=1)
results
Expand Down

0 comments on commit 80bd862

Please sign in to comment.