def test_predict_is_length(): """ Tests that the prediction IS dataframe length is equal to the number of steps h """ model = pf.GASLLT(data=data, family=pf.GASNormal()) x = model.fit() assert(model.predict_is(h=5).shape[0] == 5)
def test_normal_predict_is_length(): """ Tests that the length of the predict IS dataframe is equal to no of steps h """ model = pf.GASReg(formula="y ~ x1", data=data, family=pf.GASNormal()) x = model.fit() assert (model.predict_is(h=5).shape[0] == 5)
def test2_normal_predict_length(): """ Tests that the length of the predict dataframe is equal to no of steps h """ model = pf.GASReg(formula="y ~ x1 + x2", data=data, family=pf.GASNormal()) x = model.fit() x.summary() assert (model.predict(h=5, oos_data=data_oos).shape[0] == 5)
def test_predict_length(): """ Tests that the prediction dataframe length is equal to the number of steps h """ model = pf.GAS(data=data, ar=2, sc=2, family=pf.GASNormal()) x = model.fit() x.summary() assert(model.predict(h=5).shape[0] == 5)
def test_predict_nans(): """ Tests that the predictions are not nans """ model = pf.GASLLT(data=data, family=pf.GASNormal()) x = model.fit() x.summary() assert(len(model.predict(h=5).values[np.isnan(model.predict(h=5).values)]) == 0)
def test_predict_is_nans(): """ Tests that the in-sample predictions are not nans """ model = pf.GAS(data=data, ar=2, sc=2, family=pf.GASNormal()) x = model.fit() x.summary() assert(len(model.predict_is(h=5).values[np.isnan(model.predict_is(h=5).values)]) == 0)
def test_normal_predict_nans(): """ Tests that the predictions are not NaNs """ model = pf.GASReg(formula="y ~ x1", data=data, family=pf.GASNormal()) x = model.fit() x.summary() assert (len( model.predict(h=5, oos_data=data_oos).values[np.isnan( model.predict(h=5, oos_data=data_oos).values)]) == 0)
def test2_normal_predict_is_nans(): """ Tests that the predictions in-sample are not NaNs """ model = pf.GASReg(formula="y ~ x1 + x2", data=data, family=pf.GASNormal()) x = model.fit() x.summary() assert (len( model.predict_is(h=5).values[np.isnan( model.predict_is(h=5).values)]) == 0)
def test_pml(): """ Tests a PML model estimated with Laplace approximation and that the length of the latent variable list is correct, and that the estimated latent variables are not nan """ model = pf.GASLLT(data=data, family=pf.GASNormal()) x = model.fit('PML') assert(len(model.latent_variables.z_list) == 3) lvs = np.array([i.value for i in model.latent_variables.z_list]) assert(len(lvs[np.isnan(lvs)]) == 0)
def test_mh(): """ Tests an GAS model estimated with Metropolis-Hastings and that the length of the latent variable list is correct, and that the estimated latent variables are not nan """ model = pf.GASLLT(data=data, family=pf.GASNormal()) x = model.fit('M-H',nsims=300) assert(len(model.latent_variables.z_list) == 3) lvs = np.array([i.value for i in model.latent_variables.z_list]) assert(len(lvs[np.isnan(lvs)]) == 0)
def test_bbvi(): """ Tests an GAS model estimated with BBVI and that the length of the latent variable list is correct, and that the estimated latent variables are not nan """ model = pf.GASLLT(data=data, family=pf.GASNormal()) x = model.fit('BBVI',iterations=100) assert(len(model.latent_variables.z_list) == 3) lvs = np.array([i.value for i in model.latent_variables.z_list]) assert(len(lvs[np.isnan(lvs)]) == 0)
def test_couple_terms_integ(): """ Tests latent variable list length is correct, and that the estimated latent variables are not nan """ model = pf.GASLLT(data=data, integ=1, family=pf.GASNormal()) x = model.fit() assert(len(model.latent_variables.z_list) == 3) lvs = np.array([i.value for i in model.latent_variables.z_list]) assert(len(lvs[np.isnan(lvs)]) == 0)
def test2_normal_normal(): """ Tests an GASReg model estimated with Laplace, with multiple predictors, and tests that the latent variable vector length is correct, and that value are not nan """ model = pf.GASReg(formula="y ~ x1 + x2", data=data, family=pf.GASNormal()) x = model.fit('Laplace') assert (len(model.latent_variables.z_list) == 4) lvs = np.array([i.value for i in model.latent_variables.z_list]) assert (len(lvs[np.isnan(lvs)]) == 0)
def test_normal_no_terms(): """ Tests the length of the latent variable vector for an GASReg model with no AR or MA terms, and tests that the values are not nan """ model = pf.GASReg(formula="y ~ x1", data=data, family=pf.GASNormal()) x = model.fit() assert (len(model.latent_variables.z_list) == 3) lvs = np.array([i.value for i in model.latent_variables.z_list]) assert (len(lvs[np.isnan(lvs)]) == 0)
def test_normal_pml(): """ Tests an GASReg model estimated with PML, and tests that the latent variable vector length is correct, and that value are not nan """ model = pf.GASReg(formula="y ~ x1", data=data, family=pf.GASNormal()) x = model.fit('PML') assert (len(model.latent_variables.z_list) == 3) lvs = np.array([i.value for i in model.latent_variables.z_list]) assert (len(lvs[np.isnan(lvs)]) == 0)
def test_couple_terms_integ(): """ Tests an GAS model with 1 AR and 1 MA term, integrated once, and that the latent variable list length is correct, and that the estimated latent variables are not nan """ model = pf.GAS(data=data, ar=1, sc=1, integ=1, family=pf.GASNormal()) x = model.fit() assert(len(model.latent_variables.z_list) == 4) lvs = np.array([i.value for i in model.latent_variables.z_list]) assert(len(lvs[np.isnan(lvs)]) == 0)
def test_no_terms(): """ Tests an GAS model with no AR or MA terms, and that the latent variable list length is correct, and that the estimated latent variables are not nan """ model = pf.GAS(data=data, ar=0, sc=0, family=pf.GASNormal()) x = model.fit() assert(len(model.latent_variables.z_list) == 2) lvs = np.array([i.value for i in model.latent_variables.z_list]) assert(len(lvs[np.isnan(lvs)]) == 0)
def test_bbvi(): """ Tests an GASX model estimated with BBVI, and tests that the latent variable vector length is correct, and that value are not nan """ model = pf.GASX(formula="y ~ x1", data=data, ar=1, sc=1, family=pf.GASNormal()) x = model.fit('BBVI', iterations=100) assert (len(model.latent_variables.z_list) == 5) lvs = np.array([i.value for i in model.latent_variables.z_list]) assert (len(lvs[np.isnan(lvs)]) == 0)
def test_couple_terms(): """ Tests the length of the latent variable vector for an GASX model with 1 AR and 1 MA term, and tests that the values are not nan """ model = pf.GASX(formula="y ~ x1", data=data, ar=1, sc=1, family=pf.GASNormal()) x = model.fit() assert (len(model.latent_variables.z_list) == 5) lvs = np.array([i.value for i in model.latent_variables.z_list]) assert (len(lvs[np.isnan(lvs)]) == 0)
def test2_mh(): """ Tests an GASX model estimated with MEtropolis-Hastings, with multiple predictors, and tests that the latent variable vector length is correct, and that value are not nan """ model = pf.GASX(formula="y ~ x1 + x2", data=data, ar=1, sc=1, family=pf.GASNormal()) x = model.fit('M-H', nsims=300) assert (len(model.latent_variables.z_list) == 6) lvs = np.array([i.value for i in model.latent_variables.z_list]) assert (len(lvs[np.isnan(lvs)]) == 0)