def _work(y, x, w, regi_ids, r, yend, q, robust, sig2n_k, name_ds, name_y, name_x, name_yend, name_q, name_w, name_regimes): y_r = y[regi_ids[r]] x_r = x[regi_ids[r]] yend_r = yend[regi_ids[r]] q_r = q[regi_ids[r]] x_constant = USER.check_constant(x_r) if robust == 'hac' or robust == 'ogmm': robust2 = None else: robust2 = robust model = BaseTSLS(y_r, x_constant, yend_r, q_r, robust=robust2, sig2n_k=sig2n_k) model.title = "TWO STAGE LEAST SQUARES ESTIMATION - REGIME %s" % r if robust == 'ogmm': _optimal_weight(model, sig2n_k, warn=False) model.robust = USER.set_robust(robust) model.name_ds = name_ds model.name_y = '%s_%s' % (str(r), name_y) model.name_x = ['%s_%s' % (str(r), i) for i in name_x] model.name_yend = ['%s_%s' % (str(r), i) for i in name_yend] model.name_z = model.name_x + model.name_yend model.name_q = ['%s_%s' % (str(r), i) for i in name_q] model.name_h = model.name_x + model.name_q model.name_w = name_w model.name_regimes = name_regimes if w: w_r, warn = REGI.w_regime(w, regi_ids[r], r, transform=True) set_warn(model, warn) model.w = w_r return model
def _work(y,x,regi_ids,r,yend,q,w_r,w_lags,lag_q,robust,sig2n_k,name_ds,name_y,name_x,name_yend,name_q,name_w,name_regimes): y_r = y[regi_ids[r]] x_r = x[regi_ids[r]] if yend != None: yend_r = yend[regi_ids[r]] else: yend_r = yend if q != None: q_r = q[regi_ids[r]] else: q_r = q yend_r, q_r = set_endog_sparse(y_r, x_r, w_r, yend_r, q_r, w_lags, lag_q) x_constant = USER.check_constant(x_r) if robust == 'hac': robust = None model = BaseTSLS(y_r, x_constant, yend_r, q_r, robust=robust, sig2n_k=sig2n_k) model.title = "SPATIAL TWO STAGE LEAST SQUARES ESTIMATION - REGIME %s" %r model.robust = USER.set_robust(robust) model.name_ds = name_ds model.name_y = '%s_%s'%(str(r), name_y) model.name_x = ['%s_%s'%(str(r), i) for i in name_x] model.name_yend = ['%s_%s'%(str(r), i) for i in name_yend] model.name_z = model.name_x + model.name_yend model.name_q = ['%s_%s'%(str(r), i) for i in name_q] model.name_h = model.name_x + model.name_q model.name_w = name_w model.name_regimes = name_regimes return model
def _work( y, x, regi_ids, r, yend, q, w_r, w_lags, lag_q, robust, sig2n_k, name_ds, name_y, name_x, name_yend, name_q, name_w, name_regimes, ): y_r = y[regi_ids[r]] x_r = x[regi_ids[r]] if yend != None: yend_r = yend[regi_ids[r]] else: yend_r = yend if q != None: q_r = q[regi_ids[r]] else: q_r = q yend_r, q_r = set_endog_sparse(y_r, x_r, w_r, yend_r, q_r, w_lags, lag_q) x_constant = USER.check_constant(x_r) if robust == "hac" or robust == "ogmm": robust2 = None else: robust2 = robust model = BaseTSLS(y_r, x_constant, yend_r, q_r, robust=robust2, sig2n_k=sig2n_k) model.title = "SPATIAL TWO STAGE LEAST SQUARES ESTIMATION - REGIME %s" % r if robust == "ogmm": _optimal_weight(model, sig2n_k, warn=False) model.rho = model.betas[-1] model.robust = USER.set_robust(robust) model.name_ds = name_ds model.name_y = "%s_%s" % (str(r), name_y) model.name_x = ["%s_%s" % (str(r), i) for i in name_x] model.name_yend = ["%s_%s" % (str(r), i) for i in name_yend] model.name_z = model.name_x + model.name_yend model.name_q = ["%s_%s" % (str(r), i) for i in name_q] model.name_h = model.name_x + model.name_q model.name_w = name_w model.name_regimes = name_regimes return model