vcov函数不能应用?

机器算法验证 最大似然 协方差矩阵 参数化 增量法
2022-03-28 02:28:48

最初在双曲线分布的背景下问了一个关于 delta-method 的问题我在那里得到了一个答案,这很有用,只是它说我应该将该vcov函数应用于我的拟合函数,不幸的是这是不可能的。vcov那里给了我参数的方差-协方差矩阵现在我想手动计算这个方差-协方差。根据我的这个问题,我知道如何从粗麻布中得到方差 - 协方差矩阵。不幸的是,据此是粗麻布,而不是所需的ζ,π,δpi, log(zeta), log(delta), and mupi, zeta, delta, and mu

所以我的基本问题是如何获得双曲线分布的参数估计的方差-协方差矩阵(在我原来的帖子中,这是用 vcov 函数不起作用的 Sigma 解决的)?我知道如何从粗麻布中获取方差-协方差矩阵,但我的粗麻布错误。那我现在该怎么办?是否有可能将粗麻布从粗麻布转换pi, log(zeta), log(delta), and mu为粗麻布,pi, zeta, delta, and mu这是如何完成的?

或者有没有更简单的方法让 vcov 运行?

我真的被困在这里,不知道如何继续。

我的主要问题是:如何在这篇文章中得到 COOLSerdash 的答案?vcov 函数不起作用,也无法使用 hessian,请参阅我对错误消息的描述和我对答案的评论。

2个回答

传递给优化器的参数是 pi、log(zeta)、log(delta)、mu not zeta 和 delta 的原因很可能会限制 R+ 中的优化器用于 zeta 和 delta。如果您需要 pi、zeta、delta 和 mu 的 Hessian 而不是 pi、log(zeta)、log(delta) 和 mu,您可以编写自己的函数,该函数的参数化方式不同(在 pi、zeta、delta 和亩)。然后在 MLE 处计算新函数的二阶导数,由hyperbFit结果给出。

但为什么?您是否试图获得 zeta 和 delta 的置信限?

实际上,您已经有了 zeta 和 delta 的 SE,由 log(zeta) 和 log(delta)计算得出summary(hyperbfitalv)参数估计的方差-协方差矩阵计算错误?

让我们更仔细地看一下它是如何完成的:lzeta 是 log(zeta):

从 开始,您已经拥有的solve(hyperbfitalv$hessian)是:

σlzeta2
现在你要计算什么:
σzeta2
注意:
zeta=elzeta
因此,应用 Delta 方法:
σzeta2(dzetadlzeta)2σlzeta2=(delzetadlzeta)2σlzeta2=(elzeta)2σlzeta2=zeta2σlzeta2
这本质上是如何在错误计算的参数估计的方差-协方差矩阵的 第 5 行summary(hyperbfitalv)输出中计算 zeta 和 delta 的 SE?, 如:

>>> sqrt(1.5261031428)*0.002035#for delta
0.0025139483860139073

@COOLSerdash 的回答很好,但他可能没有意识到你已经有了

σlzeta2