Quand on agrège des individus en zones (communes, quartiers, carreaux), la corrélation entre zones dépend du nombre de zones et de leur forme. C'est le problème de l'unité spatiale modifiable. Ici, 8 000 points ont une corrélation individuelle de 0,13 ; agrégés en 10 bandes verticales elle monte à 1,00, en 10 bandes horizontales elle tombe à −0,98.
Une moyenne par commune efface les écarts entre habitants. Selon la façon dont on trace les frontières, on efface des écarts différents et on lit une autre relation.
Chaque point a deux mesures, X = 2u + v + bruit et Y = 2u − v + bruit, où u et v sont ses coordonnées sur la carte. Le bruit individuel domine, donc la corrélation individuelle est faible (0,13). En moyennant par zones découpées selon u, le bruit s'annule et il reste la composante 2u commune : corrélation positive. En moyennant par zones découpées selon v, il reste +v pour X et −v pour Y : corrélation négative. Les zones obliques mélangent les deux.
Réglez le nombre de zones et l'orientation des bandes : 0° coupe selon u, 90° coupe selon v. Les points gris sont les individus, les points colorés sont les moyennes par zone.
Les points sont fixes (tirage initialisé) : seul le découpage change.
La courbe donne la corrélation entre zones selon l'orientation, pour 5, 10 et 30 zones. Le point blanc est votre réglage. Un découpage plus fin ne supprime pas le problème : à 30 zones, on passe encore de +0,99 à −0,94.
Chips : corrélation entre zones pour le nombre de zones réglé plus haut.
Voici la démarche, puis un exemple.
import numpy as np rng = np.random.default_rng(5) u, v = rng.random((2, 8000)) x = 2*u + v + 1.2*rng.normal(size=8000) y = 2*u - v + 1.2*rng.normal(size=8000) print(np.corrcoef(x, y)[0,1]) # ~0.13 par individu zone = np.minimum((u*10).astype(int), 9) # 10 bandes verticales mx = [x[zone==z].mean() for z in range(10)] my = [y[zone==z].mean() for z in range(10)] print(np.corrcoef(mx, my)[0,1]) # ~1.00 entre zones
Une projection déforme les surfaces : à 78° de latitude, une surface paraît 23 fois plus grande.
Statistiques, finance quantitative, machine learning, deep learning, LLM, agents IA, MLOps : 321 épisodes avec des simulateurs à manipuler, pas des vidéos.
Statistics, quantitative finance, machine learning, deep learning, LLMs, AI agents, MLOps: 321 interactive episodes with simulators to play with, not videos.