You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Beginning an estimation with the specification name PYUnifbetaPointAggNetWorth...
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
File ~\GitHub\alanlujan91\DistributionOfWealthMPC\do_mid.py:18
15 point_options = basic_options.copy()
16 point_options.update(all_options["MainSpecPoint"])
---> 18 estimate(point_options, parameters)
20 # Run beta-dist model
22 dist_options = basic_options.copy()
File ~\GitHub\alanlujan91\DistributionOfWealthMPC\code\estimation.py:520, in estimate(options, params)
516 else:
517 # Run the param-point estimation only
519 t_start = time()
--> 520 center_estimate = root_scalar(
521 get_ky_ratio_difference,
522 args=(
523 0.0,
524 economy,
525 options["param_name"],
526 param_count,
527 options["dist_type"],
528 ),
529 method="brenth",
530 bracket=param_range,
531 xtol=1e-6,
532 ).root
533 spread_estimate = 0.0
534 t_end = time()
File ~\mambaforge\envs\cstwmpc\lib\site-packages\scipy\optimize\_root_scalar.py:279, in root_scalar(f, args, method, bracket, fprime, fprime2, x0, x1, xtol, rtol, maxiter, options)
277 a, b = bracket[:2]
278 try:
--> 279 r, sol = methodc(f, a, b, args=args, **kwargs)
280 except ValueError as e:
281 # gh-17622 fixed some bugs in low-level solvers by raising an error
282 # (rather than returning incorrect results) when the callable
283 # returns a NaN. It did so by wrapping the callable rather than
284 # modifying compiled code, so the iteration count is not available.
285 if hasattr(e, "_x"):
File ~\mambaforge\envs\cstwmpc\lib\site-packages\scipy\optimize\_zeros_py.py:913, in brenth(f, a, b, args, xtol, rtol, maxiter, full_output, disp)
911 raise ValueError(f"rtol too small ({rtol:g} < {_rtol:g})")
912 f = _wrap_nan_raise(f)
--> 913 r = _zeros._brenth(f, a, b, xtol, rtol, maxiter, args, full_output, disp)
914 return results_c(full_output, r)
File ~\mambaforge\envs\cstwmpc\lib\site-packages\scipy\optimize\_zeros_py.py:90, in _wrap_nan_raise.<locals>.f_raise(x, *args)
89 def f_raise(x, *args):
---> 90 fx = f(x, *args)
91 f_raise._function_calls += 1
92 if np.isnan(fx):
File ~\GitHub\alanlujan91\DistributionOfWealthMPC\code\estimation.py:82, in get_ky_ratio_difference(center, spread, economy, param_name, param_count, dist_type)
80 # Distribute parameters
81 economy.distribute_params(param_name, param_count, center, spread, dist_type)
---> 82 economy.solve()
83 diff = economy.calc_KY_ratio_difference()
84 print(f"get_KY_ratio_difference tried center = {center} and got {diff}")
File ~\GitHub\alanlujan91\DistributionOfWealthMPC\code\agents.py:228, in CstwMPCMarket.solve(self)
226 for agent in self.agents:
227 agent.get_economy_data(self)
--> 228 Market.solve(self)
229 else:
230 self.solve_agents()
File ~\mambaforge\envs\cstwmpc\lib\site-packages\HARK\core.py:1433, in Market.solve(self)
1431 while go: # Loop until the dynamic process converges or we hit the loop cap
1432 self.solve_agents() # Solve each AgentType's micro problem
-> 1433 self.make_history() # "Run" the model while tracking aggregate variables
1434 new_dynamics = self.update_dynamics() # Find a new aggregate dynamic rule
1436 # Check to see if the dynamic rule has converged (if this is not the first loop)
File ~\mambaforge\envs\cstwmpc\lib\site-packages\HARK\core.py:1604, in Market.make_history(self)
1602 self.cultivate() # Agents take action
1603 self.reap() # Collect individual data from agents
-> 1604 self.mill() # Process individual data into aggregate data
1605 self.store()
File ~\mambaforge\envs\cstwmpc\lib\site-packages\HARK\core.py:1513, in Market.mill(self)
1510 mill_dict.update(self.const_vars)
1512 # Run the mill_rule and store its output in self
-> 1513 product = self.mill_rule(**mill_dict)
1515 for i, sow_var in enumerate(self.sow_state):
1516 self.sow_state[sow_var] = product[i]
File ~\GitHub\alanlujan91\DistributionOfWealthMPC\code\agents.py:276, in CstwMPCMarket.mill_rule(self, aLvl, pLvl, MPCnow, TranShk, EmpNow, WeightFac, t_age)
272 def mill_rule(self, aLvl, pLvl, MPCnow, TranShk, EmpNow, WeightFac, t_age):
273 """
274 The mill_rule for this class simply calls the method calc_stats.
275 """
--> 276 self.calc_stats(
277 aLvl,
278 pLvl,
279 MPCnow,
280 TranShk,
281 EmpNow,
282 WeightFac,
283 t_age,
284 self.parameters["LorenzBool"],
285 self.parameters["ManyStatsBool"],
286 )
288 if self.AggShockBool:
289 return self.calc_R_and_W(aLvl, pLvl)
File ~\GitHub\alanlujan91\DistributionOfWealthMPC\code\agents.py:339, in CstwMPCMarket.calc_stats(self, aLvlNow, pLvlNow, MPCnow, TranShkNow, EmpNow, WeightFac, t_age, LorenzBool, ManyStatsBool)
337 aLvl = np.hstack(aLvlNow)
338 pLvl = np.hstack(pLvlNow)
--> 339 CohortWeight = np.hstack(WeightFac)
340 age = np.hstack(t_age)
341 TranShk = np.hstack(TranShkNow)
File ~\mambaforge\envs\cstwmpc\lib\site-packages\numpy\core\shape_base.py:359, in hstack(tup, dtype, casting)
357 return _nx.concatenate(arrs, 0, dtype=dtype, casting=casting)
358 else:
--> 359 return _nx.concatenate(arrs, 1, dtype=dtype, casting=casting)
ValueError: need at least one array to concatenate
The text was updated successfully, but these errors were encountered:
The text was updated successfully, but these errors were encountered: