From 0677c1078e418b70b3ff0d3839a5fb1cdbc39851 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Pelletier?= Date: Wed, 26 Feb 2014 22:45:46 -0500 Subject: [PATCH] Ajout de quelques fonctions --- .Rbuildignore | 6 ++++++ .gitignore | 1 + .project | 19 +++++++++++++++++++ .settings/de.walware.r.core.prefs | 2 ++ DESCRIPTION | 9 +++++++++ NAMESPACE | 0 R/covariance.GMM.R | 18 ++++++++++++++++++ R/fourmoments.gmm.vector.R | 24 ++++++++++++++++++++++++ R/mean.variance.gmm.vector.R | 20 ++++++++++++++++++++ R/objective.GMM.R | 18 ++++++++++++++++++ man/fourmoments.gmm.vector.Rd | 29 +++++++++++++++++++++++++++++ man/gmmGAL.mu.vcov.Rd | 23 +++++++++++++++++++++++ man/mean.variance.gmm.vector.Rd | 25 +++++++++++++++++++++++++ man/obj.gmmGAL.mu.Rd | 23 +++++++++++++++++++++++ 14 files changed, 217 insertions(+) create mode 100644 .Rbuildignore create mode 100644 .project create mode 100644 .settings/de.walware.r.core.prefs create mode 100644 DESCRIPTION create mode 100644 NAMESPACE create mode 100644 R/covariance.GMM.R create mode 100644 R/fourmoments.gmm.vector.R create mode 100644 R/mean.variance.gmm.vector.R create mode 100644 R/objective.GMM.R create mode 100644 man/fourmoments.gmm.vector.Rd create mode 100644 man/gmmGAL.mu.vcov.Rd create mode 100644 man/mean.variance.gmm.vector.Rd create mode 100644 man/obj.gmmGAL.mu.Rd diff --git a/.Rbuildignore b/.Rbuildignore new file mode 100644 index 0000000..04a8cf7 --- /dev/null +++ b/.Rbuildignore @@ -0,0 +1,6 @@ +^.*\.Rproj$ +^\.Rproj\.user$ +.gitignore +.project +.git +.settings diff --git a/.gitignore b/.gitignore index a0fd3b3..6c38bf7 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ # Example code in package build process *-Ex.R +.Rproj.user diff --git a/.project b/.project new file mode 100644 index 0000000..9b7f2a2 --- /dev/null +++ b/.project @@ -0,0 +1,19 @@ + + + GMMStuff + + + + + + de.walware.statet.r.builders.RSupport + + + + + + de.walware.statet.base.StatetNature + de.walware.statet.r.RNature + de.walware.statet.r.RPkgNature + + diff --git a/.settings/de.walware.r.core.prefs b/.settings/de.walware.r.core.prefs new file mode 100644 index 0000000..935c1fc --- /dev/null +++ b/.settings/de.walware.r.core.prefs @@ -0,0 +1,2 @@ +RProjectBuild/Package.name=GMMStuff +eclipse.preferences.version=1 diff --git a/DESCRIPTION b/DESCRIPTION new file mode 100644 index 0000000..672d0d0 --- /dev/null +++ b/DESCRIPTION @@ -0,0 +1,9 @@ +Package: GMMStuff +Title: GMM Stuff +Version: 0.1 +Date: 2014-02-11 +Author: Francois Pelletier +Maintainer: Francois Pelletier +Description: This is a package gathering different functions to work with + GMM +License: LGPL-3 diff --git a/NAMESPACE b/NAMESPACE new file mode 100644 index 0000000..e69de29 diff --git a/R/covariance.GMM.R b/R/covariance.GMM.R new file mode 100644 index 0000000..42820d5 --- /dev/null +++ b/R/covariance.GMM.R @@ -0,0 +1,18 @@ +# Estimated covariance matrix +# +# Author: Francois Pelletier +# +# LGPL-3.0 +############################################################################### + +#' Estimated covariance matrix +#' @param conditions.vector Vector of moment conditions +#' @param n Sample size +#' @param ... Parameters of the vector of moment conditions +#' @return A square covariance matrix +#' +#' @author François Pelletier +gmmGAL.mu.vcov <- function(conditions.vector,n,...) +{ + t(conditions.vector(...)) %*% conditions.vector(...) / n +} \ No newline at end of file diff --git a/R/fourmoments.gmm.vector.R b/R/fourmoments.gmm.vector.R new file mode 100644 index 0000000..f6aa822 --- /dev/null +++ b/R/fourmoments.gmm.vector.R @@ -0,0 +1,24 @@ +# GMM vector for 4 first central moments conditions +# +# Author: Francois Pelletier +# +# LGPL-3.0 +############################################################################### + +#' GMM vector for 4 first central moments conditions +#' @param param Estimated parameters +#' @param sample Data Sample +#' @param meanf Mean function +#' @param variancef Variance function +#' @param skewnessf Skewness function +#' @param kurtosisf Kurtosis function +#' @return A four column matrix of differences +#' +#' @author François Pelletier +fourmoments.gmm.vector <- function(param,sample,meanf,variancef,skewnessf,kurtosisf) +{ + cbind(X-meanf(param), + (X-meanf(param))^2 - variancef(param), + (X-meanf(param))^3/variancef(param)^(3/2) - skewnessf(param), + (X-meanf(param))^4/variancef(param)^(2) - kurtosisf(param)) +} diff --git a/R/mean.variance.gmm.vector.R b/R/mean.variance.gmm.vector.R new file mode 100644 index 0000000..74e2a04 --- /dev/null +++ b/R/mean.variance.gmm.vector.R @@ -0,0 +1,20 @@ +# GMM vector for mean and variance moment conditions +# +# Author: Francois Pelletier +# +# LGPL-3.0 +############################################################################### + + +#' GMM vector for mean and variance moment conditions +#' @param param Estimated parameters +#' @param sample Data Sample +#' @param meanf Mean function +#' @param variancef Variance function +#' @return A two column matrix of differences +#' +#' @author François Pelletier +mean.variance.gmm.vector <- function(param,sample,meanf,variancef) +{ + cbind(X-meanf(param),(X-meanf(param))^2 - variancef(param)) +} diff --git a/R/objective.GMM.R b/R/objective.GMM.R new file mode 100644 index 0000000..f99937a --- /dev/null +++ b/R/objective.GMM.R @@ -0,0 +1,18 @@ +# Objective function for the GMM method +# +# Author: Francois Pelletier +# +# LGPL-3.0 +############################################################################### + +#' Objective function for the GMM method +#' @param conditions.vector Vector of moment conditions +#' @param ... Parameters of the vector of moment conditions +#' @param W Weighting matrix +#' @return A scalar value +#' +#' @author François Pelletier +obj.gmmGAL.mu <- function(conditions.vector,...,W=diag(length(conditions.vector))) +{ + colMeans(conditions.vector(...)) %*% ginv(W) %*% colMeans(conditions.vector(...)) +} \ No newline at end of file diff --git a/man/fourmoments.gmm.vector.Rd b/man/fourmoments.gmm.vector.Rd new file mode 100644 index 0000000..045757b --- /dev/null +++ b/man/fourmoments.gmm.vector.Rd @@ -0,0 +1,29 @@ +\name{fourmoments.gmm.vector} +\alias{fourmoments.gmm.vector} +\title{GMM vector for 4 first central moments conditions} +\usage{ +fourmoments.gmm.vector(param, sample, meanf, variancef, skewnessf, kurtosisf) +} +\arguments{ + \item{param}{Estimated parameters} + + \item{sample}{Data Sample} + + \item{meanf}{Mean function} + + \item{variancef}{Variance function} + + \item{skewnessf}{Skewness function} + + \item{kurtosisf}{Kurtosis function} +} +\value{ +A four column matrix of differences +} +\description{ +GMM vector for 4 first central moments conditions +} +\author{ +François Pelletier +} + diff --git a/man/gmmGAL.mu.vcov.Rd b/man/gmmGAL.mu.vcov.Rd new file mode 100644 index 0000000..3a4a2aa --- /dev/null +++ b/man/gmmGAL.mu.vcov.Rd @@ -0,0 +1,23 @@ +\name{gmmGAL.mu.vcov} +\alias{gmmGAL.mu.vcov} +\title{Estimated covariance matrix} +\usage{ +gmmGAL.mu.vcov(conditions.vector, n, ...) +} +\arguments{ + \item{conditions.vector}{Vector of moment conditions} + + \item{n}{Sample size} + + \item{...}{Parameters of the vector of moment conditions} +} +\value{ +A square covariance matrix +} +\description{ +Estimated covariance matrix +} +\author{ +François Pelletier +} + diff --git a/man/mean.variance.gmm.vector.Rd b/man/mean.variance.gmm.vector.Rd new file mode 100644 index 0000000..7d762db --- /dev/null +++ b/man/mean.variance.gmm.vector.Rd @@ -0,0 +1,25 @@ +\name{mean.variance.gmm.vector} +\alias{mean.variance.gmm.vector} +\title{GMM vector for mean and variance moment conditions} +\usage{ +\method{mean}{variance.gmm.vector}(param, sample, meanf, variancef) +} +\arguments{ + \item{param}{Estimated parameters} + + \item{sample}{Data Sample} + + \item{meanf}{Mean function} + + \item{variancef}{Variance function} +} +\value{ +A two column matrix of differences +} +\description{ +GMM vector for mean and variance moment conditions +} +\author{ +François Pelletier +} + diff --git a/man/obj.gmmGAL.mu.Rd b/man/obj.gmmGAL.mu.Rd new file mode 100644 index 0000000..f20c119 --- /dev/null +++ b/man/obj.gmmGAL.mu.Rd @@ -0,0 +1,23 @@ +\name{obj.gmmGAL.mu} +\alias{obj.gmmGAL.mu} +\title{Objective function for the GMM method} +\usage{ +obj.gmmGAL.mu(conditions.vector, ..., W = diag(length(conditions.vector))) +} +\arguments{ + \item{conditions.vector}{Vector of moment conditions} + + \item{...}{Parameters of the vector of moment conditions} + + \item{W}{Weighting matrix} +} +\value{ +A scalar value +} +\description{ +Objective function for the GMM method +} +\author{ +François Pelletier +} +