def __init__(self): self.acf = self.results['acvarfft'] self.qstat = self.results['Q1'] self.res1 = acf(self.x, nlags=40, qstat=True, fft=True)
xhat5, err5 = VARMA(x, B, C) #print err5 #in differences #VARMA(np.diff(x,axis=0),B,C) #Note: # * signal correlate applies same filter to all columns if kernel.shape[1]<K # e.g. signal.correlate(x0,np.ones((3,1)),'valid') # * if kernel.shape[1]==K, then `valid` produces a single column # -> possible to run signal.correlate K times with different filters, # see the following example, which replicates VAR filter x0 = np.column_stack([np.arange(T), 2 * np.arange(T)]) B[:, :, 0] = np.ones((P, K)) B[:, :, 1] = np.ones((P, K)) B[1, 1, 1] = 0 xhat0 = VAR(x0, B) xcorr00 = signal.correlate(x0, B[:, :, 0]) #[:,0] xcorr01 = signal.correlate(x0, B[:, :, 1]) print np.all( signal.correlate(x0, B[:, :, 0], 'valid')[:-1, 0] == xhat0[P:, 0]) print np.all( signal.correlate(x0, B[:, :, 1], 'valid')[:-1, 0] == xhat0[P:, 1]) #import error #from movstat import acovf, acf from gwstatsmodels.tsa.stattools import acovf, acf aav = acovf(x[:, 0]) print aav[0] == np.var(x[:, 0]) aac = acf(x[:, 0])
xhat5, err5 = VARMA(x,B,C) #print err5 #in differences #VARMA(np.diff(x,axis=0),B,C) #Note: # * signal correlate applies same filter to all columns if kernel.shape[1]<K # e.g. signal.correlate(x0,np.ones((3,1)),'valid') # * if kernel.shape[1]==K, then `valid` produces a single column # -> possible to run signal.correlate K times with different filters, # see the following example, which replicates VAR filter x0 = np.column_stack([np.arange(T), 2*np.arange(T)]) B[:,:,0] = np.ones((P,K)) B[:,:,1] = np.ones((P,K)) B[1,1,1] = 0 xhat0 = VAR(x0,B) xcorr00 = signal.correlate(x0,B[:,:,0])#[:,0] xcorr01 = signal.correlate(x0,B[:,:,1]) print np.all(signal.correlate(x0,B[:,:,0],'valid')[:-1,0]==xhat0[P:,0]) print np.all(signal.correlate(x0,B[:,:,1],'valid')[:-1,0]==xhat0[P:,1]) #import error #from movstat import acovf, acf from gwstatsmodels.tsa.stattools import acovf, acf aav = acovf(x[:,0]) print aav[0] == np.var(x[:,0]) aac = acf(x[:,0])
def __init__(self): self.acf = self.results['acvar'] #self.acf = np.concatenate(([1.], self.acf)) self.qstat = self.results['Q1'] self.res1 = acf(self.x, nlags=40, qstat=True)
import matplotlib.mlab as mlab from gwstatsmodels.tsa.arima_process import arma_generate_sample, arma_impulse_response from gwstatsmodels.tsa.arima_process import arma_acovf, arma_acf, ARIMA #from movstat import acf, acovf #from gwstatsmodels.sandbox.tsa import acf, acovf, pacf from gwstatsmodels.tsa.stattools import acf, acovf, pacf ar = [1., -0.6] #ar = [1., 0.] ma = [1., 0.4] #ma = [1., 0.4, 0.6] #ma = [1., 0.] mod = ''#'ma2' x = arma_generate_sample(ar, ma, 5000) x_acf = acf(x)[:10] x_ir = arma_impulse_response(ar, ma) #print x_acf[:10] #print x_ir[:10] #irc2 = np.correlate(x_ir,x_ir,'full')[len(x_ir)-1:] #print irc2[:10] #print irc2[:10]/irc2[0] #print irc2[:10-1] / irc2[1:10] #print x_acf[:10-1] / x_acf[1:10] # detrend helper from matplotlib.mlab def detrend(x, key=None): if key is None or key=='constant': return detrend_mean(x) elif key=='linear':
def test_acf(): acf_x = tsa.acf(x100, unbiased=False)[:21] assert_array_almost_equal(mlacf.acf100.ravel(), acf_x, 8) #why only dec=8 acf_x = tsa.acf(x1000, unbiased=False)[:21] assert_array_almost_equal(mlacf.acf1000.ravel(), acf_x, 8) #why only dec=9