Exemplo n.º 1
0
class TestRlm(CheckRlmResults):
    from scikits.statsmodels.datasets.stackloss import load
    data = load()  # class attributes for subclasses
    data.exog = sm.add_constant(data.exog)

    def __init__(self):
        # Test precisions
        self.decimal_standarderrors = DECIMAL_1
        self.decimal_scale = DECIMAL_3

        results = RLM(self.data.endog, self.data.exog,\
                    M=sm.robust.norms.HuberT()).fit()   # default M
        h2 = RLM(self.data.endog, self.data.exog,\
                    M=sm.robust.norms.HuberT()).fit(cov="H2").bcov_scaled
        h3 = RLM(self.data.endog, self.data.exog,\
                    M=sm.robust.norms.HuberT()).fit(cov="H3").bcov_scaled
        self.res1 = results
        self.res1.h2 = h2
        self.res1.h3 = h3

    def setup(self):
        #        r.library('MASS')
        #        self.res2 = RModel(self.data.endog, self.data.exog,
        #                        r.rlm, psi="psi.huber")
        from results.results_rlm import Huber
        self.res2 = Huber()
Exemplo n.º 2
0
class TestRlmHuber(CheckRlmResults):
    from scikits.statsmodels.datasets.stackloss import load
    data = load()
    data.exog = sm.add_constant(data.exog)

    def __init__(self):
        results = RLM(self.data.endog, self.data.exog,\
                    M=sm.robust.norms.HuberT()).fit(scale_est=\
                    sm.robust.scale.HuberScale())
        h2 = RLM(self.data.endog, self.data.exog,\
                    M=sm.robust.norms.HuberT()).fit(cov="H2",
                    scale_est=sm.robust.scale.HuberScale()).bcov_scaled
        h3 = RLM(self.data.endog, self.data.exog,\
                    M=sm.robust.norms.HuberT()).fit(cov="H3",
                    scale_est=sm.robust.scale.HuberScale()).bcov_scaled
        self.res1 = results
        self.res1.h2 = h2
        self.res1.h3 = h3

    def setup(self):
        from results.results_rlm import HuberHuber
        self.res2 = HuberHuber()
Exemplo n.º 3
0
"""

import numpy as np
import scikits.statsmodels.api as sm

RLM = sm.RLM

DECIMAL_4 = 4
DECIMAL_3 = 3
DECIMAL_2 = 2
DECIMAL_1 = 1

from scikits.statsmodels.datasets.stackloss import load

data = load()  # class attributes for subclasses
data.exog = sm.add_constant(data.exog)

decimal_standarderrors = DECIMAL_1
decimal_scale = DECIMAL_3

results = RLM(data.endog, data.exog, M=sm.robust.norms.HuberT()).fit()  # default M
h2 = RLM(data.endog, data.exog, M=sm.robust.norms.HuberT()).fit(cov="H2").bcov_scaled
h3 = RLM(data.endog, data.exog, M=sm.robust.norms.HuberT()).fit(cov="H3").bcov_scaled


from scikits.statsmodels.robust.tests.results.results_rlm import Huber

res2 = Huber()

print "res2.h1"
#    results_huber = model_huber.fit(scale_est="stand_mad", update_scale=False)

#    model_ramsaysE = RLM(endog, exog, M=norms.RamsayE())
#    results_ramsaysE = model_ramsaysE.fit(update_scale=False)

#    model_andrewWave = RLM(endog, exog, M=norms.AndrewWave())
#    results_andrewWave = model_andrewWave.fit(update_scale=False)

#    model_hampel = RLM(endog, exog, M=norms.Hampel(a=1.7,b=3.4,c=8.5)) # convergence problems with scale changed, not with 2,4,8 though?
#    results_hampel = model_hampel.fit(update_scale=False)

#######################
### Stack Loss Data ###
#######################
    from scikits.statsmodels.datasets.stackloss import load
    data = load()
    data.exog = sm.add_constant(data.exog)
#############
### Huber ###
#############
#    m1_Huber = RLM(data.endog, data.exog, M=norms.HuberT())
#    results_Huber1 = m1_Huber.fit()
#    m2_Huber = RLM(data.endog, data.exog, M=norms.HuberT())
#    results_Huber2 = m2_Huber.fit(cov="H2")
#    m3_Huber = RLM(data.endog, data.exog, M=norms.HuberT())
#    results_Huber3 = m3_Huber.fit(cov="H3")
##############
### Hampel ###
##############
#    m1_Hampel = RLM(data.endog, data.exog, M=norms.Hampel())
#    results_Hampel1 = m1_Hampel.fit()
Exemplo n.º 5
0
from scikits.statsmodels.sandbox.tools import cross_val

if __name__ == '__main__':
    #A: josef-pktd

    import scikits.statsmodels.api as sm
    from scikits.statsmodels.api import OLS
    #from scikits.statsmodels.datasets.longley import load
    from scikits.statsmodels.datasets.stackloss import load
    from scikits.statsmodels.iolib.table import (SimpleTable, default_txt_fmt,
                                                 default_latex_fmt,
                                                 default_html_fmt)
    import numpy as np

    data = load()
    data.exog = sm.tools.add_constant(data.exog)

    resols = sm.OLS(data.endog, data.exog).fit()

    print '\n OLS leave 1 out'
    for inidx, outidx in cross_val.LeaveOneOut(len(data.endog)):
        res = sm.OLS(data.endog[inidx], data.exog[inidx, :]).fit()
        print data.endog[outidx], res.model.predict(res.params,
                                                    data.exog[outidx, :]),
        print data.endog[outidx] - res.model.predict(res.params,
                                                     data.exog[outidx, :])

    print '\n OLS leave 2 out'
    resparams = []
    for inidx, outidx in cross_val.LeavePOut(len(data.endog), 2):
Exemplo n.º 6
0
Created on Sun Mar 27 14:36:40 2011

"""

import numpy as np
import scikits.statsmodels.api as sm
RLM = sm.RLM

DECIMAL_4 = 4
DECIMAL_3 = 3
DECIMAL_2 = 2
DECIMAL_1 = 1

from scikits.statsmodels.datasets.stackloss import load
data = load()  # class attributes for subclasses
data.exog = sm.add_constant(data.exog)

decimal_standarderrors = DECIMAL_1
decimal_scale = DECIMAL_3

results = RLM(data.endog, data.exog,\
            M=sm.robust.norms.HuberT()).fit()   # default M
h2 = RLM(data.endog, data.exog,\
            M=sm.robust.norms.HuberT()).fit(cov="H2").bcov_scaled
h3 = RLM(data.endog, data.exog,\
            M=sm.robust.norms.HuberT()).fit(cov="H3").bcov_scaled

from scikits.statsmodels.robust.tests.results.results_rlm import Huber
res2 = Huber()