19 lines
672 B
Python
19 lines
672 B
Python
import numpy as np
|
|
from numpy.testing import assert_equal
|
|
from statsmodels.tools.catadd import add_indep
|
|
|
|
from scipy import linalg
|
|
|
|
def test_add_indep():
|
|
x1 = np.array([0,0,0,0,0,1,1,1,2,2,2])
|
|
x2 = np.array([0,0,0,0,0,1,1,1,1,1,1])
|
|
x0 = np.ones(len(x2))
|
|
x = np.column_stack([x0, x1[:,None]*np.arange(3), x2[:,None]*np.arange(2)])
|
|
varnames = ['const'] + ['var1_%d' %i for i in np.arange(3)] \
|
|
+ ['var2_%d' %i for i in np.arange(2)]
|
|
xo, vo = add_indep(x, varnames)
|
|
|
|
assert_equal(xo, np.column_stack((x0, x1, x2)))
|
|
assert_equal((linalg.svdvals(x) > 1e-12).sum(), 3)
|
|
assert_equal(vo, ['const', 'var1_1', 'var2_1'])
|