|
第一张图:Q函数对alpha求一阶偏导数,第二张图:将第一张图中后面的上不完全伽马函数对alpha的一阶偏导展开。
为求alpha的值,令Q函数对alpha的一阶偏导数为0,但是我不知道该怎么写出alpha的确切表达式,如alpha=***这样的。有没有大神救救孩子啊?
能写出alpha的确切表达式或者用R语言能反解出alpha
以下个别部分的R语言程序:(nu_i是0-1变量)x=rgamma(20,4,3)
tau=rgamma(20,6,4)
#upgamma function 上gamma函数
upgamma <- function(shape, x) {
pgamma(x, shape=shape, lower=F)*gamma(shape)
}
#对表达式中出现的无穷级数求和的函数
s.1 = function(y,N,a,b){
s1=0
for(m in 0:N){
s1 = s1 + (y*b)^(a-m)/gamma(a-m+1)
}
return(s1)
}
s.2 = function(y,N,a,b){
s1=0
for(m in 0:N){
s1 = s1 + (y*b)^(a*-m)*digamma(a-m+1)/gamma(a-m+1)
}
return(s1)
}
##作为独立功能的所需期望
#E1是log(x)的条件期望值--E(log(x)|x>y)
E1 = function(a,b, y){
-log(b)+1/upgamma(a,y*b)*( digamma(a)*gamma(a)*(1-exp(-y*b)*s.1(y,4,a,b))
-gamma(a)*exp(-y*b)*log(y*b)*s.1(y,4,a,b)
+gamma(a)*exp(-y*b)*s.2(y,4,a,b))/(pgamma(y*b,a,lower.tail=FALSE)*gamma(a)) |
|
-
Q函数对alpha求一阶偏导
-
|