我将估计以下问题的能力。我有兴趣比较两个遵循Weibull分布的组。因此,A组有两个参数(形状参数=a1,比例参数=b1),B组也有两个参数(a2,b2)。通过从感兴趣的分布中模拟随机变量(例如假设不同的比例和形状参数,即a1=1.5*a2,b1=b2*0.5;或者两组之间的差异仅在于形状或比例参数),应用对数似然比检验来测试a1=a2和b1=b2(或者例如当我们知道b1=b2时,a1=a1),并估计测试的能力。
问题是全模型的对数似然值是多少,以及如何在R中编码,当a)有精确数据时,b)对于区间截断数据?
也就是说,在减少模型时(当a1=a2,b1=b2时),精确数据和区间截断数据的对数似然值为:
问题是全模型的对数似然值是多少,以及如何在R中编码,当a)有精确数据时,b)对于区间截断数据?
也就是说,在减少模型时(当a1=a2,b1=b2时),精确数据和区间截断数据的对数似然值为:
LL.reduced.exact <- function(par,data){sum(log(dweibull(data,shape=par[1],scale=par[2])))};
LL.reduced.interval.censored<-function(par, data.lower, data.upper) {sum(log((1-pweibull(data.lower, par[1], par[2])) – (1-pweibull(data.upper, par[1],par[2]))))}
当a1!= a2,b1!= b2时,考虑到两种不同的观测方案,即需要估计4个参数(或者在关注形状参数差异时,需要估计3个参数),完整模型有什么用途?
通过构建两个单独组的对数似然值并将它们相加(即LL.full< -LL.group1 + LL.group2),是否可以进行估计?
关于区间截尾数据的对数似然值,截尾是无信息的,所有观察结果都是区间截尾的。如有任何更好的执行此任务的想法,将不胜感激。
请查找下面的 R代码以说明问题。非常感谢您的帮助。
R Code:
# n (sample size) = 500
# sim (number of simulations) = 1000
# alpha = .05
# Parameters of Weibull distributions:
#group 1: a1=1, b1=20
#group 2: a2=1*1.5 b2=b1
n=500
sim=1000
alpha=.05
a1=1
b1=20
a2=a1*1.5
b2=b1
#OR: a1=1, b1=20, a2=a1*1.5, b2=b1*0.5
# the main question is how to build this log-likelihood model, when a1!=a2, and b1=b2
# (or a1!=a2, and b1!=b2)
LL.full<-?????
LL.reduced <- function(par,data){sum(log(dweibull(data,shape=par[1],scale=par[2])))}
LR.test<-function(red,full,df) {
lrt<-(-2)*(red-full)
pvalue<-1-pchisq(lrt,df)
return(data.frame(lrt,pvalue))
}
rejections<-NULL
for (i in 1:sim) {
RV1<-rweibull (n, a1, b1)
RV2<-rweibull (n, a2, b2)
RV.Total<-c(RV1, RV2)
par.start<-c(1, 15)
mle.full<- ????????????
mle.reduced<-optim(par.start, LL, data=RV.Total, control=list(fnscale=-1))
LL.full<-?????
LL.reduced<-mle.reduced$value
LRT<-LR.test(LL.reduced, LL.full, 1)
rejections1<-ifelse(LRT$pvalue<alpha,1,0)
rejections<-c(rejections, rejections1)
}
table(rejections)
sum(table(rejections)[[2]])/sim # estimated power