Compute the K statistics of Kleibergen

Share:

Description

The test is proposed by Kleibergen (2005). It is robust to weak identification.

Usage

1
2
3
KTest(obj, theta0 = NULL, alphaK = 0.04, alphaJ = 0.01)
## S3 method for class 'gmmTests'
print(x, digits = 5, ...)

Arguments

obj

Object of class "gmm" returned by gmm

theta0

The null hypothesis being tested. See details.

alphaK, alphaJ

The size of the J and K tests when combining the two. The overall size is alphaK+alphaJ.

x

An object of class gmmTests returned by KTest

digits

The number of digits to be printed

...

Other arguments when print is applied to another class object

Details

The function produces the J-test and K-statistics which are robust to weak identification. The test is either H0:θ=theta_0, in which case theta0 must be provided, or β=β_0, where θ=(α', β')', and α is assumed to be identified. In the latter case, theta0 is NULL and obj is a restricted estimation in which β is fixed to β_0. See gmm and the option "eqConst" for more details.

Value

Tests and p-values

References

Keibergen, F. (2005), Testing Parameters in GMM without assuming that they are identified. Econometrica, 73, 1103-1123,

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
library(mvtnorm)
sig <- matrix(c(1,.5,.5,1),2,2)
n <- 400
e <- rmvnorm(n,sigma=sig)
x4 <- rnorm(n)
w <- exp(-x4^2) + e[,1]
y <- 0.1*w + e[,2]
h <- cbind(x4, x4^2, x4^3, x4^6)
g3 <- y~w
res <- gmm(g3,h)

# Testing the whole vector:

KTest(res,theta0=c(0,.1))

# Testing a subset of the vector (See \code{\link{gmm}})

res2 <- gmm(g3, h, eqConst=matrix(c(2,.1),1,2))
res2
KTest(res2)