t 分布に従う変数 X のエントロピーの閉じた形式の解析解は、ここで導出されます。
python には関数scipy.special.digamma
とがあるのを見てscipy.special.beta
、上記の式をコードでどのように実装できますか?
私を混乱させるのは、ドキュメントによると、今述べた関数が自由度パラメータnu (v)を入力としてとらないことです。実行中の例が役立ちます
t 分布に従う変数 X のエントロピーの閉じた形式の解析解は、ここで導出されます。
python には関数scipy.special.digamma
とがあるのを見てscipy.special.beta
、上記の式をコードでどのように実装できますか?
私を混乱させるのは、ドキュメントによると、今述べた関数が自由度パラメータnu (v)を入力としてとらないことです。実行中の例が役立ちます
その定義により、エントロピーはシャヌーンによって次のように定義されます。
この数式をStudent-t分布に適用すると、この数式には既に自由度パラメーター ( v )
が含まれていることがわかります。
積分の結果として、Betta と Digmma の両方が近似になります。あなたが計算できれば、正直私はできませんでしたが、計算の結果として、これらが入力としてvを取ることがわかります。それは彼らの定義にはありません。
vは 1 (コーシー分布) から無限大(正規分布) の間で変化します。
計算を簡単にするために、以下のコードを使用しました。
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)
リストなどを渡して、多重分布のエントロピーを計算できます。