def acovf_explicit(ar, ma, nobs): """add correlation of MA representation explicitely """ ir = arma_impulse_response(ar, ma) acovfexpl = [np.dot(ir[: nobs - t], ir[t:nobs]) for t in range(10)] return acovfexpl
from scikits.statsmodels.sandbox.tsa.arima import arma_generate_sample, arma_impulse_response from scikits.statsmodels.sandbox.tsa.arima import arma_acovf, arma_acf, ARIMA # from movstat import acf, acovf from scikits.statsmodels.sandbox.tsa import acf, acovf, pacf ar = [1.0, -0.6] # ar = [1., 0.] ma = [1.0, 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": return detrend_linear(x)