选择通过pdf g (x ; b ,c )= 1参数化伽马分布 之间的相对熵和是由为[1]中给出
我猜是digamma函数。
这是没有派生的。我找不到任何可以得出这一点的参考。有什么帮助吗?一个好的参考就足够了。困难的部分是将与gamma pdf 集成。
[1] WD Penny,法线,伽马,狄利克雷和Wishart密度的KL散度,请访问:www.fil.ion.ucl.ac.uk/~wpenny/publications/densities.ps
选择通过pdf g (x ; b ,c )= 1参数化伽马分布 之间的相对熵和是由为[1]中给出
我猜是digamma函数。
这是没有派生的。我找不到任何可以得出这一点的参考。有什么帮助吗?一个好的参考就足够了。困难的部分是将与gamma pdf 集成。
[1] WD Penny,法线,伽马,狄利克雷和Wishart密度的KL散度,请访问:www.fil.ion.ucl.ac.uk/~wpenny/publications/densities.ps
Answers:
KL散度是形式积分的差
$$ \ eqalign {I(a,b,c,d)&= \ int_0 ^ {\ infty} \ log \ left(\ frac {e ^ {-x / a} x ^ {b-1}} {a ^ b \ Gamma(b)} \ right)\ frac {e ^ {-x / c} x ^ {d-1}} {c ^ d \ Gamma(d)} dx \
&=-\ frac {1} {a} \ int_0 ^ \ infty \ frac {x ^ de ^ {-x / c}} {c ^ d \ Gamma(d)} \,dx-\ log(a ^ b \ Gamma(b))\ int_0 ^ \ infty \ frac {e ^ {-x / c} x ^ {d-1}} {c ^ d \ Gamma(d)} \,dx \&\ quad +(b- 1)\ int_0 ^ \ infty \ log(x)\ frac {e ^ {-x / c} x ^ {d-1}} {c ^ d \ Gamma(d)} \,dx \
&=-\ frac {cd} {a}-\ log(a ^ b \ Gamma(b))+(b-1)\ int_0 ^ \ infty \ log(x)\ frac {e ^ {-x / c } x ^ {d-1}} {c ^ d \ Gamma(d)} \,dx} $$
我们只需要处理通过观察得到的右手积分
何处
插入先前的收益
Gamma函数快速增长,因此为避免溢出,请不要计算Gamma并取其对数:而是使用在任何统计计算平台(包括Excel)中都可以找到的log-Gamma函数。
R
#
# `b` and `d` are Gamma shape parameters and
# `a` and `c` are scale parameters.
# (All, therefore, must be positive.)
#
KL.gamma <- function(a,b,c,d) {
i <- function(a,b,c,d)
- c * d / a - b * log(a) - lgamma(b) + (b-1)*(psigamma(d) + log(c))
i(c,d,c,d) - i(a,b,c,d)
}
print(KL.gamma(1/114186.3, 202, 1/119237.3, 195), digits=12)
The Gamma distribution is in the exponential family because its density can be expressed as:
Looking at the Gamma density function, its log-normalizer is
All distributions in the exponential family have KL divergence:
There's a really nice proof of that in:
Frank Nielsen, École Polytechnique, and Richard Nock, Entropies and cross-entropies of exponential families.