Я пытаюсь выполнить gmm по логарифмически нормальному образцу.Обобщенный метод моментов на логарифмически нормальном распределении
Это пример с нормальным распределением
n <- 1000
x <- rnorm(n, mean = 4, sd = 2)
g <- function(tet, x)
{
m1 <- (tet[1] - x)
m2 <- (tet[2]^2 - (x - tet[1])^2)
m3 <- x^3 - tet[1]*(tet[1]^2 + 3*tet[2]^2)
f <- cbind(m1, m2, m3)
return(f)
}
library(gmm)
gmm(g, x, c(0, 0))
Я хотел бы сделать то же самое с логарифмически нормальным, что мой код:
x<-rlnorm(1000,3,5)
g <- function(tet, x)
{
m1 <- exp(tet[1]+1/2*(tet[2]^2)) -x
m2 <- exp(2*tet[1]+1/2*2^2*(tet[2]^2)) -x^2
# m2 <- (exp(tet[2]^2)-1)*(exp(tet[1]+1/2*(tet[2]^2)))^2 -x^2
m3 <- exp(3*tet[1]+1/2*3^2*(tet[2]^2)) -x^3
f <- cbind(m1, m2, m3)
return(f)
}
gmm(g, x, c(0, 0))
но сообщение об ошибке
Error in solve.default(w, gbar) :
system is computationally singular: reciprocal condition number = 1.968e-34
Я использую эту формулу: wikipedia link for log-normal moment
Любая идея, почему это не работает?