コード例 #1
0
    def _params2cov(self, params, nobs):
        '''get autocovariance matrix from ARMA regression parameter

        ar parameters are assumed to have rhs parameterization

        '''
        ar = np.r_[[1], -params[:self.nar]]
        ma = np.r_[[1], params[-self.nma:]]
        #print 'ar', ar
        #print 'ma', ma
        #print 'nobs', nobs
        autocov = arma_acovf(ar, ma, nobs=nobs)
        #print 'arma_acovf(%r, %r, nobs=%d)' % (ar, ma, nobs)
        #print autocov.shape
        #something is strange  fixed in aram_acovf
        autocov = autocov[:nobs]
        sigma = toeplitz(autocov)
        return sigma
コード例 #2
0
    def _params2cov(self, params, nobs):
        '''get autocovariance matrix from ARMA regression parameter

        ar parameters are assumed to have rhs parameterization

        '''
        ar = np.r_[[1], -params[:self.nar]]
        ma = np.r_[[1], params[-self.nma:]]
        #print 'ar', ar
        #print 'ma', ma
        #print 'nobs', nobs
        autocov = arma_acovf(ar, ma, nobs=nobs)
        #print 'arma_acovf(%r, %r, nobs=%d)' % (ar, ma, nobs)
        #print autocov.shape
        #something is strange  fixed in aram_acovf
        autocov = autocov[:nobs]
        sigma = toeplitz(autocov)
        return sigma
コード例 #3
0
ファイル: example_arma.py プロジェクト: takluyver/statsmodels
ar1 = [1.0, -0.8]
ar0 = [1.0, 0.0]
ma1 = [1.0, 0.4]
ma2 = [1.0, 0.4, 0.6]
ma0 = [1.0, 0.0]

comparefn = dict([("ma1", acovf_ma1), ("ma2", acovf_ma2), ("arma11", acovf_arma11), ("ar1", acovf_arma11)])

cases = [("ma1", (ar0, ma1)), ("ma2", (ar0, ma2)), ("arma11", (ar1, ma1)), ("ar1", (ar1, ma0))]

for c, args in cases:

    ar, ma = args
    print
    print c, ar, ma
    myacovf = arma_acovf(ar, ma, nobs=10)
    myacf = arma_acf(ar, ma, nobs=10)
    if c[:2] == "ma":
        othacovf = comparefn[c](ma)
    else:
        othacovf = comparefn[c](ar, ma)
    print myacovf[:5]
    print othacovf[:5]
    # something broke again,
    # for high persistence case eg ar=0.99, nobs of IR has to be large
    # made changes to arma_acovf
    assert_array_almost_equal(myacovf, othacovf, 10)
    assert_array_almost_equal(myacf, othacovf / othacovf[0], 10)


# from nitime.utils
コード例 #4
0
ma1 = [1., 0.4]
ma2 = [1., 0.4, 0.6]
ma0 = [1., 0.]

comparefn = dict([('ma1', acovf_ma1), ('ma2', acovf_ma2),
                  ('arma11', acovf_arma11), ('ar1', acovf_arma11)])

cases = [('ma1', (ar0, ma1)), ('ma2', (ar0, ma2)), ('arma11', (ar1, ma1)),
         ('ar1', (ar1, ma0))]

for c, args in cases:

    ar, ma = args
    print
    print c, ar, ma
    myacovf = arma_acovf(ar, ma, nobs=10)
    myacf = arma_acf(ar, ma, nobs=10)
    if c[:2] == 'ma':
        othacovf = comparefn[c](ma)
    else:
        othacovf = comparefn[c](ar, ma)
    print myacovf[:5]
    print othacovf[:5]
    #something broke again,
    #for high persistence case eg ar=0.99, nobs of IR has to be large
    #made changes to arma_acovf
    assert_array_almost_equal(myacovf, othacovf, 10)
    assert_array_almost_equal(myacf, othacovf / othacovf[0], 10)


#from nitime.utils