J'essaie d'utiliser the scipy.stats.gaussian_kde
class pour lisser certaines données discrètes collectées avec les informations de latitude et de longitude, de sorte qu'il apparaît comme quelque peu similaire à une carte de contour à la fin, où le les densités élevées sont les pics et les faibles densités sont la vallée.Utilisation de scipy.stats.gaussian_kde avec des données bidimensionnelles
J'ai du mal à mettre un jeu de données en deux dimensions dans la classe gaussian_kde
. J'ai joué autour de comprendre comment il fonctionne avec 1 données dimensionnelles, donc je pensais que 2 dimensions serait quelque chose le long des lignes de:
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])
qui dit que j'ai 3 points à [1.1, 1.1], [1.2, 1.2], [1.3, 1.3]
. et je veux avoir l'estimation de densité de noyau en utilisant de 1 à 3 en utilisant la largeur de 1 sur l'axe x et y.
Lors de la création du gaussian_kde, il ne cesse de me donner cette erreur:
raise LinAlgError("singular matrix")
numpy.linalg.linalg.LinAlgError: singular matrix
En regardant dans le code source de gaussian_kde
, je me rends compte que la façon dont je pense à ce que signifie ensemble de données est complètement différent de la façon dont la la dimensionnalité est calculée, mais je n'ai trouvé aucun exemple de code montrant comment les données multidimensionnelles fonctionnent avec le module. Quelqu'un pourrait-il m'aider avec quelques exemples de façons d'utiliser gaussian_kde
avec des données multidimensionnelles?
Essayez-le avec des données qui ne sont pas toutes dans une ligne. Je ne suis pas sûr si cela devrait échouer pour cela, ou si c'est un bug. – endolith