擅长:python、mysql、java
<p>根据其定义,Shanoon将熵定义为:
<a href="https://i.stack.imgur.com/U6f2o.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/U6f2o.png" alt="enter image description here"/></a></p>
<p>现在,如果您将此公式应用于<em>Student-t</em>分布,您将注意到此分布已包含自由度参数(<em>v</em>):
<a href="https://i.stack.imgur.com/pcv54.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/pcv54.png" alt="enter image description here"/></a></p>
<p>作为积分的结果,您将在近似情况下获得Betta和Digmma。如果你能进行计算,<em>老实说,我不能</em>,你会发现它们将<em>v</em>作为输入,只是作为计算的结果。这不在他们的定义中</p>
<p><em>v</em>在1(柯西分布)和<em>无穷大</em>(正态分布)之间变化</p>
<p>为了简化计算,我使用了以下代码:</p>
<pre><code>import numpy as np
import scipy.special as sc
v = float(input('Degre of freedom '))
v1 = (1+v)/2
v2 = v/2
Entropy_of_Variable_X = v1*(sc.digamma(v1)-sc.digamma(v2))+np.log(np.sqrt(v)*sc.beta(v2,0.5))
print('Entropy of the variable X, of degree of freedom equal to : ', v, 'is ', Entropy_of_Variable_X)
</code></pre>
<p>你可以给它一个列表或者类似的东西来计算多重分布的熵</p>