Les coordonnées GPS (latitude et longitude) peuvent-elles être utilisées comme entités dans un modèle linéaire?

10

J'ai des ensembles de données qui contiennent, parmi de nombreuses fonctionnalités, des coordonnées GPS (latitude et longitude). Je voudrais utiliser ces ensembles de données pour explorer des problèmes tels que: (1) calculer l'ETA pour conduire entre les points de début et de fin; et (2) estimer le degré de criminalité pour un point spécifique.

Je voudrais utiliser un modèle de régression linéaire. Cependant, puis-je utiliser ces coordonnées GPS directement dans un modèle linéaire?

La latitude et la longitude n'ont pas de propriété ordinale , comme avec l'âge d'une personne. Par exemple, les deux points (40.805996, -96.681473) et (41.226682, -95.986587) ne semblent pas avoir de classement significatif. Ce ne sont que des points dans l'espace. Je pensais à les remplacer par des codes postaux américains catégoriques, puis à faire un codage à chaud , mais cela entraînerait de nombreuses variables.

stackoverflowuser2010
la source
1
Devez-vous les utiliser directement ? Avez-vous entendu parler des outils de zonage, tels que l'algorithme AZP de S. Openshaw? Vous pouvez même délimiter manuellement des régions dans une carte pour séparer des régions / zones, si la zone est relativement cohérente.
Mephy
@Mephy: Cela signifierait que je convertirais lat / long en zones, non? Mais alors j'aurais des centaines ou des milliers de zones catégorielles, tout comme avec les codes postaux. Je devrais tous les encoder à chaud.
stackoverflowuser2010
Cela dépend de la façon dont vous coupez les zones, bien sûr. Si vous choisissez "au sud de la ligne équatoriale / au nord de la ligne équatoriale", alors ce n'est que deux. De nombreux algorithmes de zonage ont des hyper-paramètres pour définir des quantités telles que le nombre de zones ou la taille de zone minimale.
Mephy
J'ai le même problème. Je veux prédire la position d'un peuple. J'ai géo-haché toutes les fonctionnalités de géolocalisation dans les données d'entraînement. Après cela, LabelDecoder est utilisé pour transformer la fonction de localisation catégorielle. Enfin, le résultat est terrible. Y a-t-il une bonne idée pour gérer la prédiction spatiale?
berisfu

Réponses:

5

Vous ne pouvez pas les utiliser directement, car il est peu probable qu'il existe une véritable relation linéaire à moins que vous ne cherchiez à prédire "à quelle distance est ou nord" quelqu'un est. Comme mentionné dans les commentaires, vous devez les convertir en zones. Si vous souhaitez que les choses restent simples, vous pouvez utiliser un algorithme de clustering kNN avec un faible nombre de clusters potentiels, puis attribuer à chaque instance une nouvelle fonctionnalité avec l'ID de cluster, puis le coder à chaud.

Vous pouvez également lire comment les gens interpolent les coordonnées pour prédire des valeurs sur une carte entière. Le premier exemple concerne les stations de température, mais vous pouvez également imaginer qu'il s'agit de «zones chaudes» pour la criminalité.

( DOCS )

CalZ
la source
2

Vous pouvez faire tout ce que votre cœur désire, mais à moins que votre modèle ne prédit la température ou la différence de temps, je ne peux pas trouver d'autre variable cible qui dépend uniquement des coordonnées.

Ce que vous voulez probablement faire, c'est utiliser une source de données externe et enrichir vos données avec le pays / code postal / climat / d'autres caractéristiques géographiques qui aideront votre modèle à fonctionner.

GregA
la source
0

Les coordonnées GPS peuvent être directement converties en géohash . Geohash divise la Terre en "seaux" de différentes tailles en fonction du nombre de chiffres (les codes Geohash courts créent de grandes zones et des codes plus longs pour les zones plus petites).

Un géohash est un nombre unique qui peut être utilisé comme entité dans un modèle.

Geohash s'applique uniquement au monde entier, pas les codes postaux.

Brian Spiering
la source
La sortie d'un geohasher est une chaîne, pas un seul chiffre, non? Et si le geohash est une chaîne, alors je devrais le coder à chaud, ce qui entraînerait de nombreuses variables, tout comme avec un code postal codé à chaud.
stackoverflowuser2010
Un geohash est un nombre unique, codé en base 32. Il n'y a aucune raison de coder à chaud. Choisissez le niveau de précision et utilisez le nombre de chiffres correspondant.
Brian Spiering
Je n'ai vu que des représentations de chaînes de géohashes. Cependant, même si les géohashes étaient représentés comme un entier long, existe-t-il une relation linéaire entre eux pour une utilisation dans un modèle linéaire? C'est exactement le point de ma question initiale.
stackoverflowuser2010
La relation entre les géohashes est légèrement complexe - en.wikipedia.org/wiki/Geohash#Design
Brian Spiering
1
Il existe de nombreuses façons de concevoir des fonctionnalités au-delà du codage linéaire et à chaud. Par exemple, l'astuce du noyau ou la transformation Helmert.
Brian Spiering du