コード例 #1
0
 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()
コード例 #2
0
 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()
コード例 #3
0
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,
コード例 #4
0
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)
コード例 #5
0
ファイル: test_margins.py プロジェクト: BranYang/statsmodels
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],