Я хочу вычислить Оценщик максимального правдоподобия плотности, но мой вывод дает NaN, когда математически мои уравнения верны - PullRequest
0 голосов
/ 06 июля 2018

Я думаю, что мой код "почти правильный", но почему я получаю NaN?

N=100


est1 = function(m){



  tau = rep(0,m)

  b0 = rep(0,m)

  b1 = rep(0,m)

  tau[1] = 1

  b0[1] = 1

  b1[1] = 1

  x<- runif(100,0,1)


  for(i in 2:m){

    tau[i] = N/tau[i-1] + sum(log(y)) -(1 + exp(b0[i-1]+b1[i-1]*x) )*sum(y^tau[i-1]*log(y)/(1+y^tau[i-1]))  

    b0[i]= N - log(  1 +y^tau[i-1] )*sum( exp(b0[i-1]+b1[i-1]*x))

    b1[i] = (sum(x) )-log(1+y^tau[i-1])*sum( x*exp(b0[i-1]+ b1[i-1]*x ))

  }

  cbind(tau,b0,b1)
}

output = est1(100)

output

1 Ответ

0 голосов
/ 06 июля 2018

Я не думаю, что они могут быть математически правильными, потому что вы никогда не определяли y!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...