Я пытаюсь использовать the scipy.stats.gaussian_kde
class, чтобы сгладить некоторые дискретные данные, собранные с помощью информации о широте и долготе, поэтому в конце она выглядит несколько похожей на карту контура, высокая плотность - это пик, а низкие плотности - долины.Использование scipy.stats.gaussian_kde с 2-мерными данными
Мне сложно разместить двумерный набор данных в классе gaussian_kde
. Я играл, чтобы выяснить, как она работает с 1 размерными данными, поэтому я думал, 2 мерного будет что-то вдоль линий:
from scipy import stats
from numpy import array
data = array([[1.1, 1.1],
[1.2, 1.2],
[1.3, 1.3]])
kde = stats.gaussian_kde(data)
kde.evaluate([1,2,3],[1,2,3])
, который говорит, что у меня есть 3 очка в [1.1, 1.1], [1.2, 1.2], [1.3, 1.3]
. и я хочу, чтобы оценка плотности ядра использовалась от 1 до 3 с использованием ширины 1 по оси x и y.
При создании gaussian_kde, он продолжает давать мне эту ошибку:
raise LinAlgError("singular matrix")
numpy.linalg.linalg.LinAlgError: singular matrix
Глядя в исходный код gaussian_kde
, я понимаю, что, как я думаю о том, что набор данных означает, что полностью отличается от того, как размерность вычисляется, но я не смог найти какой-либо пример кода, показывающий, как многомерные данные работают с модулем. Может ли кто-нибудь помочь мне с некоторыми примерами использования gaussian_kde
с многомерными данными?
Попробуйте использовать данные, которые еще не все в строке. Я не уверен, что для этого это не получится, или если это ошибка. – endolith