R:最大似然估计,其中参数间接影响logL

时间:2016-02-25 11:59:20

标签: r optimization estimation

我是一名经济学学生,试图对劳动力市场模型的参数进行非正统的最大似然估计。

我基本上有两个方程式。一个一阶条件(16)和一个对数似然函数,我希望最大化wrt。 (α,δ,γ)。变量(w,T,n,x,P)是公司观察的一些数据i = 1,...,1470。

Eq. 16 - must hold for all observations i=1,2, ...,1470

log Likelihood function

棘手的是我必须通过(16)计算产品lambda*s_i的值,假设(alpha,gamma)的某个初始值,然后使用对最大观察值的识别限制i = 1470,那

 s_1470 = 0 

通过这个eq。 (16)只有1个未知(i = 1469),我可以在R中使用uniroot命令解决这个问题。之后我可以求解(i = 1468)等等,递归直到(i = 1)

完成此操作后,我希望最大化对数似然函数wrt。 (α,δ,γ)。这里至关重要的是我只能通过为(alpha,gamma)假设一些初始值来解决(16)。

我的问题是我似乎无法使R理解,它应该最大化考虑的可能性函数,(alpha,gamma)通过它对(lambda * s_i)的影响影响似然函数。 )通过(16)计算。

我使用以下代码。我编写了一个函数search_solve,用于计算(lambda * s_i)&并将它们存储在lambdas中。 logpdfb在似然函数中用括号计算术语。

## Likelihoodfunction

loglik<-function(theta,n,x,netwage)
{
  delta <- exp(theta[1])
  alpha <- exp(theta[2])
  gam <- exp(theta[3])

  lambdas = matrix(0,nrow(netwage),1)
  lambdas <- search_solve(netwage,p)

  d <- 1*delta + lambdas * (1-p)
  d2 <- exp(-d)
  b = logpdfb(x,d2,n)

  logl <- colSums(b)
  return(-logl)
}

#STARTING VALUE PARAMETERS
start <- matrix(0,3,1);
start[1,1] = -2;
start[2,1] = -5;
start[3,1] = 0.5;

###################################

optim(start,fn=loglik,n=size,x=stayer,netwage=netwage,method="BFGS",hessian = TRUE)

当我使用此代码时,R不会优化wrt。 to(alpha,gamma)和报告的估计值恰好等于起始值。

          [,1]
[1,] -1.336792
[2,] -5.000000
[3,]  0.500000

如果考虑到(alpha,gamma)间接影响似然函数,我怎样才能让R理解它应该优化似然函数?

非常感谢任何帮助。 感谢您提前的时间。

0 个答案:

没有答案