在 R 中实现计算 minus-log-likelihood 的函数

Implementing a function in R that computes minus-log-likelihood

家庭作业。

我是 R 和统计学的新手。我有一个问题,应该实现一个用户定义的函数,该函数以自由度 ("df") 和一个数据集作为参数,returns minus-log-likelihood。 假设数据是 chi-squared 分布的 "df" 自由度。

我知道 minus-log-likelihood 定义为:

我只会将此函数应用于同一数据集,因此我的函数可以具有签名:loglike <- function(df)

编辑:我听从了用户阴影的建议并尝试编写函数:

 loglike <- function(df) {
 value <- sum(-log(dchisq(data, df)))
 return(value)
 }

这样可以吗?

对数似然:

   minusLogLike <- function(df, data) -sum(dchisq(data, df, log=TRUE))

注意 log=TRUE 的使用。 MLE 估计的一个小例子如下:

dat <- rchisq(100,5)
optim(2, minusLogLike, lower=1, upper=10, method="Brent", data=dat)