Fernando Martinez
2010-Jun-08 15:41 UTC
[R] GMM: "The covariance matrix of the coefficients is singular"
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
Possibly Parallel Threads
- Greetings. I have a question with mixed beta regression model in nlme.
- Greetings. I have a question with mixed beta regression model in nlme (corrected version).
- Maximization of quadratic forms
- eval a SYMSXP from C
- 'gmm' package: How to pass controls to a numerical solver used in the gmm() function?