示例#1
0
def test_sandwich_cov(fixtures_gmm_cov):
    fix = fixtures_gmm_cov
    cov_moments = _covariance_moments(fix["mom_cond"])  # noqa: N806
    mean_mom_jacobi = np.mean(fix["mom_cond_jacob"], axis=0)  # noqa: N806
    assert_array_almost_equal(
        sandwich_cov(mean_mom_jacobi, fix["mom_weight"], cov_moments,
                     fix["mom_cond"].shape[0]),
        fix["cov_result"],
    )
示例#2
0
def test_covariance_moments_random():
    nobs, nmoms = np.random.randint(1, 50, size=2)
    mom_cond = np.random.rand(nobs, nmoms)
    dev = (mom_cond - np.mean(mom_cond, axis=0)).reshape(nobs, nmoms, 1)
    cov = np.zeros(shape=(nmoms, nmoms), dtype=float)
    for i in range(nobs):
        cov += dev[i, :, :] @ dev[i, :, :].T
    cov = cov / nobs
    assert_array_almost_equal(_covariance_moments(mom_cond), cov)
示例#3
0
def test_covariance_moments_unit():
    moment_cond = np.reshape(np.arange(12), (3, 4))
    control = np.full((4, 4), 32, dtype=float) / 3
    assert_array_almost_equal(_covariance_moments(moment_cond), control)