def test_mv_reg_smoke(mvreg_data): dependent, exog = mvreg_data mod = SUR.multivariate_ls(dependent, exog) mod.fit() mod.fit(cov_type='unadjusted') res = mod.fit(cov_type='unadjusted', method='ols') assert res.method == 'OLS' res = mod.fit(full_cov=False) get_res(res)
def test_mv_reg_smoke(mvreg_data): dependent, exog = mvreg_data mod = SUR.multivariate_ls(dependent, exog) mod.fit() mod.fit(cov_type="unadjusted") res = mod.fit(cov_type="unadjusted", method="ols") assert res.method == "OLS" res = mod.fit(full_cov=False) get_res(res)
def test_mv_ols_equivalence_hetero_debiased(mvreg_data): dependent, exog = mvreg_data mod = SUR.multivariate_ls(dependent, exog) res = mod.fit(cov_type='robust', debiased=True) keys = res.equation_labels for i in range(dependent.shape[1]): ols_mod = OLS(dependent[:, i], exog) ols_res = ols_mod.fit(cov_type='robust', debiased=True) mv_res = res.equations[keys[i]] check_results(mv_res, ols_res)
def test_mv_ols_equivalence(mvreg_data): dependent, exog = mvreg_data mod = SUR.multivariate_ls(dependent, exog) res = mod.fit(cov_type='unadjusted') keys = res.equation_labels assert res.method == 'OLS' for i in range(dependent.shape[1]): ols_mod = OLS(dependent[:, i], exog) ols_res = ols_mod.fit(cov_type='unadjusted', debiased=False) mv_res = res.equations[keys[i]] assert mv_res.method == 'OLS' check_results(mv_res, ols_res)
def test_gls_without_mv_ols_equiv(mvreg_data): dependent, exog = mvreg_data mv_mod = SUR.multivariate_ls(dependent, exog) mv_res = mv_mod.fit() keys = mv_res.equation_labels ad = AttrDict() for i in range(dependent.shape[1]): key = 'dependent.{0}'.format(i) df = DataFrame(dependent[:, [i]], columns=[key]) ad[key] = {'dependent': df, 'exog': exog.copy()} gls_mod = SUR(ad) gls_res = gls_mod.fit(method='ols') check_results(mv_res, gls_res) for i in range(dependent.shape[1]): mv_res_eq = mv_res.equations[keys[i]] gls_res_eq = gls_res.equations[keys[i]] check_results(mv_res_eq, gls_res_eq) mv_res = mv_mod.fit(cov_type='robust') gls_res = gls_mod.fit(cov_type='robust', method='ols') check_results(mv_res, gls_res) for i in range(dependent.shape[1]): mv_res_eq = mv_res.equations[keys[i]] gls_res_eq = gls_res.equations[keys[i]] check_results(mv_res_eq, gls_res_eq) mv_res = mv_mod.fit(cov_type='robust', debiased=True) gls_res = gls_mod.fit(cov_type='robust', method='ols', debiased=True) check_results(mv_res, gls_res) for i in range(dependent.shape[1]): mv_res_eq = mv_res.equations[keys[i]] gls_res_eq = gls_res.equations[keys[i]] check_results(mv_res_eq, gls_res_eq)
def test_gls_eye_mv_ols_equiv(mvreg_data): dependent, exog = mvreg_data mv_mod = SUR.multivariate_ls(dependent, exog) mv_res = mv_mod.fit() keys = mv_res.equation_labels ad = AttrDict() for i in range(dependent.shape[1]): key = "dependent.{0}".format(i) df = DataFrame(dependent[:, [i]], columns=[key]) ad[key] = {"dependent": df, "exog": exog.copy()} gls_mod = SUR(ad, sigma=np.eye(len(ad))) gls_res = gls_mod.fit(method="gls") check_results(mv_res, gls_res) for i in range(dependent.shape[1]): mv_res_eq = mv_res.equations[keys[i]] gls_res_eq = gls_res.equations[keys[i]] check_results(mv_res_eq, gls_res_eq) mv_res = mv_mod.fit(cov_type="robust") gls_res = gls_mod.fit(cov_type="robust", method="gls") check_results(mv_res, gls_res) for i in range(dependent.shape[1]): mv_res_eq = mv_res.equations[keys[i]] gls_res_eq = gls_res.equations[keys[i]] check_results(mv_res_eq, gls_res_eq) mv_res = mv_mod.fit(cov_type="robust", debiased=True) gls_res = gls_mod.fit(cov_type="robust", method="gls", debiased=True) check_results(mv_res, gls_res) for i in range(dependent.shape[1]): mv_res_eq = mv_res.equations[keys[i]] gls_res_eq = gls_res.equations[keys[i]] check_results(mv_res_eq, gls_res_eq)