r - 如何用R计算高斯混合模型中的Fisher信息矩阵

标签 r gaussian

对于具有 k 个分量的高斯混合模型:
enter image description here

Fisher 信息矩阵由,

enter image description here

如何计算 Fisher 信息矩阵?是否有 R 函数可用于此计算?

最佳答案

看看mle.tools 包。例如,在正态分布中,

library(mle.tools)
## Normal distribution
pdf <- quote(1 / (sqrt(2 * pi) * sigma) * exp(-0.5 / sigma ^ 2 * (x - mu) ^ 2))
lpdf <- quote(-log(sigma) - 0.5 / sigma ^ 2 * (x - mu) ^ 2)
x <- rnorm(n = 100, mean = 0.0, sd = 1.0)
expected.varcov(density = pdf, logdensity = lpdf, n = length(x), parms = c("mu", "sigma"),
                mle = c(mean(x), sd(x)), lower = '-Inf', upper = 'Inf')

$mle
         mu       sigma 
-0.01889498  0.96256386 

$varcov
                 mu         sigma
mu     9.265292e-03 -6.989460e-13
sigma -6.989460e-13  4.632646e-03




##Normal distribution
lpdf <- quote(-log(sigma) - 0.5 / sigma ^ 2 * (x - mu) ^ 2)
x <- rnorm(n = 100, mean = 0.0, sd = 1.0)
observed.varcov(logdensity = lpdf, X = x, parms = c("mu", "sigma"),
                mle = c(mean(x), sd(x)))

$mle
        mu      sigma 
0.02476464 1.12332365 

$varcov
                mu        sigma
mu    1.261856e-02 2.617048e-19
sigma 2.617048e-19 6.405360e-03

有关详细信息,请参阅 mle.tools.pdf

关于r - 如何用R计算高斯混合模型中的Fisher信息矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69875576/

相关文章:

r - 将 4 维数组转换为 R 中的 2 维数据集

r - R 中的一切都是向量吗?

r - 将向量中的字符值转换为数值

c++ - 从其面积估计高斯高度

image-processing - 与高斯滤波器 sigma 相关的盒式滤波器大小

python - 如何在信号数据中添加 5% 的高斯噪声

r - 具有 R 表输出或 "special"汇总统计信息的观星者