You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于R实现卡方分布自由度k最大似然估计的对数似然函数编写

卡方分布自由度最大似然估计R实现

核心说明

R 内置的lgamma()函数可直接计算伽马函数的自然对数值,完美适配你公式中$\log(\Gamma(k/2))$的计算需求,无需手动实现伽马函数逻辑。

对数似然函数代码

# 适配maxLik的卡方分布自由度对数似然函数
# param:待估参数向量,第一个元素为自由度k
# x:观测样本向量
chi2_loglik <- function(param, x) {
  k <- param[1]
  n <- length(x)
  sum_logx <- sum(log(x))
  sum_x <- sum(x)
  # 完全匹配你推导的对数似然公式
  ll <- (k/2 - 1) * sum_logx - 0.5 * sum_x - n * lgamma(k/2) - (n * k / 2) * log(2)
  return(ll)
}

调用示例

library(maxLik)
# 生成测试样本:自由度为5的卡方分布随机数
set.seed(123)
test_sample <- rchisq(n = 1000, df = 5)
# 执行最大似然估计,初始值设为2,设置下界避免k出现非正值
mle_result <- maxLik(
  logLik = chi2_loglik, 
  start = c(k = 2), 
  x = test_sample,
  method = "L-BFGS-B",
  lower = c(k = 1e-5)
)
# 查看估计结果
summary(mle_result)

内容的提问来源于stack exchange,提问作者SebastianBerko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 11:30:05