Exemple #1
0
def test_compare_arma():
    #this is a preliminary test to compare arma_kf, arma_cond_ls and arma_cond_mle
    #the results returned by the fit methods are incomplete
    #for now without random.seed

    #np.random.seed(9876565)
    x = fa.ArmaFft([1, -0.5], [1., 0.4], 40).generate_sample(size=200,
            burnin=1000)

# this used kalman filter through descriptive
#    d = ARMA(x)
#    d.fit((1,1), trend='nc')
#    dres = d.res

    modkf = ARMA(x)
    ##rkf = mkf.fit((1,1))
    ##rkf.params
    reskf = modkf.fit((1,1), trend='nc', disp=-1)
    dres = reskf

    modc = Arma(x)
    resls = modc.fit(order=(1,1))
    rescm = modc.fit_mle(order=(1,1), start_params=[0.4,0.4, 1.], disp=0)

    #decimal 1 corresponds to threshold of 5% difference
    #still different sign  corrcted
    #assert_almost_equal(np.abs(resls[0] / d.params), np.ones(d.params.shape), decimal=1)
    assert_almost_equal(resls[0] / dres.params, np.ones(dres.params.shape),
        decimal=1)
    #rescm also contains variance estimate as last element of params

    #assert_almost_equal(np.abs(rescm.params[:-1] / d.params), np.ones(d.params.shape), decimal=1)
    assert_almost_equal(rescm.params[:-1] / dres.params, np.ones(dres.params.shape), decimal=1)
Exemple #2
0
def test_compare_arma():
    #this is a preliminary test to compare arma_kf, arma_cond_ls and arma_cond_mle
    #the results returned by the fit methods are incomplete
    #for now without random.seed

    #np.random.seed(9876565)
    x = fa.ArmaFft([1, -0.5], [1., 0.4], 40).generate_sample(size=200,
            burnin=1000)

# this used kalman filter through descriptive
#    d = ARMA(x)
#    d.fit((1,1), trend='nc')
#    dres = d.res

    modkf = ARMA(x)
    ##rkf = mkf.fit((1,1))
    ##rkf.params
    reskf = modkf.fit((1,1), trend='nc', disp=-1)
    dres = reskf

    modc = Arma(x)
    resls = modc.fit(order=(1,1))
    rescm = modc.fit_mle(order=(1,1), start_params=[0.4,0.4, 1.], disp=0)

    #decimal 1 corresponds to threshold of 5% difference
    #still different sign  corrcted
    #assert_almost_equal(np.abs(resls[0] / d.params), np.ones(d.params.shape), decimal=1)
    assert_almost_equal(resls[0] / dres.params, np.ones(dres.params.shape),
        decimal=1)
    #rescm also contains variance estimate as last element of params

    #assert_almost_equal(np.abs(rescm.params[:-1] / d.params), np.ones(d.params.shape), decimal=1)
    assert_almost_equal(rescm.params[:-1] / dres.params, np.ones(dres.params.shape), decimal=1)
Exemple #3
0
 def setupClass(cls):
     endog = y_arma[:, 11]
     cls.res1 = ARMA(endog).fit(order=(0, 2),
                                trend="c",
                                method="css",
                                disp=-1)
     cls.res2 = results_arma.Y_arma02c("css")
Exemple #4
0
 def setupClass(cls):
     endog = y_arma[:,2]
     cls.res1 = ARMA(endog).fit(order=(4,1), trend='nc', disp=-1)
     (cls.res1.forecast_res, cls.res1.forecast_err,
             confint) = cls.res1.forecast(10)
     cls.res2 = results_arma.Y_arma41()
     cls.decimal_maroots = DECIMAL_3
Exemple #5
0
 def setupClass(cls):
     endog = y_arma[:, 7]
     cls.res1 = ARMA(endog).fit(order=(1, 4), trend="c", disp=-1)
     cls.res2 = results_arma.Y_arma14c()
     if fast_kalman:
         cls.decimal_t = 0
         cls.decimal_cov_params -= 1
Exemple #6
0
 def setupClass(cls):
     endog = y_arma[:,4]
     cls.res1 = ARMA(endog).fit(order=(5,0), method="css", trend='nc',
                         disp=-1)
     cls.res2 = results_arma.Y_arma50("css")
     cls.decimal_t = 0
     cls.decimal_llf = DECIMAL_1 # looks like rounding error?
Exemple #7
0
 def setupClass(cls):
     endog = y_arma[:,9]
     cls.res1 = ARMA(endog).fit(order=(2,2), trend="c", method="css",
                     disp=-1)
     cls.res2 = results_arma.Y_arma22c("css")
     cls.decimal_t = 0
     cls.decimal_pvalues = DECIMAL_1
Exemple #8
0
 def setupClass(cls):
     endog = y_arma[:,1]
     cls.res1 = ARMA(endog).fit(order=(1,4), method="css", trend='nc',
                         disp=-1)
     cls.res2 = results_arma.Y_arma14("css")
     cls.decimal_fittedvalues = DECIMAL_3
     cls.decimal_resid = DECIMAL_3
     cls.decimal_t = DECIMAL_1
Exemple #9
0
 def setupClass(cls):
     endog = y_arma[:, 0]
     cls.res1 = ARMA(endog).fit(order=(1, 1),
                                method="css",
                                trend='nc',
                                disp=-1)
     cls.res2 = results_arma.Y_arma11("css")
     cls.decimal_t = DECIMAL_1
Exemple #10
0
 def setupClass(cls):
     endog = y_arma[:,10]
     cls.res1 = ARMA(endog).fit(order=(5,0), trend="c", method="css",
                     disp=-1)
     cls.res2 = results_arma.Y_arma50c("css")
     cls.decimal_t = DECIMAL_1
     cls.decimal_params = DECIMAL_3
     cls.decimal_cov_params = DECIMAL_2
Exemple #11
0
 def setupClass(cls):
     endog = y_arma[:,2]
     cls.res1 = ARMA(endog).fit(order=(4,1), method="css", trend='nc',
                     disp=-1)
     cls.res2 = results_arma.Y_arma41("css")
     cls.decimal_t = DECIMAL_1
     cls.decimal_pvalues = 0
     cls.decimal_cov_params = DECIMAL_3
     cls.decimal_maroots = DECIMAL_1
Exemple #12
0
 def setupClass(cls):
     endog = y_arma[:,8]
     cls.res1 = ARMA(endog).fit(order=(4,1), trend="c", method="css",
                     disp=-1)
     cls.res2 = results_arma.Y_arma41c("css")
     cls.decimal_t = DECIMAL_1
     cls.decimal_cov_params = DECIMAL_1
     cls.decimal_maroots = DECIMAL_3
     cls.decimal_bse = DECIMAL_1
Exemple #13
0
 def setupClass(cls):
     endog = y_arma[:, 8]
     cls.res1 = ARMA(endog).fit(order=(4, 1), trend="c", disp=-1)
     cls.res2 = results_arma.Y_arma41c()
     cls.decimal_cov_params = DECIMAL_3
     cls.decimal_fittedvalues = DECIMAL_3
     cls.decimal_resid = DECIMAL_3
     if fast_kalman:
         cls.decimal_cov_params -= 2
         cls.decimal_bse -= 1
Exemple #14
0
 def setupClass(cls):
     endog = y_arma[:, 11]
     cls.res1 = ARMA(endog).fit(order=(0, 2), trend="c", disp=-1)
     cls.res2 = results_arma.Y_arma02c()
     if fast_kalman:
         cls.decimal_t -= 1
Exemple #15
0
 def setupClass(cls):
     endog = y_arma[:, 10]
     cls.res1 = ARMA(endog).fit(order=(5, 0), trend="c", disp=-1)
     cls.res2 = results_arma.Y_arma50c()
Exemple #16
0
 def setupClass(cls):
     endog = y_arma[:,0]
     cls.res1 = ARMA(endog).fit(order=(1,1), trend='nc', disp=-1)
     (cls.res1.forecast_res, cls.res1.forecast_err,
             confint) = cls.res1.forecast(10)
     cls.res2 = results_arma.Y_arma11()
Exemple #17
0
 def setupClass(cls):
     endog = y_arma[:, 6]
     cls.res1 = ARMA(endog).fit(order=(1, 1), trend="c", disp=-1)
     cls.res2 = results_arma.Y_arma11c()
Exemple #18
0
 def setupClass(cls):
     endog = y_arma[:, 3]
     cls.res1 = ARMA(endog).fit(order=(2, 2), trend='nc', disp=-1)
     cls.res2 = results_arma.Y_arma22()
     if fast_kalman:
         cls.decimal_t -= 1
Exemple #19
0
plt.figure()
plt.plot(modc.error_estimate)
#plt.show()

from scikits.statsmodels.miscmodels.tmodel import TArma

modct = TArma(x)
reslst = modc.fit(order=(1,1))
print reslst[0]
rescmt = modct.fit_mle(order=(1,1), start_params=[-0.4,0.4, 10, 1.],maxiter=500,
                       maxfun=500)
print rescmt.params


from scikits.statsmodels.tsa.arima_model import ARMA
mkf = ARMA(x)
##rkf = mkf.fit((1,1))
##rkf.params
rkf = mkf.fit((1,1), trend='nc')
print rkf.params

from scikits.statsmodels.tsa.arima_process import arma_generate_sample
np.random.seed(12345)
y_arma22 = arma_generate_sample([1.,-.85,.35, -0.1],[1,.25,-.7], nsample=1000)
##arma22 = ARMA(y_arma22)
##res22 = arma22.fit(trend = 'nc', order=(2,2))
##print 'kf ',res22.params
##res22css = arma22.fit(method='css',trend = 'nc', order=(2,2))
##print 'css', res22css.params
mod22 = Arma(y_arma22)
resls22 = mod22.fit(order=(2,2))
Exemple #20
0
 def setupClass(cls):
     endog = y_arma[:,10]
     cls.res1 = ARMA(endog).fit(order=(5,0), trend="c", disp=-1)
     (cls.res1.forecast_res, cls.res1.forecast_err,
             confint) = cls.res1.forecast(10)
     cls.res2 = results_arma.Y_arma50c()
Exemple #21
0
def test_reset_trend():
    endog = y_arma[:, 0]
    mod = ARMA(endog)
    res1 = mod.fit(order=(1, 1), trend="c", disp=-1)
    res2 = mod.fit(order=(1, 1), trend="nc", disp=-1)
    assert_equal(len(res1.params), len(res2.params) + 1)
Exemple #22
0
 def setupClass(cls):
     endog = y_arma[:, 2]
     cls.res1 = ARMA(endog).fit(order=(4, 1), trend='nc', disp=-1)
     cls.res2 = results_arma.Y_arma41()
     cls.decimal_maroots = DECIMAL_3
Exemple #23
0
def test_reset_trend():
    endog = y_arma[:,0]
    mod = ARMA(endog)
    res1 = mod.fit(order=(1,1), trend="c", disp=-1)
    res2 = mod.fit(order=(1,1), trend="nc", disp=-1)
    assert_equal(len(res1.params), len(res2.params)+1)
plt.figure()
plt.plot(modc.error_estimate)
# plt.show()

from scikits.statsmodels.miscmodels.tmodel import TArma

modct = TArma(x)
reslst = modc.fit(order=(1, 1))
print reslst[0]
rescmt = modct.fit_mle(order=(1, 1), start_params=[-0.4, 0.4, 10, 1.0], maxiter=500, maxfun=500)
print rescmt.params


from scikits.statsmodels.tsa.arima_model import ARMA

mkf = ARMA(x)
##rkf = mkf.fit((1,1))
##rkf.params
rkf = mkf.fit((1, 1), trend="nc")
print rkf.params

from scikits.statsmodels.tsa.arima_process import arma_generate_sample

np.random.seed(12345)
y_arma22 = arma_generate_sample([1.0, -0.85, 0.35, -0.1], [1, 0.25, -0.7], nsample=1000)
##arma22 = ARMA(y_arma22)
##res22 = arma22.fit(trend = 'nc', order=(2,2))
##print 'kf ',res22.params
##res22css = arma22.fit(method='css',trend = 'nc', order=(2,2))
##print 'css', res22css.params
mod22 = Arma(y_arma22)