Я пытаюсь вычислить энтропию (scipy.stats.entropy
) между двумя массивами числовых значений, чтобы количественно определить разницу их базовых распределений.
Поскольку для расчета энтропии требуется, чтобы оба входа имели одинаковую форму, я хочу оценить распределение меньшего списка с помощью KDE для выборки новых данных из него.
Работа с входами от 0 до1e-02 Я не могу нарисовать правдоподобные числа из встроенного KDE?
emp_values = np.array([0.000618, 0.000425, 0.000597, 0.000528, 0.000393, 0.000721,
0.000674, 0.000703, 0.000632, 0.000383, 0.000466, 0.000919,
0.001419, 0.00063 , 0.000433, 0.000516, 0.001419, 0.000655,
0.000674, 0.000676, 0.000694, 0.000396, 0.000688, 0.00061 ,
0.000687, 0.000633, 0.000601, 0.00061 , 0.000747, 0.000356,
0.000824, 0.000931, 0.000691, 0.000907, 0.000553, 0.000748,
0.000828, 0.000907, 0.000457, 0.000494])
kde_emp = KernelDensity().fit(emp_values.reshape(-1, 1))
Использование KDE.sample
для рисования случайных чисел приводит к тому, что значения полностью выходят за пределы диапазона?
kde_emp.sample(10)
array([[-3.0811253 ],
[ 1.24822136],
[ 0.07815318],
[ 0.01609681],
[-0.59676707],
[-0.89988083],
[-0.59071966],
[-0.72741754],
[ 0.82296101],
[ 0.08329316]])
ЧтоТогда будет ли уместным способом нарисовать 10.000 случайных выборок из подобранного PDF?