getRestrict-methods {gmm4} | R Documentation |
getRestrict
in Package gmm4 ~~It computes the matrices related to linear and nonlinear contraints. Those matrices are used to perform hypothesis tests.
## S4 method for signature 'rlinearGmm' getRestrict(object, theta) ## S4 method for signature 'rslinearGmm' getRestrict(object, theta) ## S4 method for signature 'rnonlinearGmm' getRestrict(object, theta) ## S4 method for signature 'rformulaGmm' getRestrict(object, theta) ## S4 method for signature 'gmmModels' getRestrict(object, theta, R, rhs=NULL) ## S4 method for signature 'gelModels' getRestrict(object, theta, R, rhs=NULL) ## S4 method for signature 'sysGmmModels' getRestrict(object, theta, R, rhs=NULL) ## S4 method for signature 'rfunctionGmm' getRestrict(object, theta) ## S4 method for signature 'rgelModels' getRestrict(object, theta)
object |
Object of class included in |
theta |
A vector of coefficients for the unrestricted model (see examples). |
R |
A matrix, character or list of formulas that specifies the
contraints to impose on the coefficients. See
|
rhs |
The right hand side for the restriction on the
coefficients. See |
signature(object = "gmmModels")
A restricted model is created from the constraints, and the restriction matrices are returned. The methods is applied to linear and nonlinear models in a regression form.
signature(object = "gelModels")
A restricted model is created from the constraints, and the restriction matrices are returned. The methods is applied to linear and nonlinear models in a regression form.
signature(object = "rgelModels")
The restriction matrices are evaluated at the coefficient vector
theta
of the unrestricted representation.
signature(object = "sysGmmModels")
A restricted model is created from the constraints, and the restriction matrices are returned. The methods is applied to systems of linear and nonlinear models.
signature(object = "rlinearGmm")
The restriction matrices are evaluated at the coefficient vector
theta
of the unrestricted representation.
signature(object = "rslinearGmm")
The restriction matrices are evaluated at the coefficient vector
theta
of the unrestricted representation.
signature(object = "rnonlinearGmm")
The restriction matrices are evaluated at the coefficient vector
theta
of the unrestricted representation.
signature(object = "rfunctionGmm")
The restriction matrices are evaluated at the coefficient vector
theta
of the unrestricted representation.
data(simData) theta <- c(beta0=1,beta1=2) ## Unrestricted model model1 <- gmmModel(y~x1+x2+x3+z1, ~x1+x2+z1+z2+z3+z4, data=simData) ## The restricted model R1 <- c("x1","2*x2+z1=2", "4+x3*5=3") res <- modelFit(model1) rest <- getRestrict(model1, coef(res), R1) ## it allows to test the restriction g <- rest$R-rest$q v <- rest$dR%*%vcov(res)%*%t(rest$dR) (test <- crossprod(g, solve(v, g))) (pv <- 1-pchisq(test, length(rest$R))) ## Delta Method: ## To impose nonlinear restrictions, we need to convert ## the linear model into a nonlinear one NLmodel <- as(model1, "nonlinearGmm") R1 <- c("theta2=2", "theta3=theta4^2") res <- modelFit(NLmodel) rest <- getRestrict(NLmodel, coef(res), R1) g <- rest$R-rest$q v <- rest$dR%*%vcov(res)%*%t(rest$dR) (test <- crossprod(g, solve(v, g))) (pv <- 1-pchisq(test, length(rest$R))) ## See hypothesisTest method for an easier approach.