Как рассчитать энтропию совместного распределения? - PullRequest
0 голосов
/ 25 июня 2018

Есть две случайные величины X и Y и их совместная вероятность Posterior_P (дискретный, двумерный массив). Я получил энтропию апостериорной вероятности, используя scipy.stats.entropy , который возвращает массив с размером len(X), потому что ось по умолчанию = 0. Я совершенно новичок в энтропии, поэтому, пожалуйста, исправьте меня, если я перепутал определенные определения.Я создал довольно простой пример для дачи показаний:

x = np.arange(-2,2,0.01)
y = np.arange(-2,2,0.01)

X,Y = np.meshgrid(x,y)

# support area
sup = np.dstack((X,Y))

distribution = multivariate_normal(mean=[0,0],cov=[[1,0],[0,1]])

# This is what I want, returns a value = 2.83
entropy_0 = distribution.entropy()

# calculate from 2-D array PDF 
# returns an array [8.4605,8.4605,...,8.4605] with a size of len(X)
pdf = distribution.pdf(sup)
entropy_1 = entropy(pdf,base=2)

В чем разница между ними и как я могу получить общую энтропию из плотности суставов, которая должна быть значением, используя scipy.stats.entropy

1 Ответ

0 голосов
/ 26 июня 2018

scipy.stats.entropy вычисляет энтропию дискретного распределения.Ожидается, что значения будут вероятностями, а не плотностями вероятностей.(На самом деле, если сумма значений на входе не равна 1, значения масштабируются, поэтому сумма равна 1. Это упоминается в строке документации.) Если это то, что у вас есть (например, 2-й массив p содержит вероятности совместного распределения двумерного дискретного распределения) вы можете просто передать сплющенный массив в scipy.stats.entropy;например, entropy(p.ravel(), base=2).

Функция scipy.stats.entropy не вычисляет ту же математическую величину, что и метод entropy непрерывного распределения, например scipy.stats.multivariate_normal.Метод entropy вычисляет дифференциальную энтропию распределения.См. Статью в Википедии о дифференциальной энтропии , в которой обсуждается различие между дискретной энтропией, вычисленной по scipy.stats.entropy, и дифференциальной энтропией, вычисленной по методу entropy распределений сципиона.

...