# [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 -
(-2*prob*mu_s^4-12*mu_s^2*sigma_s^2*prob+3*sigma^4-6*prob*sigma_s^4)/(1-2*prob)

m5 <- nt1^5

m6 <- nt1^6 -
(-2*prob*mu_s^6-30*prob*mu_s^4*sigma_s^2-90*prob*mu_s^2*sigma_s^4+15*sigma^6-30*prob*sigma_s^6)/(1-2*prob)

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

return(g)

}

Initial value for the parameters:

tet0
[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

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Cheers,
Fernando

```