From noreply at r-forge.r-project.org Wed Jun 18 17:35:50 2025 From: noreply at r-forge.r-project.org (noreply at r-forge.r-project.org) Date: Wed, 18 Jun 2025 17:35:50 +0200 (CEST) Subject: [Gmm-commits] r242 - in pkg/momentfit: . R man Message-ID: <20250618153550.1B2D01842AD@r-forge.r-project.org> Author: chaussep Date: 2025-06-18 17:35:49 +0200 (Wed, 18 Jun 2025) New Revision: 242 Modified: pkg/momentfit/DESCRIPTION pkg/momentfit/R/momentData.R pkg/momentfit/R/momentModel.R pkg/momentfit/R/sysMomentModel-methods.R pkg/momentfit/man/gel4.Rd pkg/momentfit/man/gmm4.Rd pkg/momentfit/man/momentModel.Rd pkg/momentfit/man/sysMomentModel.Rd Log: fixed a bug for systems of equations with HAC vcov Modified: pkg/momentfit/DESCRIPTION =================================================================== --- pkg/momentfit/DESCRIPTION 2024-07-04 19:19:48 UTC (rev 241) +++ pkg/momentfit/DESCRIPTION 2025-06-18 15:35:49 UTC (rev 242) @@ -1,8 +1,10 @@ Package: momentfit Version: 1.0 -Date: 2024-05-27 +Date: 2025-06-17 Title: Methods of Moments -Author: Pierre Chausse +Authors at R: person(given="Pierre", family="Chausse", role=c("aut","cre"), + email="pchausse at uwaterloo.ca") +Author: Pierre Chausse [aut, cre] Maintainer: Pierre Chausse Description: Several classes for moment-based models are defined. The classes are defined for moment conditions derived from a single equation or a system of equations. The conditions can also be expressed as functions or formulas. Several methods are also offered to facilitate the development of different estimation techniques. The methods that are currently provided are the Generalized method of moments (Hansen 1982; ), for single equations and systems of equation, and the Generalized Empirical Likelihood (Smith 1997; , Kitamura 1997; , Newey and Smith 2004; , and Anatolyev 2005 ).Some work is being done to add tools to deal with weak and/or many instruments. This include K-Class estimators (LIML and Fuller), Anderson and Rubin statistics test, etc. Depends: R (>= 3.5), sandwich Modified: pkg/momentfit/R/momentData.R =================================================================== --- pkg/momentfit/R/momentData.R 2024-07-04 19:19:48 UTC (rev 241) +++ pkg/momentfit/R/momentData.R 2025-06-18 15:35:49 UTC (rev 242) @@ -49,8 +49,9 @@ { modelF <- model.frame(formula, data, na.action="na.pass", drop.unused.levels=TRUE) + if (is.matrix(modelF[[1]])) - return(.multiToSys(formula, h, data)) + return(.multiToSys(formula, h, data, survOptions, vcovOptions, na.action)) parNames <- colnames(model.matrix(attr(modelF, "terms"), modelF)) k <- length(parNames) if (any(class(h) == "formula")) Modified: pkg/momentfit/R/momentModel.R =================================================================== --- pkg/momentfit/R/momentModel.R 2024-07-04 19:19:48 UTC (rev 241) +++ pkg/momentfit/R/momentModel.R 2025-06-18 15:35:49 UTC (rev 242) @@ -130,7 +130,7 @@ { model <- .lModelData(g,x,data, survOptions, vcovOptions, na.action) if (!is.null(model$eqnNames)) - { + { gmodel <- new("slinearModel", data = model$data, instT=model$instT, modelT = model$modelT, vcov = vcov, Modified: pkg/momentfit/R/sysMomentModel-methods.R =================================================================== --- pkg/momentfit/R/sysMomentModel-methods.R 2024-07-04 19:19:48 UTC (rev 241) +++ pkg/momentfit/R/sysMomentModel-methods.R 2025-06-18 15:35:49 UTC (rev 242) @@ -533,6 +533,7 @@ sameMom <- object at sameMom n <- object at n neqn <- length(spec$eqnNames) + wSpec <- list() if (is.matrix(w)) { if (!all(dim(w) == sum(spec$q))) @@ -573,10 +574,13 @@ w <- qr(do.call(cbind, gt)/sqrt(n)) Sigma <- NULL } else { - stop("Only identity, iid and MDS if allowed for now") + w <- vcovHAC(object, theta) + wSpec <- attr(w,"Spec") + type <- "vcov" + Sigma <- NULL } return(new("sysMomentWeights", type=type,momNames=object at momNames, - wSpec=list(), w=w, Sigma=Sigma, sameMom=sameMom, + wSpec=wSpec, w=w, Sigma=Sigma, sameMom=sameMom, eqnNames=object at eqnNames)) }) Modified: pkg/momentfit/man/gel4.Rd =================================================================== --- pkg/momentfit/man/gel4.Rd 2024-07-04 19:19:48 UTC (rev 241) +++ pkg/momentfit/man/gel4.Rd 2025-06-18 15:35:49 UTC (rev 242) @@ -52,7 +52,7 @@ respect to \eqn{\theta}.} \item{vcovOptions}{A list of options for the covariance matrix of the - moment conditions. See \code{\link{vcovHAC}} for the default values.} + moment conditions. See \code{\link[sandwich]{vcovHAC}} for the default values.} \item{centeredVcov}{Should the moment function be centered when computing its covariance matrix. Doing so may improve inference.} Modified: pkg/momentfit/man/gmm4.Rd =================================================================== --- pkg/momentfit/man/gmm4.Rd 2024-07-04 19:19:48 UTC (rev 241) +++ pkg/momentfit/man/gmm4.Rd 2025-06-18 15:35:49 UTC (rev 242) @@ -72,7 +72,7 @@ ready to make that assumption. The option "TrueFixed" is used only when the matrix of weights is provided and it is the optimal one. For type \code{CL}, clustered covariance matrix is computed. The options - are then included in \code{vcovOptions} (see \code{\link{meatCL}}).} + are then included in \code{vcovOptions} (see \code{\link[sandwich]{meatCL}}).} \item{initW}{How should be compute the initial coefficient vector in the first. It only makes a difference for linear models for which @@ -99,7 +99,7 @@ coefficients. See \code{\link{restModel}} for more details.} \item{vcovOptions}{A list of options for the covariance matrix of the - moment conditions. See \code{\link{vcovHAC}} for the default values.} + moment conditions. See \code{\link[sandwich]{vcovHAC}} for the default values.} \item{survOptions}{If needed, a list with the type of survey weights and the weights as a numeric vector, data.frame or formula. The type is either Modified: pkg/momentfit/man/momentModel.Rd =================================================================== --- pkg/momentfit/man/momentModel.Rd 2024-07-04 19:19:48 UTC (rev 241) +++ pkg/momentfit/man/momentModel.Rd 2025-06-18 15:35:49 UTC (rev 242) @@ -52,10 +52,10 @@ \code{MDS} only when \code{g} is a formula. In that case, residuals are assumed homoscedastic as well as serially uncorrelated. For type \code{CL}, clustered covariance matrix is computed. The options are - then included in \code{vcovOptions} (see \code{\link{meatCL}}). } + then included in \code{vcovOptions} (see \code{\link[sandwich]{meatCL}}). } \item{vcovOptions}{A list of options for the covariance matrix of the - moment conditions. See \code{\link{vcovHAC}} for the default values.} + moment conditions. See \code{\link[sandwich]{vcovHAC}} for the default values.} \item{centeredVcov}{Should the moment function be centered when computing its covariance matrix. Doing so may improve inference.} Modified: pkg/momentfit/man/sysMomentModel.Rd =================================================================== --- pkg/momentfit/man/sysMomentModel.Rd 2024-07-04 19:19:48 UTC (rev 241) +++ pkg/momentfit/man/sysMomentModel.Rd 2025-06-18 15:35:49 UTC (rev 242) @@ -39,10 +39,10 @@ \code{MDS} only when \code{g} is a formula. In that case, residuals are assumed homoscedastic as well as serially uncorrelated. For type \code{CL}, clustered covariance matrix is computed. The options are - then included in \code{vcovOptions} (see \code{\link{meatCL}}).} + then included in \code{vcovOptions} (see \code{\link[sandwich]{meatCL}}).} \item{vcovOptions}{A list of options for the covariance matrix of the - moment conditions. See \code{\link{vcovHAC}} for the default values.} + moment conditions. See \code{\link[sandwich]{vcovHAC}} for the default values.} \item{centeredVcov}{Should the moment function be centered when computing its covariance matrix. Doing so may improve inference.} From noreply at r-forge.r-project.org Wed Jun 18 20:37:27 2025 From: noreply at r-forge.r-project.org (noreply at r-forge.r-project.org) Date: Wed, 18 Jun 2025 20:37:27 +0200 (CEST) Subject: [Gmm-commits] r243 - pkg/momentfit/R Message-ID: <20250618183727.861F9184BDF@r-forge.r-project.org> Author: chaussep Date: 2025-06-18 20:37:27 +0200 (Wed, 18 Jun 2025) New Revision: 243 Modified: pkg/momentfit/R/sysMomentModel-methods.R Log: fixed a bug in systems of equations using HAC matrix Modified: pkg/momentfit/R/sysMomentModel-methods.R =================================================================== --- pkg/momentfit/R/sysMomentModel-methods.R 2025-06-18 15:35:49 UTC (rev 242) +++ pkg/momentfit/R/sysMomentModel-methods.R 2025-06-18 18:37:27 UTC (rev 243) @@ -1025,7 +1025,7 @@ else wObj0 <- NULL wObj <- evalWeights(model, theta0, "optimal", wObj0) - if (model at vcov=="HAC" && is.character(model at bw)) + if (model at vcov=="HAC" && is.character(model at vcovOptions$bw)) model at vcovOptions$bw <- wObj at wSpec$bw res <- solveGmm(model, wObj, theta0, ...) theta1 <- res$theta