找到对数似然函数的二阶导数

时间:2014-07-31 01:56:42

标签: r regression

我有兴趣找到关于所有m个预测变量的逻辑回归的对数似然函数的二阶导数的值。

基本上我想制作一个m 2 的载体 L / j 2 值,其中j从1变为m。

我相信二阶导数应该是-Σ i = 1 n x ij 2 (E X 的<子>的 I β)/((1+ e x i β 2 )和我试图在R中编写代码。在尝试编写代码时我做了一些愚蠢的事情,并且想知道是否有某种我可以用来更容易实现的功能。

这是我尝试过的代码(我知道for循环中的总和并没有真正做任何事情,所以我不知道如何对这些值求和)。

  for (j in 1:m)
  {
    for (i in 1:n)
    {
      d2.l[j] <- -1*(sum((x.center[i,j]^2)*(exp(logit[i])/((1 + exp(logit[i])^2)))))
    }
  }

如果不清楚,logit只是一个由组成的向量。

1 个答案:

答案 0 :(得分:0)

我对数学很朦胧(并且很难读到乳胶)但纯粹在编程方面,如果logit是一个索引为i = 1,...,n和x.centernxm矩阵:

for (j in 1:m)
   dt.l[j] <- -sum( x.center[,j]^2 * exp(logit)/(1+exp(logit))^2 )

sum总和i

如果你想做“vector-ish”,你可以利用这样一个事实:如果你做matrix * vector(你的x.center * exp(logit)/...)这在R中按列发生,这适合你的等式:

-colSums(x.center^2 * exp(logit)/(1+exp(logit))^2)

对于它的价值,尽管后者是“光滑的”,我将经常使用显式循环(与第一个例子一样),纯粹是为了可读性。或者当我在一个月的时间回来时,我对我的ij以及在何时总结的内容感到非常困惑。