Variation prévue du prix au m² d'ici 2027 par commune
Machine Learning2025

UrbanScope - Prédiction de prix immobiliers

PythonTimesFMpandas

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.

Statistiques descriptives des données DVF
Statistiques descriptives des données DVF

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.

Prix au m² mensuel de la commune de Riom, avant pretraitement
Prix au m² mensuel de la commune de Riom, avant pretraitement

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.

Prix au m² mensuel de la commune de Riom, après détection et correction des outliers
Prix au m² mensuel de la commune de Riom, après détection et correction des outliers

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.

Prix au m² mensuel de la commune de Riom, après lissage par moyenne mobile
Prix au m² mensuel de la commune de Riom, après lissage par moyenne mobile

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 :

Prévision TimesFM zero-shot sur 12 mois sur la commune de Riom
Prévision TimesFM zero-shot sur 12 mois sur 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.

Variation prévue du prix au m² d'ici 2027 par commune
Variation prévue du prix au m² d'ici 2027 par commune

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.

Classement des meilleures communes où investir
Classement des meilleures communes où investir

Ressources