我正在尝试在R中计算对数似然比检验,但遇到了一些困难。
由于某种原因,我一直得到一个负的对数似然值,这是不可能的,我不知道原因。
这是我正在使用的数据。
这是到目前为止的代码:
我正在尝试检验均值不等于 (1,1,1( 的原假设我将协方差矩阵乘以 (n4-1(/n4 的原因是我需要将协方差除以 n,而不是 n-1,并且 cov 函数将矩阵除以 n-1。
data <- read.csv('dat1.csv')
data <- data[, 2:4]
datamat <- as.matrix(data, nrow=25, ncol=3)
mu0_4 <- c(1,1,1)
n4 <- dim(datamat)[1]
xbar4 <- colMeans(datamat)
hs4 <- cov(datamat - xbar4)*(n4-1)/n4
det_hs4 <- det(hs4)
det_hs4
hs04 <- cov(datamat - mu0_4)*(n4-1)/n4
det_hs04 <- det(hs04)
det_hs04
LRS <- (det_hs4/det_hs04)^(n4/2)
l_lrs <- -2*log(LRS)
l_lrs
我不确定我得到负值的原因,但如果有人能给我一些建议,将不胜感激。
感谢您的阅读
我认为你在代码中犯了一个错误。在(datamat - xbar4)
中,减法按行进行。尝试
sweep(datamat, 2, xbar4 , "-")
我不知道你为什么说负对数似然值不能是负的。通常,它们是负面的。也许你的意思是LRS。