[R] GMM: "The covariance matrix of the coefficients is singular"

Fernando Martinez fernando.martinez07 at imperial.ac.uk
Tue Jun 8 17:41:02 CEST 2010

Hi All,

I'm trying to estimate some parameters in my model via GMM using the 
function gmm(), but I keep getting the message "The covariance matrix of 
the coefficients is singular". I've changed the moment conditions and 
the initial value of the parameters, and I still get this message. Are 
the results valid after receiving this message? Any ideas on how to get 
rid of it?

My code:


Function g, where E[g]=0:

g <- function(theta,x){
  N <- length(x)

  #Transform parameters in order to make them x>0, x<0 or 0<x<1
  a <- exp(theta[1])
  b <- -exp(theta[2])
  mu_s <- exp(theta[3])
  prob <- exp(theta[4])/(1+exp(theta[4]))
  sigma <- exp(theta[5])
  sigma_s <- exp(theta[6])

  nt1 <- diff(x) - a - b*x[-N]

  m1 <- nt1

  m2 <- nt1^2 - (sigma^2-2*prob*(mu_s^2+sigma_s^2))/(1-2*prob)

  m3 <- nt1^3

  m4 <- nt1^4 - 

  m5 <- nt1^5

  m6 <- nt1^6 - 

  g <- cbind(m1, m2, m3, m4, m5, m6)



Initial value for the parameters:

[1] 12.1824940 -0.7408182 20.0855369  0.5000250  2.0137527  2.2255409

Calling the function:

res <- gmm(g,x,tet0)
Warning message:
In FinRes.baseGmm.res(z, Model_info) :
  The covariance matrix of the coefficients is singular



More information about the R-help mailing list