关于R

关于R,r,optimization,bayesian,R,Optimization,Bayesian,我对R中的贝叶斯优化设计有疑问 我不确定我是否正确地遵循了内容 因此,对于贝叶斯最优性的基本思想,我认为 选择最大化以下功能的设计方案: 我用“部分剖面离散选择实验的贝叶斯优化设计”对论文中的函数进行了修改 问题是我一直对每个集成部分感到困惑 数据如下所示,我做了普通的D-最优设计(非贝叶斯) 使用以下代码 顺便说一下,数据如下所示 #Parameter estimation for the models total.w<-function(param,data){ a1<-p

我对R中的贝叶斯优化设计有疑问

我不确定我是否正确地遵循了内容

因此,对于贝叶斯最优性的基本思想,我认为

选择最大化以下功能的设计方案:

我用“部分剖面离散选择实验的贝叶斯优化设计”对论文中的函数进行了修改

问题是我一直对每个集成部分感到困惑

数据如下所示,我做了普通的D-最优设计(非贝叶斯)

使用以下代码

顺便说一下,数据如下所示

#Parameter estimation for the models

total.w<-function(param,data){
a1<-param[1]
b1<-param[2]
c1<-param[3]
value<-c()
for (i in 1:dim(data)[1]){
value[i]<-data[i,]$failure*log(1-exp(-(data[i,]$time/exp(a1+b1*data[i,]$stress))^c1))+(data[i,]$total-data[i,]$failure)*((-(data[i,]$time/exp(a1+b1*data[i,]$stress))^c1))}
return(-sum(value))}
opt.ans4<-optim(par=ini.w,total.w,data=dataF2,hessian=TRUE)


#Making Fisher information matrix for optimal design criterion


  
a1<-opt.ans4$par[1]

b1<-opt.ans4$par[2]



c1<-opt.ans4$par[3]

id<-matrix(c("a1","a1","a1","b1","a1","c1","b1","a1","b1","b1","b1","c1","c1","a1","c1","b1","c1","c1"),ncol=2,byrow=TRUE)

total.w<-function(tsample,fail,con,labT,a1,b1,c1){
fail*log(1-exp(-(labT/exp(a1+b1*con))^c1))+(tsample-fail)*((-(labT/exp(a1+b1*con))^c1))
}


ele1.w<- Deriv(Deriv(total.w,id[1,1]),id[1,2])
ele2.w<- Deriv(Deriv(total.w,id[2,1]),id[2,2])
ele3.w<- Deriv(Deriv(total.w,id[3,1]),id[3,2])
ele4.w<- Deriv(Deriv(total.w,id[4,1]),id[4,2])
ele5.w<- Deriv(Deriv(total.w,id[5,1]),id[5,2])
ele6.w<- Deriv(Deriv(total.w,id[6,1]),id[6,2])
ele7.w<- Deriv(Deriv(total.w,id[7,1]),id[7,2])
ele8.w<- Deriv(Deriv(total.w,id[8,1]),id[8,2])
ele9.w<- Deriv(Deriv(total.w,id[9,1]),id[9,2])

w1<- sum(-ele1.w(dataF2$total,dataF2$failure,dataF2$stress,dataF2$time,a1,b1,c1))
w2<- sum(-ele2.w(dataF2$total,dataF2$failure,dataF2$stress,dataF2$time,a1,b1,c1))
w3<- sum(-ele3.w(dataF2$total,dataF2$failure,dataF2$stress,dataF2$time,a1,b1,c1))
w4<- sum(-ele4.w(dataF2$total,dataF2$failure,dataF2$stress,dataF2$time,a1,b1,c1))
w5<- sum(-ele5.w(dataF2$total,dataF2$failure,dataF2$stress,dataF2$time,a1,b1,c1))
w6<- sum(-ele6.w(dataF2$total,dataF2$failure,dataF2$stress,dataF2$time,a1,b1,c1))
w7<- sum(-ele7.w(dataF2$total,dataF2$failure,dataF2$stress,dataF2$time,a1,b1,c1))
w8<- sum(-ele8.w(dataF2$total,dataF2$failure,dataF2$stress,dataF2$time,a1,b1,c1))
w9<- sum(-ele9.w(dataF2$total,dataF2$failure,dataF2$stress,dataF2$time,a1,b1,c1))
#
amat3<-matrix(c(w1,w2,w3,w4,w5,w6,w7,w8,w9),ncol=3)
opt.ans4$hessian


##Function to generate failure rate for experimental design

fail.func<-function(tsample,con,labT,a1,b1,c1){
tsample*(1-exp(-(labT/exp(a1+b1*con))^c1))
}

#Example 
param<-c(8,8,8,10,10,10)
round(fail.func(dataF2$total,dataF2$stress,dataF2$time,a1,b1,c1)) 

###


Test.w<-function(param){

samp<-round(c(param[1],param[2],param[3]))
freq<-round(5*c(param[4],param[5],param[6]))

#a1<- 5.2265
#b1<- -0.0351
#c1<- 1.9547
a1<-4.150
b1<- -1.384
c1<-1.2142

temp<-c(0.4286,0.7143,1.000)
w1.e<-c()
w2.e<-c()
w3.e<-c()
w4.e<-c()
w5.e<-c()
w6.e<-c()
w7.e<-c()
w8.e<-c()
w9.e<-c()
failure.w<-c()
for (i in 1:length(temp)){
failure.w[i]<-fail.func(param[i],temp[i],freq[i],a1,b1,c1)
}

for (i in 1:length(temp))
{
w1.e[i]<- (-ele1.w(samp[i],(failure.w[i]),temp[i],freq[i],a1,b1,c1))
w2.e[i]<- (-ele2.w(samp[i],(failure.w[i]),temp[i],freq[i],a1,b1,c1))
w3.e[i]<- (-ele3.w(samp[i],(failure.w[i]),temp[i],freq[i],a1,b1,c1))
w4.e[i]<- (-ele4.w(samp[i],(failure.w[i]),temp[i],freq[i],a1,b1,c1))
w5.e[i]<- (-ele5.w(samp[i],(failure.w[i]),temp[i],freq[i],a1,b1,c1))
w6.e[i]<- (-ele6.w(samp[i],(failure.w[i]),temp[i],freq[i],a1,b1,c1))
w7.e[i]<- (-ele7.w(samp[i],(failure.w[i]),temp[i],freq[i],a1,b1,c1))
w8.e[i]<- (-ele8.w(samp[i],(failure.w[i]),temp[i],freq[i],a1,b1,c1))
w9.e[i]<- (-ele9.w(samp[i],(failure.w[i]),temp[i],freq[i],a1,b1,c1))
}

fish<-matrix(c(sum(w1.e),sum(w2.e),sum(w3.e),sum(w4.e),sum(w5.e),sum(w6.e),sum(w7.e),sum(w8.e),sum(w9.e)),ncol=3)
value<- det(fish)
#print(fish)
#print(value)
return(value)
}

#模型的参数估计
总计.w
 total.w<-function(tsample,fail,con,labT,a1,b1,c1){