reconnect moved files to git repo
This commit is contained in:
@ -0,0 +1,38 @@
|
||||
"""Example: minimal OLS
|
||||
|
||||
"""
|
||||
|
||||
import numpy as np
|
||||
from numpy.testing import assert_almost_equal, assert_allclose
|
||||
|
||||
import statsmodels.api as sm
|
||||
|
||||
|
||||
def test_HC_use():
|
||||
np.random.seed(0)
|
||||
nsample = 100
|
||||
x = np.linspace(0,10, 100)
|
||||
X = sm.add_constant(np.column_stack((x, x**2)), prepend=False)
|
||||
beta = np.array([1, 0.1, 10])
|
||||
y = np.dot(X, beta) + np.random.normal(size=nsample)
|
||||
|
||||
results = sm.OLS(y, X).fit()
|
||||
|
||||
# test cov_params
|
||||
idx = np.array([1, 2])
|
||||
cov12 = results.cov_params(column=[1, 2], cov_p=results.cov_HC0)
|
||||
assert_almost_equal(cov12, results.cov_HC0[idx[:, None], idx], decimal=15)
|
||||
|
||||
#test t_test
|
||||
tvals = results.params/results.HC0_se
|
||||
ttest = results.t_test(np.eye(3), cov_p=results.cov_HC0)
|
||||
assert_almost_equal(ttest.tvalue, tvals, decimal=14)
|
||||
assert_almost_equal(ttest.sd, results.HC0_se, decimal=14)
|
||||
|
||||
#test f_test
|
||||
ftest = results.f_test(np.eye(3)[:-1], cov_p=results.cov_HC0)
|
||||
slopes = results.params[:-1]
|
||||
idx = np.array([0,1])
|
||||
cov_slopes = results.cov_HC0[idx[:,None], idx]
|
||||
fval = np.dot(slopes, np.dot(np.linalg.inv(cov_slopes), slopes))/len(idx)
|
||||
assert_allclose(ftest.fvalue, fval, rtol=12)
|
||||
Reference in New Issue
Block a user