
UrbanScope - Prédiction de prix immobiliers
Sommaire
Objectif
Objectif : construire un pipeline de forecasting immobilier à partir des données DVF en utilisant des modèles de séries temporelles basés sur Transformers (TimesFM, Google) afin d’estimer l’évolution du prix au m² et détecter les communes offrant les meilleures perspectives de rendement sur les cinq prochaines années.
Pipeline de données
Pour ce projet, je suis parti des données DVF (Demande de Valeurs Foncières) disponibles sur data.gouv.fr, qui couvrent 8,5 millions de transactions immobilières en France entre 2014 et 2025. Dans ces données libres d'accès, grâce aux colonnes prix et surface_habitable nous pouvons calculer le prix au m² pour chaque transaction.

Ainsi, en regroupant les données par communes et par mois, il est possible de tracer le prix au m² d'une commune de manière mensuelle sur les dernières années. Certaines communes n'ayant pas beaucoup de transactions sont fortement impactées par la dispersion. Ainsi, en explorant les données, on se retrouve souvent avec des séries contenant des outliers.

Pré-traitement #1
Afin de rendre les données plus stables et utilisables, j'ai effectué un prétraitement en deux étapes, première étape détecter les points écartés de la série grâce à un algorithme basé sur le filtre de Hampel. Le filtre de Hampel compare chaque point à ses ±5 voisins temporels plutôt qu'à l'ensemble de la série. Pour chaque mois, on calcule la médiane et le MAD local sur cette fenêtre de 11 points, si le prix s'en écarte de plus de 3 écarts-types robustes (MAD × 1.4826), il est remplacé par cette médiane locale. La correction est appliquée immédiatement, ce qui évite de détecter comme outlier un point qui était en réalité voisin d'un point déjà corrigé. Voilà par exemple le résultat sur la même série que ci-dessus.

Pré-traitement #2
Les données étant encore trop volatiles, la deuxième étape a été d'appliquer un lissage par moyenne mobile sur 6 mois afin de rendre les séries plus stables et exploitables pour le forecasting. Voici par exemple le résultat du lissage sur la même série que précédemment.

Le pipeline étant fini, nous avons enregistré en catégorisant selon le type de bien car entre un studio et une maison les dynamiques de prix seront différentes (Angers par exemple étant une ville étudiante a connu une forte augmentation du prix de ses studios, nous divisions donc en studio, T2, T3 et plus, et maison).
TimesFM - Zero-Shot
TimesFM 2.5 (200 M paramètres, pré-entraîné par Google sur >100 Md de points) est évalué en zero-shot, c'est-à-dire, sans entraînement, ici de la même manière que pour un modèle decoder-only comme GPT, qui prédit la suite de la phrase à partir du début, ici TimesFM prédit la suite de la série temporelle uniquement à partir du contexte qui lui est fourni. Ici le modèle prédit les 12 mois suivants de prix au m² d'une commune. Les prédictions incluent les intervalles de confiance Q10-Q90. Voilà un exemple de prédiction pour la commune de Riom :

Scan des communes
En faisant la prédiction du prix d'ici 2027 sur l'ensemble des communes disponibles dans le dataset et en calculant la variation, on est ainsi capable d'afficher la map suivante permettant de visualiser directement les opportunités où investir. Cette map sera disponible sur le GitHub dans le dossier output.

Ranking des communes
En plus de la map, on dispose également d'un ranking par commune permettant d'afficher directement le classement des meilleures communes où investir. Ce classement sera également disponible sur le GitHub dans le dossier output.
