1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
"""
Test functions for models.regression
"""
from numpy.random import standard_normal
from numpy.testing import NumpyTest, NumpyTestCase
from scipy.sandbox.models.regression import ols_model, ar_model
W = standard_normal
class test_Regression(NumpyTestCase):
def testOLS(self):
X = W((40,10))
Y = W((40,))
model = ols_model(design=X)
results = model.fit(Y)
self.assertEquals(results.df_resid, 30)
def testAR(self):
X = W((40,10))
Y = W((40,))
model = ar_model(design=X, rho=0.4)
results = model.fit(Y)
self.assertEquals(results.df_resid, 30)
def testOLSdegenerate(self):
X = W((40,10))
X[:,0] = X[:,1] + X[:,2]
Y = W((40,))
model = ols_model(design=X)
results = model.fit(Y)
self.assertEquals(results.df_resid, 31)
def testARdegenerate(self):
X = W((40,10))
X[:,0] = X[:,1] + X[:,2]
Y = W((40,))
model = ar_model(design=X, rho=0.9)
results = model.fit(Y)
self.assertEquals(results.df_resid, 31)
if __name__ == "__main__":
NumpyTest().run()
|