在 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)
家庭作业。
我是 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)