我正在尝试计算R中的对数似然比检验,但是遇到了一些困难。
出于某种原因,我不断得到负对数似然值,这是不可能的,我不知道原因。
This是我正在使用的数据。
以下是目前的代码:
我试图测试平均值不等于(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
我不确定我得到负面价值的原因,但如果有人可以请给我一些非常感激的建议。
感谢您阅读
答案 0 :(得分:0)
我认为你在代码中犯了一个错误。在(datamat - xbar4)
中,减法以行方式发生。试试
sweep(datamat, 2, xbar4 , "-")
我不知道为什么你说负对数似然值不能为负。通常,他们是消极的。也许你的意思是LRS。