from stattools import unitroot_adf

import scikits.statsmodels.datasets.macrodata.data as macro

macrod = macro.load().data

print macro.NOTE

print macrod.dtype.names

datatrendli = [
    ("realgdp", 1),
    ("realcons", 1),
    ("realinv", 1),
    ("realgovt", 1),
    ("realdpi", 1),
    ("cpi", 1),
    ("m1", 1),
    ("tbilrate", 0),
    ("unemp", 0),
    ("pop", 1),
    ("infl", 0),
    ("realint", 0),
]

print "%-10s %5s %-8s" % ("variable", "trend", "  adf")
for name, torder in datatrendli:
    print "%-10s %5d %8.4f" % (name, torder, unitroot_adf(macrod[name], trendorder=torder))
# License: Creative Commons Zero (almost public domain) http://scpyce.org/cc0
'''examples for orthogonal polynomial trend using scikits.statsmodels and matplotlib

Author: Josef Perktold
'''

import numpy as np

from scipy import special

import scikits.statsmodels.api as sm
from scikits.statsmodels.datasets.macrodata import data
dta = data.load()
gdp = np.log(dta.data['realgdp'])

from numpy import polynomial
from scipy import special

maxorder = 20
polybase = special.chebyt
polybase = special.legendre

t = np.linspace(-1, 1, len(gdp))

exog = np.column_stack([polybase(i)(t) for i in range(maxorder)])

fitted = [
    sm.OLS(gdp, exog[:, :maxr]).fit().fittedvalues
    for maxr in range(2, maxorder)
]
Example #3
0
from diagnostic import unitroot_adf

import scikits.statsmodels.datasets.macrodata.data as macro

macrod = macro.load().data

print macro.NOTE

print macrod.dtype.names

datatrendli = [('realgdp', 1), ('realcons', 1), ('realinv', 1),
               ('realgovt', 1), ('realdpi', 1), ('cpi', 1), ('m1', 1),
               ('tbilrate', 0), ('unemp', 0), ('pop', 1), ('infl', 0),
               ('realint', 0)]

print '%-10s %5s %-8s' % ('variable', 'trend', '  adf')
for name, torder in datatrendli:
    adf_, pval = unitroot_adf(macrod[name], trendorder=torder)[:2]
    print '%-10s %5d %8.4f %8.4f' % (name, torder, adf_, pval)

import numpy as np
#import scikits.statsmodels.linear_model.regression as smreg

from scipy import special

import scikits.statsmodels.api as sm
from scikits.statsmodels.datasets.macrodata import data
dta = data.load()
gdp = np.log(dta.data['realgdp'])

from numpy import polynomial
from scipy import special


maxorder = 20
polybase = special.chebyt
polybase = special.legendre

t = np.linspace(-1,1,len(gdp))

exog = np.column_stack([polybase(i)(t) for i in range(maxorder)])

fitted = [sm.OLS(gdp, exog[:, :maxr]).fit().fittedvalues for maxr in
          range(2,maxorder)]

print (np.corrcoef(exog[:,1:6], rowvar=0)*10000).astype(int)

import matplotlib.pyplot as plt