似然R函数

似然R函数,r,statistics,R,Statistics,我试图用增长模型分析可修复系统的可靠性。 我已经安装了Crow-Amsaa模型,但我想知道是否有任何包或代码用于安装通用更新过程(Kijima模型I)或类型II 在R中找到它的参数Beta,Lambda(或alpha)和q。 (或平均累积函数MCF的其他模型) 的方程式15给出了 对数似然 我尝试创建如下函数: likelihood.G1=function(theta,x){ # x is a vector with the failure times, theta vector of par

我试图用增长模型分析可修复系统的可靠性。 我已经安装了Crow-Amsaa模型,但我想知道是否有任何包或代码用于安装通用更新过程(Kijima模型I)或类型II 在R中找到它的参数Beta,Lambda(或alpha)和q。 (或平均累积函数MCF的其他模型)

的方程式15给出了 对数似然

我尝试创建如下函数:

likelihood.G1=function(theta,x){ 
# x is a vector with the failure times, theta vector of parameters
a=theta[1]  #Alpha
b=theta[2]  #Beta
q=theta[3]  #q

logl2=log(b/a) # First part of the equation

for (i in 1:length(x)){
logl2=logl2 +(b-1)*log(x[i]/(a*(1+q)^(i-1))) -(x[i]/(a*(1+q)^(i-1)))^b
}
return(-logl2)  #Negavite of the log-likelihood
}
然后用一些芦丁来最小化-Log(L)

或者也

optim(theta,likelihood.G1,method="BFGS",x=Data)
然而,这似乎有些错误,因为它返回的参数没有意义

你知道我做错了什么吗

感谢您查看您引用的论文中的等式(16),并将其与代码进行比较,您的for循环中似乎缺少了一项。似乎每个数据点都有三个对数似然项,但在代码中(在循环中)只有两个项(不考虑更新项)

具体而言,您的代码不包括等式(16)中的第4项:

第七学期也是如此,以此类推。这至少是代码中的一个错误。另外一个考虑因素是α和β被限制为大于零。我不确定您使用的解算器是否考虑了此约束

optim(theta,likelihood.G1,method="BFGS",x=Data)