Не существует лучшего числа бинов для оценки взаимной информации (МИ) с гистограммами. Лучший способ - выбрать его через перекрестную проверку, если можете, или полагаться на эмпирическое правило. По этой причине было предложено много других оценок МИ, которые не основаны на гистограммах.
Количество бинов будет зависеть от общего количества точек данных . Вы должны стараться избегать слишком большого количества бинов, чтобы избежать ошибок оценки для совместного распределения между двумя переменными. Вам также следует избегать слишком малого количества корзин, чтобы можно было зафиксировать взаимосвязь между двумя переменными. Учитывая, что генерирует 2D гистограмму с одинаковыми значениями ширины для обоих, и я бы лично выбрал:
В этом случае в среднем для двух равномерно распределенных случайных величин у вас будет не менее точек для каждая ячейка гистограммы:
D = ⌊ √nnp.histogram2d(x, y, D)
D
x
y
5 н
D=⌊n/5−−−√⌋
5nDXDY≥5⇒nD2≥5⇒D2≤n/5⇒D=⌊n/5−−−√⌋
Это один из возможных вариантов, который имитирует подход адаптивного разделения, предложенный в
(Cellucci, 2005) . Последний подход часто используется для оценки ИМ, чтобы вывести генетические сети: например, в
MIDER .
Если у вас много точек данных и нет пропущенных значений, вам не стоит слишком беспокоиться о поиске наилучшего количества бинов; например, если . Если это не так, вы можете исправить MI для конечных выборок. (Steuer et al., 2002) обсуждает некоторую коррекцию инфаркта миокарда для задачи вывода из генетической сети.п = 100 , 000nn=100,000
Оценка количества бинов для гистограммы - старая проблема. Вас может заинтересовать этот доклад Лауритца Дикмана об оценке количества бинов для ИМ. Этот доклад основан на главе в книге Майка X Коэна о нейронных временных рядах.
Вы можете выбрать и независимо и использовать эмпирическое правило, используемое для оценки количества бинов в 1D гистограммах.D YDXDY
Правило Фридмана-Диакониса (без предположений о распределении):
где - это разница между 75-квантилем и 25-квантилем. Посмотрите на этот связанный вопрос в SE .
DX=⌈maxX−minX2⋅IQR⋅n−1/3⌉
IQR
Правило Скотта (предположение о нормальности):
где - стандартное отклонение для .
DX=⌈maxX−minX3.5⋅sX⋅n−1/3⌉
sXX
Правило Стерджеса (может недооценивать количество бинов, но хорошо для больших ):
n
DX=⌈1+log2n⌉
Трудно правильно оценить МИ по гистограммам. Затем вы можете выбрать другой оценщик:
- Оценка Краскова NN, которая немного менее чувствительна к выбору параметров: или ближайших соседей часто используется по умолчанию. Бумага: (Красков, 2003)kk=4k=6
- Оценка МИ с ядрами (Moon, 1995) .
Существует множество пакетов для оценки MI:
- Непараметрический инструментарий оценки энтропии для Python. сайт .
- Информационно-динамический инструментарий на Java, но доступен и для Python. сайт .
- ITE инструментарий в Matlab. сайт .