[Python] scipy.stats.entropyの値の解釈


Answers

Question

私はscipy.stats.entropyを使って2つの分布間のKullback -Leibler (KL)の相違を推定しようとしています。 具体的には、KLをメトリックとして使用して、2つのディストリビューションの整合性を判断したいと考えています。

しかし、私はKLの値を解釈することはできません。 例:

t1 = numpy.random.normal(-2.5,0.1,1000)

t2 = numpy.random.normal(-2.5,0.1,1000)

scipy.stats.entropy(t1、t2)

0.0015539217193737955

次に、

t1 = numpy.random.normal(-2.5,0.1,1000)

t2 = numpy.random.normal(2.5,0,1,1000)

scipy.stats.entropy(t1、t2)

= 0.0015908295787942181

本質的に重ならない完全に異なる分布はどのように同じKL値を持つことができるか?

t1 = numpy.random.normal(-2.5,0.1,1000)

t2 = numpy.random.normal(25.,0.1,1000)

scipy.stats.entropy(t1、t2)

= 0.00081111364805590595

これはさらに小さなKL値(すなわち距離)を与え、これは「より一貫性のある」と解釈する傾向があります。

この文脈でscipy.stats.entropy(すなわち、KL発散距離)をどのように解釈するかについての洞察はありますか?




Links