Предположим, мы нарисовали n=10000
образцов стандартного нормального распределения.
Теперь я хочу рассчитать его энтропию, используя гистограммы для расчета вероятностей.
1) рассчитать вероятности (например, с помощью Matlab)
[p,x] = hist(samples,binnumbers);
area = (x(2)-x(1))*sum(p);
p = p/area;
(номера бинов определяются по какому-то правилу)
2) оценить энтропию
H = -sum(p.*log2(p))
что дает 58,6488
Теперь, когда я использую прямую формулу для вычисления энтропии нормальных данных
H = 0.5*log2(2*pi*exp(1)) = 2.0471
Что я делаю неправильно при использовании формулы гистограммы + энтропия? Большое спасибо за любую помощь!!
hist()
амортизируется, используйте вместо негоhistogram()
. - person Léo Léopold Hertz 준영   schedule 05.08.2016