【问题标题】:Matlab fminunc calculate standard errors MLEMatlab fminunc计算标准误差MLE
【发布时间】:2013-07-18 13:39:33
【问题描述】:

我在尝试从 fminunc 计算估计的标准误差时遇到问题。我的估计技术是最大似然估计。我尝试了以下两种方法,都失败了:

  1. 来自 fminunc 结果的 Hessian 矩阵是不可逆的,所以我无法从 Hessian 矩阵中得到标准误差。

  2. 所以我转而使用 OPG(outer-product-of-gradient) 方法来获取标准误差。但是,我提供的梯度未能通过导数检查。

有人知道我是否有其他方法可以获得标准错误?您的帮助将不胜感激!

【问题讨论】:

    标签: matlab standard-error hessian-matrix


    【解决方案1】:

    这可能有用:http://gking.harvard.edu/files/gking/files/help.pdf

    我已经略过,我的感觉是你不能从不可逆的 hessian 矩阵中得到方差矩阵。它不存在。上面的参考资料说标准响应是:
    a) 获取更多数据或
    b) 使用不太复杂的模型。
    但如果这两种方法都不是一种选择,它也提供了一些救援方法。我还没有完全理解他们的方法,所以很抱歉这是不完整的。

    【讨论】:

      【解决方案2】:

      上面提到的链接引用了 BHHH 算法的使用,该算法使用分数的外积来近似 Hessian。这具有始终可逆的优点,但缺点是仅适用于明确指定的模型,接近事实且渐近(听起来您可能会担心)。

      要使用此算法,您需要有似然贡献的向量,称为 grad(即 N x K,其中 N = #observations 和 K = #parameters)。那么你的标准错误是

      se = sqrt(diag(grad'*grad))*N; % should be K by K 
      

      使用与 OLS 的比较或你有一个封闭形式的东西来测试它们。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-11-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-26
        • 1970-01-01
        • 2016-04-14
        • 2020-01-28
        相关资源
        最近更新 更多