def setup_class(self): from statsmodels.datasets.star98 import load data = load() data.exog = add_constant(data.exog, prepend=False) self.res1 = GLM(data.endog, data.exog, family=sm.families.Binomial()).fit() weights = data.endog.sum(axis=1) endog2 = data.endog[:, 0] / weights self.res2 = GLM(endog2, data.exog, family=sm.families.Binomial(), var_weights=weights).fit()
def setup_class(cls): from statsmodels.datasets.star98 import load data = load() data.exog = add_constant(data.exog, prepend=False) cls.res1 = GLM(data.endog, data.exog, family=sm.families.Binomial()).fit() weights = data.endog.sum(axis=1) endog2 = data.endog[:, 0] / weights cls.res2 = GLM(endog2, data.exog, family=sm.families.Binomial(), var_weights=weights).fit()
import pandas as pd import pytest import statsmodels.api as sm from statsmodels.genmod.generalized_linear_model import GLM from statsmodels.tools.tools import add_constant from statsmodels.discrete import discrete_model as discrete from statsmodels.tools.sm_exceptions import SpecificationWarning from .results import results_glm_poisson_weights as res_stata from .results import res_R_var_weight as res_r # load data into module namespace from statsmodels.datasets.cpunish import load cpunish_data = load() cpunish_data.exog[:, 3] = np.log(cpunish_data.exog[:, 3]) cpunish_data.exog = add_constant(cpunish_data.exog, prepend=False) class CheckWeight(object): def test_basic(self): res1 = self.res1 res2 = self.res2 assert_allclose(res1.params, res2.params, atol=1e-6, rtol=2e-6) corr_fact = getattr(self, 'corr_fact', 1) if hasattr(res2, 'normalized_cov_params'): assert_allclose(res1.normalized_cov_params, res2.normalized_cov_params, atol=1e-8,
import pandas as pd import pytest import statsmodels.api as sm from statsmodels.genmod.generalized_linear_model import GLM from statsmodels.tools.tools import add_constant from statsmodels.discrete import discrete_model as discrete from statsmodels.tools.sm_exceptions import SpecificationWarning from .results import results_glm_poisson_weights as res_stata from .results import res_R_var_weight as res_r # load data into module namespace from statsmodels.datasets.cpunish import load cpunish_data = load(as_pandas=False) cpunish_data.exog[:, 3] = np.log(cpunish_data.exog[:, 3]) cpunish_data.exog = add_constant(cpunish_data.exog, prepend=False) class CheckWeight(object): def test_basic(self): res1 = self.res1 res2 = self.res2 assert_allclose(res1.params, res2.params, atol=1e-6, rtol=2e-6) corr_fact = getattr(self, 'corr_fact', 1) if hasattr(res2, 'normalized_cov_params'): assert_allclose(res1.normalized_cov_params, res2.normalized_cov_params, atol=1e-8, rtol=2e-6)
Created on Thu Aug 3 21:08:49 2017 Author: Josef Perktold """ import numpy as np from numpy.testing import assert_allclose from statsmodels.discrete.discrete_model import (Poisson, NegativeBinomial, NegativeBinomialP) from statsmodels.tools.tools import add_constant import statsmodels.discrete.tests.results.results_count_margins as res_stata # load data into module namespace from statsmodels.datasets.cpunish import load cpunish_data = load() cpunish_data.exog[:,3] = np.log(cpunish_data.exog[:,3]) exog = add_constant(cpunish_data.exog, prepend=False) endog = cpunish_data.endog - 1 # avoid zero-truncation exog /= np.round(exog.max(0), 3) class CheckMarginMixin(object): rtol_fac = 1 def test_margins_table(self): res1 = self.res1 sl = self.res1_slice rf = self.rtol_fac assert_allclose(self.margeff.margeff, self.res1.params[sl], rtol=1e-5 * rf) assert_allclose(self.margeff.margeff_se, self.res1.bse[sl], rtol=1e-6 * rf) assert_allclose(self.margeff.pvalues, self.res1.pvalues[sl], rtol=5e-6 * rf)
Created on Thu Aug 3 21:08:49 2017 Author: Josef Perktold """ import numpy as np from numpy.testing import assert_allclose from statsmodels.discrete.discrete_model import (Poisson, NegativeBinomial, NegativeBinomialP) from statsmodels.tools.tools import add_constant import statsmodels.discrete.tests.results.results_count_margins as res_stata # load data into module namespace from statsmodels.datasets.cpunish import load cpunish_data = load(as_pandas=False) cpunish_data.exog[:, 3] = np.log(cpunish_data.exog[:, 3]) exog = add_constant(cpunish_data.exog, prepend=False) endog = cpunish_data.endog - 1 # avoid zero-truncation exog /= np.round(exog.max(0), 3) class CheckMarginMixin(object): rtol_fac = 1 def test_margins_table(self): res1 = self.res1 sl = self.res1_slice rf = self.rtol_fac assert_allclose(self.margeff.margeff, self.res1.params[sl],