Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
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)
Ejemplo n.º 5
0
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)
Ejemplo n.º 6
0
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)