79

Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Rapport de stage

Réalisation d'interfaces spéci�ques

permettant l'exploitation du Data Warehouse

immobilier

Etudiant :

Samuel GOUTIN

Encadrants :

Patrick TREMOULET

Awa DIATTARA

juin 2018

Page 2: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Remerciements

Je tiens à remercier Mr TREMOULET, responsable du service informatique, pour le partage de sonexpérience qui m'a permis de découvrir le monde de l'entreprise dans les meilleures conditions. Mercipour sa con�ance ainsi que toute la liberté qu'il m'a accordée dans la réalisation de ma mission.Je remercie Mme PIERRE, chef de projet système d'information, pour m'avoir partagé sa connaissancedu métier dans le logement social, pour sa disponibilité, et pour son aide précieuse dans la validationde mes travaux.Je remercie Mr VIEIRA, administrateur réseau, pour avoir mis à ma disposition tous les outils néces-saires à mon travail.Je remercie Mme DIATTARA, pour son aide dans la rédaction de mon rapport.

En�n, je remercie plus largement la société HABITELEM pour son accueil chaleureux en son sein.

1

Page 3: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Table des matières

1 Introduction 6

1.1 Contexte du choix du stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.2 Présentation d'HABITELEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3 Contexte, objectifs et problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.4 Présentation de l'existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.4.1 Architecture des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.4.2 La solution décisionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.5 Démarche adoptée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.5.1 Le reporting : motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.5.2 Les outils et logiciels utilisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.5.3 Module de reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2 Analyses 16

2.1 Analyse de la vacance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.1.2 Le taux de vacance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.1.3 Extraction et Datamart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.1.4 Décomposition de la vacance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.1.5 Séries chronologiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.1.6 Modèles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.1.7 Observations et interprétations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.1.8 Intégration au module de reporting . . . . . . . . . . . . . . . . . . . . . . . . . . 332.1.9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

2.2 Analyse de la demande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362.2.2 Extraction et préparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362.2.3 Recodage et discrétisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.2.4 Description de la population . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.2.5 Description des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442.2.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

2.3 Analyse des impayés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452.3.2 Récupération et préparation des données . . . . . . . . . . . . . . . . . . . . . . 452.3.3 La régression logistique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452.3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

3 Mise en oeuvre du reporting 50

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503.2 La construction des rapports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503.3 L'envoi par mail des rapports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503.4 Le paramètrage des rapports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.5 Paramétrer, construire et envoyer les rapports . . . . . . . . . . . . . . . . . . . . . . . . 53

2

Page 4: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

4 Conclusion et perspectives 54

5 Annexes 55

5.1 Programmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555.1.1 Rapport vacance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555.1.2 Rapport demande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.2 Application (interface graphique) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625.2.1 Notice d'utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625.2.2 Programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.3 Description des groupes de demandeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 645.4 Chaine fonctionnelle solution décisionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . 675.5 Rapports générés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

3

Page 5: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Table des �gures

1.1 Organigramme du service informatique d'Habitelem . . . . . . . . . . . . . . . . . . . . . 71.2 Interface Ikos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.3 Chaine fonctionnelle solution BI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.4 Tableau de bord QlikSense vacance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.5 Chaine fonctionnelle solution BI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.6 Architecture du module de reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.1 Modèle en étoile du datamart "Vacance" . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.2 Modèle en étoile ajusté du datamart "Vacance" . . . . . . . . . . . . . . . . . . . . . . . 182.3 Schéma des matrices de la vacance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.4 Répartition des unités de gestion selon leur type . . . . . . . . . . . . . . . . . . . . . . 192.5 Décomposition de la vacance d'Habitelem . . . . . . . . . . . . . . . . . . . . . . . . . . 192.6 Fonction de minimisation de l'erreur de test . . . . . . . . . . . . . . . . . . . . . . . . . 212.7 Evolution de la vacance globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.8 Graphique des résidus standardisés (grands logements) . . . . . . . . . . . . . . . . . . . 242.9 Evolution de la vacance des grands logements . . . . . . . . . . . . . . . . . . . . . . . . 242.10 Corrélogramme de la vacance (petits logements . . . . . . . . . . . . . . . . . . . . . . . 252.11 Ajustement tendanciel de la CVS (petits logements . . . . . . . . . . . . . . . . . . . . . 272.12 Corrélogramme des résidus (petits logements) . . . . . . . . . . . . . . . . . . . . . . . . 272.13 Évolution de la vacance des petits logements . . . . . . . . . . . . . . . . . . . . . . . . 282.14 Évolution de la vacance des places de parking . . . . . . . . . . . . . . . . . . . . . . . . 292.15 Graphique des résidus standardisés (garages) . . . . . . . . . . . . . . . . . . . . . . . . 302.16 Évolution de la vacance des garages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.17 Fonction de correction des valeurs aberrantes . . . . . . . . . . . . . . . . . . . . . . . . 342.18 Exemple d'application de la procédure de correction des valeurs aberrantes . . . . . . . 342.19 Job Talend analyse de la demande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362.20 Résumé population des demandeurs actuels . . . . . . . . . . . . . . . . . . . . . . . . . 372.21 Dendrogramme de la CAH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382.22 Représentation des demandeurs dans le plan factoriel (1,2) . . . . . . . . . . . . . . . . . 392.23 Représentation des demandeurs dans le plan factoriel (1,3) . . . . . . . . . . . . . . . . . 392.24 Fonction distance euclidienne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422.25 Fonction k plus proches voisins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422.26 Fonction d'attribution d'un numéro groupe . . . . . . . . . . . . . . . . . . . . . . . . . 422.27 Treemap de la répartition des demandeurs de LONS dans les groupes . . . . . . . . . . . 432.28 Fonction tests binomiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442.29 Résumé du jeu de données des impayés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452.30 Coe�cients de la régression logistique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462.31 E�ets des variables de la régression logistique . . . . . . . . . . . . . . . . . . . . . . . . 472.32 Ajustement polynomial de la sensibilité selon le seuil . . . . . . . . . . . . . . . . . . . . 482.33 Fonctions d'ajustement polnomial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3.1 Sweave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503.2 Fonction de compilation d'un �chier .Rnw . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4

Page 6: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

3.3 Exemple d'e-mail reçut avec mailR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.4 Exemples de fonctionnement de l'interface graphique . . . . . . . . . . . . . . . . . . . . 523.5 Architecture du module de reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5.1 Description détaillé des familles précaires . . . . . . . . . . . . . . . . . . . . . . . . . . 645.2 Description détaillé des familles classiques . . . . . . . . . . . . . . . . . . . . . . . . . . 655.3 Description détaillé des jeunes foyers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655.4 Description détaillé des retraités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665.5 Chaine fonctionnelle solution BI complète . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5

Page 7: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Chapitre 1

Introduction

1.1 Contexte du choix du stage

Entrant dans la période de recherche de stage, je me suis mis en tête de trouver un stage qui puisse melaisser l'opportunité de mettre en pratique les enseignements théoriques enseignés à l'IUT, mais ausside découvrir de nouvelles technologies et méthodes statistiques. Le stage proposé par HABITELEMrépondait complètement à ces attentes, puisqu'il m'o�rait une grande liberté dans mon travail et lapossibilité de découvrir les logiciels Talend et Qlik.

De plus, ce stage à dominante statistique s'inscrivait dans mon projet professionnel qui est de construireune carrière dans la Data Science.

1.2 Présentation d'HABITELEM

Habitelem 1 est une Entreprise Sociale pour l'Habitat (ESH 2) créée en 1911. Elle est le premier bailleursocial créé à Pau et en Aquitaine. Depuis juillet 2014, Habitelem est une �liale d'un acteur majeur dulogement en France, Action logement 3.Cette entreprise est présente dans tous les Pyrénées-Atlantiques (ou elle compte plus de 5000 loge-ments), mais son parc locatif est essentiellement concentré dans l'agglomération Paloise.

Le slogan d'Habitelem est "Faciliter le logement". Celui-ci résume le dynamisme de l'engagementd'Habitelem et la relation qu'elle souhaite maintenir auprès de ses locataires et entre ses locataires.L'entreprise prend en compte l'évolution des modes de vie et les besoins de la population en matièrede confort et de bien être a�n de toujours rester sur l'innovation.Elle a pour missions d'intégrer dans chaque projet la solidarité sociale, de con�gurer les o�res de qua-lités, les services et les loyers abordables, et veille également par l'aménagement de ses logements, àintégrer la vieillissement de sa population et les problématiques du handicap.

Dans le cadre de mon stage, je suis rattaché au service informatique. Ses missions sont :

� Maintenir en état de fonctionnement l'ensemble du parc informatique (PC, serveurs, infrastruc-ture, bases de données, logiciels, etc..)

� Apporter des solutions pérennes et optimales dans la gestion du Système d'Information

� Gérer les projets informatiques majeurs inscrits dans le schéma directeur

� Assurer les relations avec les prestataires informatiques

� Produire les tableaux de bord de la Société

1. http ://www.habitelem.com2. Société anonyme de statut privé qui gère du patrimoine locatif social.3. http ://www.actionlogement.fr

6

Page 8: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

� Assurer une veille technologique, technique et réglementaire

� Gérer le budget informatique.

Figure 1.1 � Organigramme du service informatique d'Habitelem

7

Page 9: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

1.3 Contexte, objectifs et problématique

En 2017, Habitelem a mis en place une plate-forme décisionnelle ou de business intelligence 4 dont lacomposition repose sur un Data Warehouse 5, un ETL 6 et des restitutions (sous la forme de tableauxde bord).

Le sujet qui m'a été proposé est Créer des interfaces spéci�ques permettant l'exploita-

tion du Data Warehouse immobilier.

Dans cet intitulé, je distingue trois éléments importants. Interfaces, qui impose à la fois uneinteraction avec l'utilisateur et une présentation visuelle des résultats. Spéci�ques, qui induis que lessujets d'étude sont très précis. Exploitation, impose de réaliser des interfaces pérennes (c'est à diredes interfaces dont le contenu puisse être mis à jour automatiquement).

Mes objectifs sont alors de :

� 1. Répondre aux besoins spéci�ques en analysant des données.

� 2. Proposer aux utilisateurs une interface qui restitue les résultats d'analyse de

manière interactive, visuelle et pérenne.

A l'issue d'une étape d'identi�cation des besoins, trois axes d'analyse ont été identi�és :

� Analyser et prévoir la vacance locative

� Caractériser les demandeurs de logement et dé�nir leurs besoins

� Prédire les impayés

Ces besoins sont ambitieux (prévisions, description d'un pro�l d'individu) et mettront donc en oeuvredes procédés statistiques complexes.

L'analyse des objectifs donne lieu à la problématique suivante :

Comment répondre durablement à des besoins spéci�ques mettant enoeuvre des méthodes statistiques poussées ?

Dans un premier temps, je répondrai aux besoins en analyse, puis j'imaginerai ensuite une interfaceinteractive, visuelle et pérenne.

4. Informatique décisionnelle : branche de l'informatique à l'usage des décideurs de l'entreprise.5. Entrepôt de données : base de données conçue pour fournir un socle d'aide à la décision6. Extract, Transform, Load : permet d'intégrer, de transformer et de charger des données dans une base.

8

Page 10: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

1.4 Présentation de l'existant

1.4.1 Architecture des données

L'architecture technique des données repose sur le pro-logiciel de gestion locative Ikos, dédié aulogement social. Ce pro-logiciel est une ERP 7, c'est à dire qu'il cherche à homogénéiser le Systèmed'Information de l'entreprise en un outil unique qui est capable de couvrir l'ensemble des activitésde l'entreprise (�nancière, comptable, administrative, technique et commerciale). L'ERP est éditépar la société Sopra Stéria. L'infrastructure technique repose sur une infrastructure IBM AS400.L'information est mise à jour en temps réel.L'interface utilisateur repose sur un serveur d'application Java, qui permet de restituer les donnéessur des écran Web, via Internet Explorer. L'interface Ikos donne des résultats comme ceux ci-dessous :

Figure 1.2 � Interface Ikos

7. Entreprise Ressource Planning

9

Page 11: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

1.4.2 La solution décisionnelle

La solution décisionnelle a été montée par HABITELEM avec leur prestataire SOPRA STERIA 8.Ce Data Warehouse contient près de 80 tables et aborde di�érents thèmes comme la vacance 9, lesattributions de logements, les demandes de logement, etc.. . La base prend sa source dans Ikos,et est alimentée grâce à l'ETL Talend. Le Data Warehouse dispose pour le moment d'un moduled'exploitation basé sur le logiciel QlikSense 10. Il s'agit d'un lot de tableau de bord présentant desindicateurs standards.

Une représentation simpli�ée de la chaine fonctionnelle de la solution décisionnelle est la sui-vante (le modèle complet est disponible en annexe) :

Figure 1.3 � Chaine fonctionnelle solution BI

Tous les mois, le service informatique met à jour la chaine fonctionnelle en alimentant le DataWare-house avec les données du mois courant via les extractions d'Ikos. Il en pro�te également pour réaliserdes extractions de �chier à plat et répondre aux besoins plus spéci�ques des di�érents services de la

8. Sopra Stéria : entreprise de services du numérique9. Vacance : le caractère inoccupé des logements10. QlikSense : logiciel de business intelligence et de visualisation de données

10

Page 12: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

société. Il s'agit de synthèses au format Excel ou texte.Concrètement, les tables du Data Warehouse sont stockées sur le serveur 192.168.60.47 sous la formede �chiers .qvd. Ce format de �chier est spéci�que à Qlik, il permet une optimisation des calculs dansle logiciel.

Le module QlikSense donne des résultats comme ceux ci-dessous :

Figure 1.4 � Tableau de bord QlikSense vacance

1.5 Démarche adoptée

1.5.1 Le reporting : motivations

Pour répondre à mes objectifs, il paraissait naturel de pro�ter de la solution décisionelle déjà enservice, en réalisant des tableau de bords sur QlikSense. Cependant, après une auto-formation dequelques jours sur ce logiciel, je me suis rendu compte qu'il ne me permettrait pas de répondreaux objectifs. En e�et, QlikSense permet entre autre la représentation de distributions univariées etbivariées, d'appliquer des �ltres ou cartographier des éléments, mais il ne permet pas d'e�ectuer dereprésentation complexe et personnalisée, où de mener des calculs supplémentaires sur les données.

Or, la réalisation de mes objectifs requière un traitement statistique approfondi des données(analyse prévisionnelle), et une représentation très spéci�que des résultats.J'ai donc imaginé une solution alternative qui prend la forme d'un module de reporting. Elle permetun traitement approfondi des données tout en répondant aux attentes de mon second objectif :

� O�rir une visualisation optimale des résultats

� S'inscrire dans la démarche de pérennité des restitutions

� Proposer une interactivité avec l'utilisateur.

Ainsi, la restitution prendra la forme d'un rapport mis a jour automatiquement tous les mois, lors dela mise à jour du DataWarehouse. Ce module prendrait sa place dans la chaine fonctionnelle de lamanière suivante :

11

Page 13: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Figure 1.5 � Chaine fonctionnelle solution BI

12

Page 14: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

1.5.2 Les outils et logiciels utilisés

R est un langage de programmation dédié à la science des données. Il m'a permis d'e�ec-tuer l'entièreté de mon travail d'analyse statistique.J'ai eu l'occasion d'utilisé les libraires sweave (pour générer les rapports), ggplot2 (pourappuyer ma démarche de data visualisation), factomineR (pour les tâche d'analyse et de fouillede données) et mailR (pour automatiser l'envoi des rapports par e-mail).

Talend est un logiciel de gestion de données (ou ETL). Je l'ai utilisé pour la préparationdes données (agréger, �ltrer, et e�ectuer des jointures entre tables).

Microsoft Visual Basic Express a été l'environnement qui m'a permis de développerl'interface graphique de reporting en langage VB.net.

Latex est un language et un système de composition de documents. Je l'ai utilisé pourrédiger mon mémoire de stage et pour mettre en forme les rapports automatiques.

13

Page 15: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

1.5.3 Module de reporting

Architecture

Le module de reporting s'appuie sur diverses technologies qui ont chacune un rôle essentiel. Onpeut notamment citer : une interface graphique (programmée en VB.net), des logiciels de traitementde données (Talend et R) et un langage de composition de documents (Latex).Commençons par détailler le fonctionnement du module de reporting (c'est à dire l'élément "builtreport" �gure 3 ).

Figure 1.6 � Architecture du module de reporting

Ce module s'appuie sur di�érentes technologies qui ont chacune un rôle précis.

� Étape 1 : via d'une interface graphique, l'utilisateur lance l'exécution d'un rapport en précisantune liste d'e-mail (les personnes qui recevront le rapport) et un paramètre (spéci�que à chaquerapport) qui permet à l'utilisateur d'interagir avec le rapport.

� Étape 2 : le job Talend, alimenté par le DWH ou les extractions, prépare les données (agrégations,�ltre, etc..).

� Étape 3 : la combinaison des langages R et LaTeX permet d'e�ectuer des analyses et d'intégrerles résultats à un �chier .pdf.

� Étape 4 : le rapport est en�n envoyé par mail à la liste spéci�ée.

14

Page 16: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Introduction des analyses e�ectuées

Chaque axe d'analyse dé�ni dans les objectifs fera l'objet d'un rapport d'analyse, qui servira àterme à alimenter le module de reporting.Il convient de choisir pour chaque axe, les méthodes statistiques qui seront mise en oeuvre, ainsi qu'unparamètre qui sera �xé par l'utilisateur, et o�rira donc une interaction entre ce dernier et le rapport.

� 1. Analyse et prévision de la vacance :

J'adopterais une approche chronologique, en considérant la vacance comme une série tem-porelle. Il s'agira de la décomposer selon le type d'unité de gestion 11, de modéliser les séries,puis d'e�ectuer des prévisions.Les principales méthodes de modélisation utilisées seront : le lissage exponentiel double, larégression linéaire et la régression polynomiale. Le paramètre spéci�que sera l'horizon de laprédiction (en mois).

� 2. Caractériser les demandeurs en logement et dé�nir leurs besoins :

Pour caractériser la population des demandeurs, j'adopterai une approche topologique, enclassant les individus dans des classes prédé�nies.Les principales méthodes utilisées seront l'AFCM 12, la Classi�cation Ascendante Hiérarchique,la méthode des plus proches voisins et les tests statistiques.L'analyse portera sur une commune précise, qui sera alors le paramètre �xé par l'utilisateur.

� 3. Prédire les impayés :

L'objectif est d'être capable de prédire la capacité d'un nouveau client à être un bon oumauvais payeur. Le rapport généré ne sera en réalité qu'un �chier Excel contenant la liste desindividus considérés comme mauvais payeurs avec une certaine con�ance (qui sera le paramètredu rapport).La méthode statistique utilisée sera la régression logistique.

Les données qui alimenteront ces analyses proviendront du Data Warehouse immobilier ainsi qued'extractions de �chiers à plat.

11. unité de gestion : élément qui compose le parc immobilier d'Habitelem (logement, garage, etc..)12. AFCM : analyse factorielle de correspondances multiples

15

Page 17: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Chapitre 2

Analyses

Les trois parties suivantes présentent le détail des traitements statistiques e�ectués sur les donnéespour construire les rapports. Il est important de noter que la contrainte de pérennité des analysescomplexi�e la tâche puisqu'elle implique que les traitements doivent être capables de s'adapter auxfutures données, pour assurer la validité et la cohérence des résultats dans le temps.

2.1 Analyse de la vacance

2.1.1 Introduction

La vacance est un indicateur clé pour l'entreprise, car outre représenter son manque à gagner, il estun vrai objectif stratégique.Ce rapport a pour but de présenter l'analyse détaillée de la vacance pour l'exercice du mois courant.Nous piocherons les données directement dans le Data Warehouse. L'analyse s'e�ectuera en troisétapes :

� Une décomposition selon le type d'unité de gestion.

� Une modélisation de chaque sous-séries.

� Une interprétation et prévision de son évolution.

2.1.2 Le taux de vacance

Le taux de vacance est exprimé en pourcentage. Il est l'indicateur le plus intéressant pour quanti�erla vacance. Par défault, il est calculé de la manière suivante :

taux vacance =# lots vacants

# lots geres× 100

Cette formule est viable si elle est appliquée à l'instant t. Cependant, dans notre cas, l'exercice s'étalesur un mois (environs 30 jours). Cela implique donc de décider pour chaque unité de gestion, si elle aété vacante ou non durant l'exercice. Le résultat sera approximatif car :

� Toutes les u.g. ne sont pas systématiquement vacantes durant le mois entier

� Les nouveau logements ne sont pas forcément mis en service le premier du mois.

Dans le but d'améliorer la précision de cet indicateur, nous mesurerons la vacance avec l'unité laplus �ne o�erte par le Data Warehouse : le jour. Il s'agit de reprendre la formule ci-dessus, mais enpondérant chaque unité de gestion par son nombre de jour de vacance pour le numérateur, et par sonnombre de jour de service pour le dénominateur.

16

Page 18: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Pour un exercice m, on dispose pour chaque u.g. de son # jour de vacance noté vacance, et deson # de jour de service noté louabilité. On pose n le nombre de lots gérés.Alors, pour i ∈ {1, .., n}, la formule du taux de vacance pour l'exercice du mois m est :

taux vacance =

∑ni=1 vacancei∑ni=1 louabilitei

× 100

Autrement dit, il s'agit de la somme du nombre de jours de vacance pour chaque unité de gestiondivisé par la somme de leur nombre de jours de service, pour un mois �xé.

Ainsi, nous obtenons un indicateur très précis (au jour près), ce qui est essentiel pour l'analysechronologique. Le poids de chaque logement est dé�ni par leur nombre de jours de vacance dans lemois. Ainsi, on considère dans ce calcul que chaque unité de gestion a la même importance, alorsqu'en réalité, la vacance d'une place de parking est �nancièrement moins handicapante que celle d'unlogement.

2.1.3 Extraction et Datamart

Dans un premier temps, il a été question repérer parmi la multitude de tables du DWH, celles quicontiennent les données recherchées :

� Fait vacance : nombre de jours de vacance pour chaque unité de gestion, pour chaque mois

� Dimension élément louable : référence tous les lots gérés, avec leur date de mise en service

� Dimension type élo : type des unités de gestion.

Ainsi, j'ai pu extraire du DWH le datamart suivant :

Figure 2.1 � Modèle en étoile du datamart "Vacance"

Avec le logiciel Talend, nous allons modi�er les données pour ajuster le modèle du datamart. D'abord,à l'image de nb jour vacance, nous calculons une nouvelle mesure : nb jour louabilité, qui prend encompte la date de mise en service de l'u.g.

Puis, grâce à un job Talend, on e�ectue les agrégations nécessaires a�n d'obtenir un grain dela table de fait plus grossier. Plus précisément, on agrège selon le type d'u.g., a�n d'obtenir :

17

Page 19: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

� Le nombre de jours de vacance, par type d'u.g., par mois.

� Le nombre de jours de louabilité, par type d'u.g., par mois.

Le modèle �nal du datamart est alors :

Figure 2.2 � Modèle en étoile ajusté du datamart "Vacance"

En sortie du job Talend, on récupère le �chier fait_vacance.csv, que l'on transformera ensuite dans Ren deux matrice type u.g. × mois (une pour chaque mesure) comme suit :

temps en moisJanv 2015 ... ... ... Mars 2018 ...

typed'u.g

Garage...... nb jours vacance... ouT4 nb jours louabilité...

Figure 2.3 � Schéma des matrices de la vacance

Puis, en appliquant la formule du taux de vacance (en 1.2), c'est-à-dire en divisant la matrice du nb

jours vacance par celle du nb jour louabilité et en multipliant le tout par 100, on obtient la matricedu taux de vacance.

2.1.4 Décomposition de la vacance

J'ai choisi de décomposer la vacance selon le type d'u.g., car c'est la caractéristique principale d'unlot, et il est donc évident que la vacance et son évolution en dépendra.Il y a 17 di�érents types d'u.g. : les logements (T1 à T7), les annexes (balcon, jardin, garage,

place de parking, cave, grenier), puis les unités diverses (local res, local asso, commerce

et foyer).Il a été question de cibler les analyses sur les types les plus pertinents. Ainsi, les types minoritaires(local res, local asso, commerce, foyer, grenier, cave) ont été ignorés. Les jardins, et balcon sontégalement mis de côté car étant dépendants des logements. Puis, certain logements ayant des compor-tements similaires, je les ai classés en deux catégories : les petits (de T1 à T3) et les grands (de T4 à T7).

Après recodage, il peut être intéressant d'avoir une vue d'ensemble sur les indicateurs qui nousintéressent.

Par exemple, on peut visualiser la composition du parc mobilier d'Habitelem au travers dugraphique suivant :

18

Page 20: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Figure 2.4 � Répartition des unités de gestion selon leur typeLecture : 44% des lots d'Habitelem sont des petits logements.

Puis, on peut aussi visualiser la décomposition de la vacance à travers le graphique suivant :

Figure 2.5 � Décomposition de la vacance d'HabitelemLecture : Le taux de vacance d'Habitelem est expliqué en majorité par les garages. Le taux de

vacance des garages à augmenté de 1.5% par rapport au mois précédent.

Ce graphique, réalisé grâce au package treemap de R, a deux niveaux de lecture :

� La taille des rectangles (ex : la vacance est principalement expliquée par les garages).

� La couleur des rectangles (ex : depuis le mois précédent, la vacance des parkings a augmenté de1%).

2.1.5 Séries chronologiques

On dispose du taux de vacance par type d'u.g. et par mois (voir 1.4), stocké dans une matrice type

u.g. × mois.

19

Page 21: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

On peut voir cette matrice comme une série chronologique alors notée :

(Yt,u)

� t ∈ {1, ..., T} l'espace-temps (relevés mensuels) ou t1 correspond au mois de Janvier 2015. T estle nombre total d'observations, soit 39.

� u fixe ∈ {petits logements, grands logements, garages, parkings, autres} qui est l'indicepermettant d'accéder à une sous-série précise.

On dispose alors de 5 sous-séries chronologiques : (Yt,pts lgts), (Yt,grd lgts), (Yt,garages), (Yt,parkings)et(Yt,autres), t ∈{1, ..., T}. Chacune d'entre elle peut être décomposée en :

� Une tendance (Zt) : représente l'évolution à long terme de la série.

� Une composante saisonnière (St) : correspond à un phénomène qui se répète de manière pério-dique.

� Une composante résiduelle (εt) correspond à des �uctuations irrégulières de nature aléatoire.

Pour ces analyses, nous n'utiliserons que le modèle le plus courant : le modèle additif, donné par :

Yt = Zt + St + εt

Nous allons décomposer chaque séries avec les méthodes les plus pertinentes : nous tenteronsd'identi�er les 3 composantes cités précédemment, pour former par la suite le modèle additif.Puis, par extrapolation, nous seront en mesure d'e�ectuer la prévision des valeurs futuresYT+h (h ∈ {1, ..., 4}) notées YT (h). h est l'horizon de la prédiction. En prenant en compte laprofondeur de l'historique (janvier 2015), h = 4, paraît être un horizon de prédiction convenable.

Important : Comme nous somme dans une démarche de reporting, les méthodes devront êtrechoisies dans le but d'assurer la pérennité du modèle.

20

Page 22: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

2.1.6 Modèles

La vacance globale

Dans un premier temps, on s'intéresse à l'évolution de la vacance globale (Yt,u) que l'on appellera Ytdans cette partie. On peut visualiser la série sur la �gure 6.

Observations : dans l'ensemble, la série est linéairement croissante. Elle est constituée d'un en-chaînement de motifs de forme aléatoire et d'occurrence irrégulière, que l'on ne peut pas quali�er decomposante saisonnière.

L'augmentation régulière de la série nous incite à opter pour un ajustement linéaire. Cepen-dant, les points seraient mal répartis autour de la tendance, et le modèle serait mauvais.J'appliquerais donc la méthode du lissage exponentiel double dite �Holt� , pour laquelle on nesupposera pas de modèle.Elle considère que la série peut être approchée localement par une fonction a�ne du temps (unedroite). Ainsi, les prévisions seront capables de s'adapter rapidement si l'allure de la tendance venaità changer.En pratique, cette méthode prédit les valeurs futures à partir des valeurs passées en leur donnantun poids exponentiellement décroissant. Ce poids est déterminé par les paramètres de lissages(α et β) ∈]0; 1[.Une prévision à la date T pour l'horizon h à une structure a�ne : Yt(h) = b(T ) + a(T ) × h

� b(T ) est le coe�cient du niveau, in�uencé par α.

� a(T ) est le coe�cient de pente, in�uencé par β.

Pour chaque nouveau mois, le niveau et la pente se la tendance seront mis à jour. Pour ajuster cettecourbe, il va donc être question de trouver α et β qui minimisent la somme des carrés des erreurs deprévisions (SCE) d'ordre 4 (h = 4). De plus, on considère qu'on veut prédire le futur et non le passé :entrerons alors en compte dans ces calculs que les 24 derniers mois.

On peut voir ce problème comme la minimisation de la fonction f :

f : (α, β) 7−→T−h∑

t=n−24

(Yt+h − Yt(h)

)2(2.1)

Sur R, cette fonction peut s'écrire :

Figure 2.6 � Fonction de minimisation de l'erreur de test

Paramètres : p est le vecteur contenant α et β, h est l'horizon et s est la série étudiée.On utilise la fonction HoltWinters de R pour e�ectuer le lissage exponentiel.

Après avoir initialisé les valeurs de α et β, on minimise ensuite la fonction f avec la commandeoptim() :

21

Page 23: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

On récupère en sortie les paramètres de lissages α et β.

Figure 2.7 � Evolution de la vacance globale

Observations : La série lissée à une allure linéaire et paraît peut sensible aux valeurs récentes.L'intervalle de prédiction est lui aussi stable.

Ces observations s'expliquent par le fait que les paramètres paramètre de lissages obtenus sonttous deux faibles : le lissage est donc rigide.La zone verte correspond à l'intervalle de prédiction d'ordre 0.9. Grâce à minimisation de la SCE deprédiction d'ordre 4, l'étendue l'intervalle est sensiblement similaire pour les 4 valeurs prédites.

Mois Prédictions (× 100)Pred Min Max

Avril 4.054 3.695 4.412Mai 4.076 3.716 4.436Juin 4.099 3.737 4.461Juillet 4.122 3.756 4.487

22

Page 24: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Les grands logements

On s'intéresse maintenant à la série chronologique du taux de vacance des grands logements(Yt,grds lgts) (�gure 2.9), qu'on notera Yt dans cette section.

Observations : La série à l'allure d'une parabole inclinée vers le bas. On ne repère cette fois-ciaucun motif récurrent.

a) décomposition

Ici, la série se décompose en une tendance et une composante résiduelle. Je choisi d'exploi-ter l'allure parabolique en estimant la tendance par une fonction polynomiale de degrés 2. Avecla fonction lm() de R, j'e�ectue une régression par la méthode des moindres carrés. Notre modèleest alors de la forme :

Yt = at2 + bt+ c+ ε

b) qualité d'ajustement

On est ensuite capable de mesurer la qualité de l'ajustement :Le logiciel nous donne le coe�cient de détermination r2, c'est-à-dire le carré du coe�cient decorrélation linéaire. On trouve r2 = 0.62. Sa proximité à 1 témoigne de la qualité de l'ajustement.

On peut également e�ectuer le test de qualité d'ajustement :

H0 : L'ajustement n'est pas bon contre H1 : L'ajustement est bon.

La probabilité critique est : Pr(> F ) = 3× 10−8, ce qui est très faible (< 0.01). On rejète H0 aupro�t de H1 : l'ajustement est bon.

c) validation

Pour valider le modèle, on s'assure dans un premier temps graphiquement que les résidusne présentent aucune structure particulière.Ensuite, on s'intéresse aux données suspectes. Pour cela, on calcule les résidus standardisésersi , i ∈ {1, ..., T}, qui sont une version normalisée des résidus.Ainsi, ils sont la réalisation de la variable aléatoire Ersi qui suit une loi normale centrée réduiteN(0, 1). Les individus sont mal reconstitués par le modèle au risque α = 0.05 si ‖esi‖ ≥ tn−3(1− α

2 ).Ici, les points t ∈ {26, 35} sont suspects. Dans ce cas de �gure, la marche à suivre est de retirer lesvaleurs aberrantes et de reconstruire le modèle. Cependant, dans le cas d'un ajustement sur sériechronologique, nous traitons les valeurs aberrantes d'une manière légèrement di�érente (voir 4.1 :traitements des valeurs aberrantes).

d) prévisions

Les prévisions d'ordre h sont données par la formule : YT (h) = at2 + bt+ c pour t ∈ {1, ..., T}. Ondonne également un intervalle de con�ance bilatéral IC(YT (h), 1− α

2 ) au risque α = 0.05.

Mois Prédictions (× 100)Pred Min Max

Avril 1.046 0.779 1.313Mai 0.985 0.712 1.257Juin 0.921 0.642 1.201Juillet 0.855 0.567 1.142

23

Page 25: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Figure 2.8 � Graphique des résidus standardisés (grands logements)

Figure 2.9 � Evolution de la vacance des grands logements

Les petits logements

On s'intéresse maintenant à la série chronologique du taux de vacance des petits logements (Yt,pts lgts)(�gure 2.13), que nous appellerons Yt dans cette section.

Observations : on observe une tendance linéaire très faiblement croissante et un motif régulierde période 12. Ce phénomène saisonnier prend généralement sont minimum en �n d'année, et sonmaximum en milieu d'année.

24

Page 26: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Le sondage de personnes expérimentées de l'entreprise rapporte que la vacance des petits loge-ments d'Habitelem ne serait pas sujet à un phénomène saisonnier signi�catif. Ainsi, ces motifsrépétitifs seraient le fruit du hasard. En connaissance de cause, je décide d'exploiter quand mêmecette composante saisonnière, à condition de valider rigoureusement le modèle.

a) détection de la saisonnalitéPour mettre en évidence la composante saisonnière, on utilise le corrélogramme. On s'intéresse àla corrélation de la série avec elle même décalée de P crans (P est la période). Pour P ∈ {1, ..., T},on calcule le coe�cient d'autocorrélation. On obtient alors une liste de coe�cients de corrélationqui permettent de tracer le corrélogramme.

Figure 2.10 � Corrélogramme de la vacance (petits logements

Observations : Les autocorrélations sont signi�catives lorsque les barres dépassent le seuil marquépar les lignes bleues pointillées. Pour P = 0, l'autocorréation vaut donc naturellement 1. Legraphique met en évidence une corrélation négative sur 6 mois, qui correspond à la dualité entrele mois fort de �n d'année et le mois faible de milieu d'année, et une corrélation positive pour leretard de 12 mois, qui correspond au pic annuel. Cela met en exergue la composante saisonnièrede période 12.

b) décomposition

La décomposition s'e�ectue en 2 étapes :D'abord, avec la fonction stl() de R, on récupère les coe�cients saisonniers. Cela nous permetde calculer la série corrigée des valeurs saisonnières (CVS) en retirant ces coe�cients de la sérieinitiale :

Ycvs,t = Yt − StAinsi, la CVS n'est composée que de la composante tendancielle et résiduelle.

Ensuite, on estime la tendance en réalisant une régression linéaire sur la CVS. Pour cela, plusieurssolutions s'o�re à nous :

25

Page 27: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

� appliquer la méthode des moindres carrés directement sur la CVS (la droite pourra être altéréepar des valeurs aberrantes.) (droite 1).

� appliquer la méthode des moindres carrés sur la CVS lissée avec une méthode robuste (ladroite sera insensible aux valeurs aberrantes.) (droite 2).

� appliquer la méthode des points médians sur la CVS (la droite sera insensible aux valeursaberrantes, mais on ne pourra pas de calculer d'intervalle de con�ance.) (droite 3).

Nous prendrons le meilleur des trois modèles, c'est-à-dire celui qui minimise la somme des carrésdes erreurs, sans tenir compte des valeurs aberrantes.

La CVS lissée est obtenue en appliquant à la CVS un lissage par médiane mobile d'ordre impairM5(t), t ∈ {3, .., T − 2}. Ce lisseur est robuste, et permet donc de supprimer les valeurs aberrantes.

Observations �gure 2.11 : Les deux premières valeurs de la CVS sont aberrantes. On souhaiteconstruire un modèle qui ne tient pas compte de ces valeurs. Le modèle qui minimise la SCE pourt ∈ {3, ..., T} est la droite bleue (0.177), issue d'un ajustement linéaire sur la CVS lissée. C'estcette estimation de la tendance qu'on conserve dans notre modèle.

Ainsi, à partir de l'équation de droite de la tendance estimée et des coe�cients saisonniers, on peutécrire le modèle :

Yt = at+ b+ St + εt

On a trouvé a = 1.7× 10−3 et b = 1.27.

c) validation :

Vérifons que le modèle est bon. Pour cela, on s'assure par l'observation de la composanterésiduelle que la saisonnalité et la tendance ont bien été éliminés lors de la décomposition. Anouveau, on trace le corrélogramme des résidus.

Observations �gure 2.12 : Toutes les valeurs du corrélogramme sont faibles, à l'exceptionde la seconde qui est la conséquence des valeurs aberrantes du début de la série initiale. De plus,on observe aucun pic régulier, preuve que le saisonnier a été éliminé avec succès.

d) prévisions :

On est maintenant en mesure d'e�ectuer des prévisions d'ordre h en appliquant la formule :YT (h) = ah+ b+ Sh pour h ∈ {1, ..., 4}. On donne également un intervalle de con�ance bilatéralIC(YT (h), 1− α

2 ) au risque α = 0.05.

26

Page 28: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Figure 2.11 � Ajustement tendanciel de la CVS (petits logements

Figure 2.12 � Corrélogramme des résidus (petits logements)

Mois Prédictions (× 100)Pred Min Max

Avril 1.225 1.131 1.319Mai 1.226 1.131 1.320Juin 1.223 1.128 1.318Juillet 1.339 1.244 1.337

27

Page 29: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Figure 2.13 � Évolution de la vacance des petits logements

Les places de parking

On s'intéresse maintenant à la série chronologique du taux de vacance des places de parkings(Yt,parking) que nous appellerons Yt dans cette partie (�gure 2.14).

Observations : cette série ne comporte pas de composante saisonnière. Bien que sa tendancesoit à la baisse sur le long terme, elle ne présente d'allure clairement identi�able.

Estimer la tendance par régression linéaire serait trop simpli�cateur. Ainsi, comme en 1.3, onutilisera le lissage exponentiel double de Holt.

Les paramètres de lissage obtenus suite à la minimisation de la fonction (1) sont : α = 0.99 etβ = 0.84.

Observations : Les coe�cients α et β élevés rendent le lissage souple. La série lissée sembletrès a�ectée par les valeurs récentes. Par conséquents, et comme en témoigne l'intervalle de prédiction,les prévisions à très court terme (h=2) sont de très bonne qualité en dépit de celles d'un horizonsupérieur. A cause de l'instabilité à moyen terme de la série, nous ne somme pas en mesure d'e�ectuerdes prévisions �ables à un horizon dépassant 2.

28

Page 30: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Figure 2.14 � Évolution de la vacance des places de parking

Mois Prédictions (× 100)Pred Min Max

Avril 21.778 20.236 23.321Mai 21.276 18.060 24.491Juin 20.773 15.550 25.996Juillet 20.270 12.749 27.791

Les garages

On s'intéresse maintenant à la série chronologique du taux de vacance des garages (Yt,garage), quenous appellerons Yt dans cette partie (�gure 15).

Observations : la série ne présente pas de composante saisonnière, mais une tendance linéairetrès marquée.

a) décomposition

La série se décompose en une composante résiduelle et une tendance, que nous estimeronspar une fonction linéaire. Sur la série initiale, on e�ectue une régression linéaire avec la méthodedes moindres carrés. Le modèle est alors :

Yt = ax + b+ ε

Les coe�cients estimés sont a = 9× 10−2 et b = 7.36.

b) qualité de l'ajustementLa qualité d'ajustement du modèle est très bonne (r2 = 0.96).

c) validation

Pour valider le modèle, on analyse le graphique des résidus standardisés :

29

Page 31: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Figure 2.15 � Graphique des résidus standardisés (garages)

Observations : Les résidus ne présentent aucune structure particulière. Le point t = 39 est malreconstitué et fera donc l'objet d'un traitement spéci�que (voir 1.4).

d) prévisions

On est maintenant en mesure d'e�ectuer des prévisions d'ordre h en appliquant la formule :YT (h) = ah + b pour h ∈ {1, ..., 4}. On donne également un intervalle de con�ance bilatéralIC(YT (h), 1− α

2 ) au risque α = 0.05.

30

Page 32: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Figure 2.16 � Évolution de la vacance des garages

Mois Prédictions (× 100)Pred Min Max

Avril 21.778 20.236 23.321Mai 21.276 18.060 24.491Juin 20.773 15.550 25.996Juillet 20.270 12.749 27.791

Lien de causalité entre garages et places de parking

Les garages et les places de parking sont des unités de gestions qui ont le même rôle : lestationnement de véhicules. Ainsi, on peut naturellement émettre l'hypothèse que l'augmentation dela vacance des garages n'est le résultat que d'une migration des garages vers les places de parking.Autrement dit, on cherche à savoir s'il existe un lien de causalité entre ces deux séries. Bien qu'onne note pas graphiquement de points commun entre les deux motifs, nous allons e�ectuer le test decausalité de Granger.

On e�ectue deux tests, pour savoir si la vacance des garages modi�e celles des parkings, etpour savoir si la vacance des places de parking modi�e celle des garages. Comme on e�ectue plusieurstests sur les même données, on �xe le seuil α à 0.025 car (α = 0.05

p ou p est le nombre de tests).

Test 1 :

On pose H0 : garage; parking et H1 : garage⇒ parking

Pour un lag allant de 1 à 3, la p.valeur est de 0.87, ce qui est supérieur au seuil α = 0.05. On nerejette pas l'hypothèse nulle de non-causalité.

Test 2 :

On pose H0 : parking ; garage et H1 : parking ⇒ garage

31

Page 33: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Pour un lag allant de 1 à 3, la p.valeur est de 0.51, ce qui est supérieur au seuil α = 0.05. On nerejette pas l'hypothèse nulle de non-causalité.

Ainsi, il ne semble pas exister de causalité signi�cative entre la vacance des garages et celle desparkings.

2.1.7 Observations et interprétations

Dans la mise en place d'une solution de reporting, il est impossible d'automatiser une interprétationavancée des résultats. Cependant, je suis en mesure d'e�ectuer un bilan de l'évolution à l'instant T,c'est-à-dire au mois de mars 2018.

Les petits logements (T1 à T3) représentent presque la moitié du parc immobilier d'Habitelem.Leur vacance est en moyenne de 1.3% sur les dernières années. Bien que présentant un motif régulier,leur vacance à une tendance linéaire faiblement à la hausse (+0.15% chaque année). Ce rythmed'augmentation devrait se maintenir au moins pendant les 5 prochains mois.

Les grands logements (T4 et plus) représentent 20% du parc immobilier. En augmentationentre 2015 et 2016, elle a entamé une baisse depuis début 2017 : en 1 an, elle a perdu près de 0.5%.Dans les prochains mois, cette tendance tend à se poursuivre et la vacance devrait passer en dessousde la barre des 1% d'ici juillet 2018.

Les places de parking représentent 8% du parc immobilier d'Habitelem. Leur vacance est enmoyenne de 24% ces dernières années. La tendance est décroissante sur le long terme, mais instableà moyen terme. Des prévisions ne sont �able qu'a très court terme. Ainsi, on peut prévoir avec unegrande con�ance que la vacance devrait diminuer pendant les deux prochains mois.

Les garages représentent 13% du parc immobilier. Leur vacance est en moyenne de 10% cesdernières années. La tendance est très linéaire : la vacance augmente d'1% chaque année. Avec unegrande con�ance, on peut avancer que cette augmentation se poursuivra pour au moins les 5 prochainsmois.

Globalement, la vacance est d'environs 3.7% ces dernières années. Sa tendance est linéaire à lahausse. La vacance progresse d'environs 0.3% chaque année. Cette allure devrait pour l'instant semaintenir.

Les deux seules séries dont la tendance est positive sont les garages et les petits logements.Elles pèsent respectivement à hauteur de 40% et 20% dans le calcul de la vacance globale.Il est donc clair que la progression régulière de cet indicateur est expliquée par celle des garages etdes petits logements.

Il était légitime de penser à la présence d'un lien de causalité entre la vacance des garages et celle desplaces de parking. Cependant, les deux allures ne présentent pas de similitudes et le test de causalité

de Granger invalide cette hypothèse.

Actions à mener :

Le caractère inquiétant de la vacance globale résulte principalement dans l'allure de son évolu-tion : même si le rythme de croissance est faible, il ne faut pas négliger son l'aspect linéaire, quitraduit un engagement sur le long terme. C'est donc sur les garages et les petits logements que doiventporter les actions.

32

Page 34: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

2.1.8 Intégration au module de reporting

Pérennité de modèles

Dans une démarche de reporting, il faut être capable d'assurer la pérennité des modèles mis en place.Bien que les modèles soient recalculés et ajustés à chaque nouvelle observation, il faut également qu'ilsaient dans la mesure du possible la capacité de s'adapter s'ils rencontrent des valeurs aberrantes ou/etsi un changement de tendance survient.

Pour cela, chaque modèle à une spéci�cité :

� La vacance globale et vacance de places de parking (méthode de Holt) sont les plus �exibles.Grâce à l'optimisation des paramètres de lissage, elles sont capables d'adapter leur allure à toutchangement de tendance et aux valeurs aberrantes.

� La vacance des grands logements et des garages (méthodes de régression) sont capables, grâce à untraitement spéci�que des valeurs aberrantes, de s'y adapter (voir gestion des valeurs aberrantes).

� La vacance des petits logements (méthode de régression avec saisonnalité) est capable d'ignorerles valeurs aberrantes grâce à un lissage robuste de la CVS.

Ci-dessous, un tableau récapitulatif de forces et faiblesses des modèles :

ModèleAdaptation

Qualité des prédictionsvaleurs aberrantes changement de tendance

vacance globale bonne bonne convenableles grands logements bonne mauvaise très bonneles petits logements bonne mauvaise bonneplaces de parking bonne bonne convenableles garages bonne mauvaise très bonne

Gestion des valeurs aberrantes

Cette partie concerne les modèles basés uniquement sur la régression (les grands logements et les garages)

La régression par la méthode des moindres carrés consiste en tracer une droite qui passe au plus près despoints, de manière à minimiser la somme du carré des erreurs. Cependant, cette méthode a pour défaut d'êtretrès sensible aux valeurs extrêmes.Les solutions sont d'appliquer en amont un lissage robuste sur la série ou bien d'ignorer tout simplementles valeurs aberrantes, puis d'e�ectuer la régression. Cependant, dans le cas de séries chronologiques, cetteprocédure ne convient pas. Lisser la série, ou supprimer les valeurs aberrantes a pour e�et de diminuer l'erreurmoyenne (c'est à dire s), en retirant les résidus élevés. (s est donné par s = 1

n−2

∑ni=1 e

2i ).

La diminution du s réduit alors l'étendu de l'intervalle de con�ance, comme le montre sa formule :

IC(yn+1, 1− α) =

[b+ axn+1 ± tn−2(1−

α

2) s

√1

n+

(xn+1 − x)2∑ni=1(xi − x)2

]

Or, on considère que toutes les valeurs aberrantes ne sont pas systématiquement à bannir, et traduisent uncertain déséquilibre dans la série, qu'il faut prendre en compte dans le calcul des prévisions.

Ainsi, au lieu d'ignorer ces points exceptionnels, nous allons simplement les redresser en calculant la sériecorrigée des valeurs aberrantes. Pour cela, nous rapprochons chaque exception de la tendance, jusqu'à ce qu'ilne soit plus considéré comme aberrante par le modèle. Comme vu précédemment, un point est considérécomme extrême si son résidu standardisé est plus grand que tn−3(1− α

2) en valeur absolue.

Il convient donc de calculer, pour t et α �xés, la valeur de yt tel que erst = tn−3(1− α2) (soit environs 2).

On sait que :

esri =ei

s(i)√

1−hi

avec hi = 1n+

(xn+1−x)2∑ni=1(xi−x)

2

33

Page 35: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

On calcule le nouveau résidu du point :

ei = ersi × s√1− hi

Puis on calcule en�n la nouvelle valeur du point :

yt = YT (h)± eiSur R, cette procédure prend la forme de la fonction suivante :

Figure 2.17 � Fonction de correction des valeurs aberrantes

Paramètres : série correspond à la série à corriger, deg est le degré de la fonction de régression (linéaire = 1et polynomiale = 2).

Ainsi, cette fonction permet d'annuler l'impact des points très aberrants (et qui le seront toujours), etde corriger temporairement les points peu aberrants. Cette correction n'est pas dé�nitive, car un point etn'aberrent qu'à l'instant t, et cette situation peut évoluer au �l du temps.

A titre d'exemple, reprenons la série Yt,garages, et observons les répercutions de cette fonction :

Figure 2.18 � Exemple d'application de la procédure de correction des valeurs aberrantes

Observations : Le point Y39 était peu aberrent (à gauche), il a été corrigé (à droite). La pente de la droite derégression a très sensiblement diminué (di�cile à voir à l'oeil nu).

34

Page 36: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Nous exécuterons cette fonction sur toutes les séries concernées. Sur les graphiques, on a�chera lasérie initiale et droite de régression corrigée.

2.1.9 Conclusion

Après avoir modélisé le Datamart Vacance, nous avons décomposé la série de la vacance selon le type d'unitéde gestion, puis modélisé chacune des sous-séries. Ensuite, nous avons proposé des solutions pour assurer lapérennité des modèles, et adapter leurs prévisions à l'horizon choisi. Ce dernier sera le paramètre du rapport,�xé par l'utilisateur.

35

Page 37: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

2.2 Analyse de la demande

2.2.1 Introduction

L'objectif des analyses qui vont suivre est de dé�nir les besoins en construction pour une population dedemandeurs que l'on aura préalablement décrite. L'analyse s'e�ectuera en 2 étapes :

� Une description de la population

� Une description des besoins.

2.2.2 Extraction et préparation

Les données sont issues d'un observatoire. Il prend la forme d'un �chier Excel qui répertorie toutes les demandese�ectuées depuis 1998 (soit plus de 21 000). On ne s'intéresse qu'aux variables qui nous intéresse :

Lib. variable Type DescriptionEtat demande Qualitative Etat actuel de le demandeDate dépot Date Date du premier dépot de la de-

mandeDate renouvellement Date Date du dernier renouvellementSituation familiale QualitativeCSP QualitativeMotif Qualitative Motif de demandeDate naissance DateNationalité QualitativeCommune 1 Qualitative Commune souhaité premier choixCommune 2 Qualitative Commune souhaité second choixType 1 Qualitative Type de logement souhaité premier

choixType 2 Qualitative Type de logement souhaité second

choixNombre de personnes Quantitative

discrètePlafond revenu Quantitative

continue

Avec un job Talend, on réalise un �ltre les demandes :

Figure 2.19 � Job Talend analyse de la demande

� Avec t�lter, on ne conserve que les demandes tel que : État demande = "enregistrée" ou"exploitable"..

� Avec le tmap, on sélectionne grâce à un code java les demandes déposées ou renouvelées il y a moinsd'un an.

36

Page 38: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

On isole les variables qui nous intéressent. Le jeu de données des demandeurs actuels contient à terme environs2200 lignes.

Figure 2.20 � Résumé population des demandeurs actuels

On récupère dans un autre �chier les anciens demandeurs, c'est à dire ceux dont la demande à déjà été traitée(environs 3000 lignes).

2.2.3 Recodage et discrétisation

Pour les traitements qui suivront, une étape de recodage et de discrétisation est nécessaire.

Le motif :

La variable motif comprend de multiples modalités, dont la plupart ont des e�ectifs très faibles. J'aidonc regroupé celles qui exprimaient une idée commune. Par exemple :Rapprochement lieu de travail + Rapprochement service + Mutation professionnelle =Rapprochement professionnel, ou bien Violence familiale + Problèmes voisinage = Problèmefamiliale/voisinage.

Le plafond de revenu :

J'ai discrétisé la variable revenu en 4 classes : [0, 0.35], ]0.35, 0.65], ]0.65, 1] et ]1, +∞[.

L'age :

J'ai discrétisé la variable age en 5 classes. Le découpage s'est e�ectué en calculant les quantiles d'ordre 0.2, 0.4,0.6, 0.8 et 1. Ainsi, on obtient les classes ]-18, 35], ]35, 44], ]44, 52], ]52, 62], ]62, +∞], d'e�ectifégal.

2.2.4 Description de la population

Démarche

Pour décrire une population selon 6 variables, on pense spontanément à une étude uni-variée et bi-variée. Cettedescription serait dense, car il faudrait construire au moins 6 graphiques. Or, j'ai besoin d'une méthode quipermet de décrire une population le plus synthétiquement possible. La solution que j'ai retenue est d'e�ectuerune analyse typologique de la population.

Typologie des demandeurs

D'abord, on e�ectue une typologie de la population des anciens demandeurs, c'est à dire qu'on va tenter lesrépartir dans des groupes.Pour cela, je commence par e�ectuer une AFCM sur le jeu de données. Elle permet de réduire la dimension duproblème : un demandeur décrit par 6 variables qualitatives ne le sera plus que par 3 variables quantitatives.Ainsi, chaque individu peut être représenté sur un plan à 3 dimensions qu'on appelle le plan factoriel.

37

Page 39: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Ensuite, j'utilise une méthode de classi�cation non-supervisée 1 pour construire une partition des don-nées. C'est-à-dire trouver n groupes tels que l'inertie intra-groupe soit la plus faible possible, et l'inertieinter-groupe soit la plus élevé possible.J'applique la Classi�cation Ascendante Hiérarchique. C'est un algorithme qui regroupe à chaque itérationdeux classes parmi les plus proches. Ainsi, on obtient une succession de partitions emboîtées. Il convient dechoisir l'une d'entre elles.Comme heuristique, on choisira une partition qui correspond au regroupement de deux classes éloignées. Ontrace alors le dendrogramme.

Figure 2.21 � Dendrogramme de la CAH

L'abscisse représente la distance entre les classes regroupées. Ce graphique suggère que la partition en 4 classesest optimale.

On peut alors représenter les groupes d'individus sur les plans factoriels :

1. méthode permettant de classer des données non-étiquetées

38

Page 40: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Figure 2.22 � Représentation des demandeurs dans le plan factoriel (1,2)

Observations : La première dimension oppose le groupe 4 (violet) aux autres groupes (il y a un clivage groupe4/groupe1,2,3). La seconde dimension isole le groupe 3 des autres groupes. Cependant les groupes 1 et 2 sontbruités, le premier plan factoriel ne parvient pas à les di�érencier.

Figure 2.23 � Représentation des demandeurs dans le plan factoriel (1,3)

Observations : La troisième dimension nous apporte l'information manquante, elle départage bien les groupes1 et 2.

39

Page 41: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Ainsi, les trois premières composantes su�sent à caractériser précisément chaque groupe.

Ensuite, on peut accéder à la description des groupes. La fonction catdes() nous donne pour chaque modalités :

� la proportion des individus possédant ce caractère qui appartient à la classe

� la proportion des individus de la classe qui possède ce caractère

� un indicateur (p.valeur) qui indique si la modalité est signi�cativement sur-représentée, ou sous-représentée.

En voici un tableau récapitulatif pour chaque groupe au seuil α=0.01 (le tableau complet est disponibleen annexe).

Groupe 1 : "Les foyers précaires"

Variable Nombrepersonnes

SituationFamiliale

CSP Plafond re-venu

Nationalité Age

Sur-représenté

5-6pers,>6pers

Marié/Pacsé Inactif [0, 0.35[ Hors UE,UE

]34, 52]

Sous-représenté

1-2pers Célibataire,Concubin

CDI, Re-traité

[0.35, 1[ Française ]-∞, 29],[52, +∞[

Groupe 2 : "Les familles classiques"

Variable Nombrepersonnes

SituationFamiliale

CSP Plafond re-venu

Nationalité Age

Sur-représenté

3-4pers Concubin CDI [0.6, 1[ Française ]34, 52]

Sous-représenté

1-2pers Célibataire,Veuf

Inactif,CDD

[0.35, 1[ UE ]-∞, 29]

Groupe 3 : "Les jeunes foyers"

Variable Nombrepersonnes

SituationFamiliale

CSP Plafond re-venu

Nationalité Age

Sur-représenté

1-2pers Célibataire CDD,Étudiant,Demandeur

[0, 0.35[ Française ]-∞, 29]

Sous-représenté

3-4pers Divorcé,Marié/-Pacsé

Retraité [0.6, 1[ Hors UE ]52, +∞]

Groupe 4 : "Les Retraités"

Variable Nombrepersonnes

SituationFamiliale

CSP Plafond re-venu

Nationalité Age

Sur-représenté

1-2pers Divorcé,Veuf

Retraité [0.6, 1[ NA ]52, +∞]

Sous-représenté

3-4pers Célibataire,Concubin

CDI, CDD NA NA ]-∞, 52]

Nous sommes alors en mesure de nommer les catégories avec un intitulé résumant au mieux chaque description.

Observations : Sur la �gure 2.22 et 2.23, on remarque que le groupe 4 (les retraités) se démarque trèssigni�cativement des autres sur la première dimension. Comme le montre la description détaillée du groupe(en annexe), cette classe comprend très peu de modalités sur-représentées. Ces éléments prouvent que legroupe des retraités est très homogène et �dèle à son intitulé.

40

Page 42: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Caractériser une nouvelle population

Ainsi, la population des anciens demandeurs a acquis un nouveau caractère : le numéro de groupe auquelil appartiennent (de 1 à 4). L'objectif est maintenant d'être capable d'attribuer un numéro de groupe auxnouveaux demandeurs.

On va donc mettre en place un modèle d'apprentissage supervisé. On considère deux jeux de données :

� Le jeu de données des anciens demandeurs (y compris le groupe auquel ils appartiennent.). Il constitueranotre échantillon d'apprentissage et test (qui sert à construire et à valider le modèle).

� Le jeu de données de demandeurs actuel qui constituera notre échantillon d'exploitation (qui servira àexploiter le modèle) et qui évoluera chaque mois.

Les variables (CSP, Age, Nationalité, Plafond de revenu, nombre de personnes, situationfamiliale) constituent nos variables explicatives. Le numéro de groupe sera notre variable à expli-quer.

Nous allons appliquer la méthode des k plus proches voisins. Cette méthode consiste à estimerun caractère d'un individu en considérant qu'il est susceptible d'adopter le même que ses plus proches voisins.Pour mesurer la distance entre les individus, on utilisera la distance euclidienne dé�nie pour deux individus xet y par :

Soit x, y ∈ R3 :

d2(x, y) =

√√√√ 3∑i=1

(xi − yi)2

Cette méthode est contrôlée par deux hyperparamètres :

� k :

c'est le nombre k de voisins auquel on va s'intéresser pour tirer des conclusions. Pour trouver lavaleur de k optimale (c'est à dire qui conduit à la plus faible erreur), j'applique la validation croisée surl'échantillon d'apprentissage (le "leave one out"). Ainsi, j'obtiens une erreur de test minimale de 1.2%pour k = 8.

� le seuil :

L'autre paramètre est le seuil, c'est-à-dire la réponse à la question : À partir de combien devoisins du groupe [1, 2, 3 ou 4] je peux considérer que mon nouvel individu appartient augroupe [1, 2, 3 ou 4] ?

On ne va pas procéder en calculant des seuils, mais plutôt des scores.On calcule d'abord la proportion des groupes [1, 2, 3 ou 4] dans la population d'apprentissage. Elle estde 0.25 pour le groupe 1, 0.29 pour le groupe 2, 0.39 pour le groupe 3 et 0.07 pour le groupe 4. Ceschi�res constituent un vecteur nommé prop.app.Pour chaque nouvel individu, on calcule les mêmes proportions parmi ses k voisins. On appelle prop.indle vecteur obtenu.Ensuite, on calcule prop.ind

prop.app∈ [0,+∞[, qui renvoi un vecteur contenant des scores. Ainsi, le nouvel

individu appartiendra au groupe ayant obtenu le score le plus élevé.

En d'autres termes, le groupe d'appartenance du nouvel individu sera le groupe le plus représenté parmises voisins, relativement à la proportion de chaque groupe dans la population d'apprentissage.

En pratique, sur R, ces procédés prennent la forme suivante :

La fonction distance renvoi la distance euclidienne entre deux individus u et v.

41

Page 43: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Figure 2.24 � Fonction distance euclidienne

La fonction kvoisins renvoi les k plus proches voisins d'un individu donné.

Figure 2.25 � Fonction k plus proches voisins

paramètres : ind est l'individu, app est l'échantillon d'apprentissage et k est le nombre de plus proches voisinssouhaité.

La fonction kvoisins groupe attribue un numéro de groupe à une nouvelle population

Figure 2.26 � Fonction d'attribution d'un numéro groupe

paramètres : inds est la nouvelle population, app est l'échantillon d'apprentissage et k est le nombre de plusproches voisins.prop.app est la proportion de chaque groupe dans l'échantillon d'apprentissage et prop.ind est la proportionde chaque groupe dans les k voisins de l'individu.

Ainsi, on est capable de résumer n'importe quelle nouvelle population de demandeurs par un simplegraphique univarié.

Par exemple, la répartition des demandeurs de la ville de LONS est la suivante :

42

Page 44: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Figure 2.27 � Treemap de la répartition des demandeurs de LONS dans les groupes

Comparaison avec la population totale

L'objectif de cette section est de comparer la répartition de la population d'une commune avec laréparation de la population totale. On e�ectue, pour chacun des groupes de population, un test binomial.

Par exemple, pour la population des demandeurs de LONS :Test 1 :

On pose H0 : la proportion de demandeurs retraités à LONS est la même que celle de la population totale.contre H1 : la proportion de demandeurs retraités à LONS n'est pas la même que celle de la population totale.

La p.valeur est de 0.032, ce qui est supérieur au seuil α = 0.05. Ainsi, on rejette H0 au pro�t de H1. Laproportion de demandeurs retraités à LONS n'est pas la même que celle de la population totale.

On e�ectue ce même pour les trois autres groupes. On présente les résultats dans le tableau suivant.

Famillesprécaires

Famillesaisées

Petits mé-nages

Retraités

Demandeurs deLONS

0.25 0.29 0.39 0.07

Demandeurs 0.2 0.19 0.46 0.15Résultat Identique Di�érente Identique Di�érente

Ainsi, si au moins un résultat sur les quatre a�che "Di�érent", alors on considère que la population desdemandeurs de LONS n'est pas représentative de la population totale des demandeurs.

La fonction qui à permis de calculer la ligne "Résultats" du tableau sur R est la suivante :

43

Page 45: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Figure 2.28 � Fonction tests binomiales

Paramètres : commu est un vecteur contenant le nombre de demandeurs pour chaque groupe et pour unecommune précise, total est un vecteur contenant les proportions de demandeur pour chaque groupe, dans lapopulation totale.

2.2.5 Description des besoins

La description des besoins en logement pour la population repose sur un principe très simple. On associeà chaque demandeur le logement idéal, puis on e�ectue un tableau d'e�ectif.Le logement idéal est uniquement dé�ni par la composition du ménage de la manière suivante :

� nombre personnes = 1→ type logement = T1

� nombre personnes = 2→ type logement = T2

� nombre personnes = 3→ type logement = T3

� nombre personnes = 4→ type logement = T4

� nombre personnes = 5→ type logement = T5

� nombre personnes ≥ 6→ type logement = T6

Ainsi, pour les demandeurs de LONS, les besoins en logements sont :

TypeT1 T2 T3 T4 T5 T6

E�ectif 41 28 23 15 3 6

2.2.6 Conclusion

Grâce à une analyse typologique de la population, on a été capable de créer une partition des demandeurs delogements. Désormais, on peut décrire une nouvelle population simplement en la répartissant dans les groupes.Ensuite on a décrit les besoins en logements d'une nouvelle population.Cette nouvelle population peut être choisie par l'utilisateur parmi toutes les communes investies par Habitelem.

44

Page 46: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

2.3 Analyse des impayés

2.3.1 Introduction

Dans cette section, nous mettrons en place un outil capable de prédire la recouvrabilité d'un client. Dansun premier temps, nous expliquerons l'origine du jeu de données, puis nous mettrons en oeuvre le modèle deprédiction.

2.3.2 Récupération et préparation des données

Les données utilisées proviennent d'extractions de �chiers à plat. La phase de recherche des données àreprésenté 80% du travail et s'est étalée sur 3 jours.

Pour constituer mon jeu de données, j'ai utilisé deux types de �chiers :

� des �chiers clients qui contiennent des pro�ls de clients.

� des �chiers impayés qui contiennent les montants des impayés des clients.

Ces deux types de �chiers sont formés à une date d'arrêté, c'est-à-dire qu'ils présentent les résultats à uninstant T (ils ne constituent pas la synthèse d'une période). Le �chier des impayés est généré chaque �n demois, tandis que le �chier client est généré chaque �n d'année. Ainsi, les personnes qui quittent HABITELEMau cours de l'année N n'apparaîtrons pas dans le �chier client de l'année N .

La construction du �chier de données repose sur le fait qu'il faille résumer le parcours du client enune seule ligne d'un jeu de données. Le parcours du client s'étale parfois sur plusieurs années. Ainsi, pendantcette période, dans certains cas, son pro�l a pu évoluer et il a pu contracter plusieurs dettes.J'ai construit un jeu de données clients/impayés à partir des �chiers clients et impayés. Ce jeu contient dansun premier temps pour chaque client autant de lignes que d'années logé chez Habitelem. Je n'ai conservé chezchaque client que la dette la plus conséquente (qui s'étale le plus dans le temps).En�n, je conserve dans le �chier �nal pour chaque client son pro�l correspondant à l'année du début de saplus longue dette (lorsqu'il y en a une). J'ajoute alors le nouveau caractère dette au pro�l des clients : il prendla valeur "oui" si le client à déjà une ou plusieurs dette, et "non" sinon.

Après une fastidieuse étape de recodage, le jeu de données est le suivant :

Figure 2.29 � Résumé du jeu de données des impayés

2.3.3 La régression logistique

La régression logistique est un modèle d'analyse multivariée qui permet de mesurer l'association entre lasurvenue d'un événement (variable expliquée) et les facteurs susceptibles de l'in�uencer (variables explicatives).Nos variables explicatives sont type, sit.fam, csp.loc, csp.conj, plaf.rev, composition, nb.pers et la variableà expliquer est dette. On va mettre en place un d'apprentissage basé sur la régression logistique binaire,pour être capable à terme, de prédire si un nouvel individu sera non-recouvrable (dette = 1) ou recouvrable(dette = 0).

On découpe notre jeu de données en un échantillon d'apprentissage (70%), et un échantillon de test

45

Page 47: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

(30%), et on se lance à la recherche du modèle optimale avec l'échantillon de test.Pour choisir le meilleur modèle, on e�ectue une sélection descendante.La technique de sélection descendante pas à pas est une approche visant à améliorer son modèle. On réalise unpremier modèle avec toutes les variables, puis on regarde s'il est possible d'améliorer le modèle en supprimantune des variables du modèle. Si plusieurs variables permettent d'améliorer le modèle, on supprimera lavariable dont la suppression améliorera le plus le modèle. Puis on recommence le même procédé pour voir sila suppression d'une seconde variable peut encore améliorer le modèle et ainsi de suite. Lorsque le modèle nepeut plus être amélioré par la suppression d'une variable, on s'arrête.

Après sélection descendante, le modèle obtenu est alors :

dette ∼ type+ sit.fam+ plaf.rev + csp.loc+ csp.conj

L'AIC 2 pour ce modèle est de 3070.28.

L'algorithme de régression logistique associe un poids positif ou négatif à chaque modalité de chaquevariable explicative selon qu'elle in�ue positivement ou négativement sur la variable à expliquer. Ces poids,appelés coe�cients, sont les suivants :

Figure 2.30 � Coe�cients de la régression logistique

Ensuite, on peut observer graphiquement les e�ets de chaque variable :

2. AIC : critère qui détermine la qualité du modèle. Il est faible lorsque le modèle est bon.

46

Page 48: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Figure 2.31 � E�ets des variables de la régression logistique

Observations : Pour les logements, c'est le T2 qui est le moins favorable à une dette. Les personnes concubines,mariées ou pacsé sont elles aussi moins sujet à une dette, tout comme les locataires ayant un contrat de CDI.Mais c'est surtout le plafond de revenu qui éloigne le risque de dette lorsqu'il est élevé.

Pour prédire la dette d'un nouvel individu, l'algorithme calcule la probabilité P (dette = 1), c'est-à-dire la probabilité que l'individu présente une dette.Le résultat obtenu peut être vu comme un score compris en 0 et 1. Par défault, on considère qu'un nouvelindividu sera considéré comme non-recouvrable si P (dette = 1) ≥ 0.5 (0.5 est appelé le "seuil").

Pour avoir une idée de l'erreur de test, on peut prédire de cette manière la recouvrabilité des indivi-dus de l'échantillon de test, et construire la matrice de confusion :

oui prédit non préditoui réel 178 129non réel 125 279

À partir de cette matrice, on calcule l'erreur de test 3 et on obtient 36.5%.

Or, le plus important est de prédire non-recouvrable uniquement les personnes qui le sont réellement.Autrement dit, on veut une sensibilité 4 la plus élevé possible. Ici, sensibilite = 178

178+125= 0.58.

Pour augmenter la sensibilité, on peut reconstruire la matrice de confusion en considérant cette fois-ci queP (dette = 1) ≥ 0.65.

oui prédit non préditoui réel 69 257non réel 35 350

Ainsi, sensibilite = 6969+35

= 0.66. Pour P (dette = 1) ≥ 0.65, les deux tiers des personnes prédites commenon-recouvrables sont réellement non-recouvrable.

3. erreur de test = 12×

(178

178+129+ 279

125+279

)4. la sensibilité est la capacité d'un modèle à prédire positif que les individus qui le sont réellement.

47

Page 49: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

En faisant varier le seuil, on peut faire varier la sensibilité. La sensibilité est en quelque sorte la con�ancede détection des personne non-recouvrable. On peut représenter graphiquement, puis modéliser la relationseuil/sensibilité via un ajustement polynomial.

Figure 2.32 � Ajustement polynomial de la sensibilité selon le seuil

Observations : à partir d'une valeur de seuil de 0.7, les résultats deviennent aberrent. Cela est expliqué parla faible taille de l'échantillon d'apprentissage qui fausse le calcul de la sensibilité. On a plus su�sammentd'individus prédit non-recouvrable pour pouvoir calculer un taux de sensibilité cohérent.On ne tient donc compte dans l'ajustement que des observations pour un seuil inférieur.

On peut alors, à partir d'une valeur de la sensibilité, récupérer une valeur du seuil en résolvant l'équa-tion suivante :

sensibilite = ax2 + bx+ c (2.2)

avec a = 0.624, b = −0.06, c = 0.466.

Sur R, cela prend la forme suivante :

La fonction poly est la fonction de l'ajustement polynomial, et la fonction seuil renvoi la valeur seuilpour une sensibilité donnée.

Figure 2.33 � Fonctions d'ajustement polnomial

Paramètres : la fonction optimize résout la l'équation (1) du polynôme pour une sensibilité donné par leparamètre sensi

48

Page 50: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Ainsi, grâce à cet outil, on est capable d'isoler les individus prédit comme non-recouvrable avec une con�anceparamétrable.

2.3.4 Conclusion

On a construit un modèle d'apprentissage capable de prédire à partir du pro�l d'un client et avec unecertaine con�ance, s'il est susceptible de contracter une dette ou non.On a également modélisé la liaison entre le seuil et la sensibilité. Cela permet de détecter les clients non-recouvrables avec une certaine con�ance, qui sera paramétrée par l'utilisateur lors de la génération du rapport.Le rapport en question prendra la forme d'un �chier Excel listant les pro�ls concernés (un exemple n'apparaîtradonc pas en annexe).

49

Page 51: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Chapitre 3

Mise en oeuvre du reporting

3.1 Introduction

Le module de reporting sera alimenté par trois rapports présentant les analyses e�ectuées dans les trois sectionsprécédentes. Il sera laissé à l'utilisateur la possibilité d'interagir avec chaque rapport grâce à un paramètre :

� Un rapport portant sur "La vacance". Son paramètre est l'horizon de la prédiction.

� Un rapport portant sur "Les demandes". Son paramètre est le nom de la commune.

� Un rapport portant sur "Les impayés". Son paramètre est la con�ance (la sensibilité).

3.2 La construction des rapports

Les rapports qui alimentent le module de reporting ont été imaginés et construits avec la technologie Sweave.Sweave est un langage qui permet d'executer à la fois du R et du Latex. L'intérêt est de disposer au sein d'unmême �chier, des instructions pour la production de calculs (en R) ainsi que des instructions au sujet de lastructuration d'un document (en Latex).

Figure 3.1 � Sweave

Un �chier Sweave possède ainsi l'extension .Rnw

Il peut être ensuite compilé avec les fonctions R suivantes :

Figure 3.2 � Fonction de compilation d'un �chier .Rnw

Sweave() compile le �cher .Rnw pour créer un �chier .Tex, puis, la fonction texi2pdf() compile le �chier.Tex pour créer un �chier .pdf.

3.3 L'envoi par mail des rapports

R propose la librairie mailR qui permet l'envoi automatique d'e-mail (grâce à la fonction send.mail()). Elleprend comme paramètre l'objet, le corps du mail, l'adresse e-mail du destinataire, les pièces jointes, l'adresse

50

Page 52: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

e-mail et le mot de passe de l'expéditeur ainsi que le port [ssl utilisé pour l'envoi.

Dans mon cas, j'ai créé une adresse gmail ([email protected])pour l'occasion.J'ai programmé une fonction permettant de construire un rapport, de le renommer et de l'envoyer à une listed'e-mails. Voici un exemple du résultat obtenu en exécutant la fonction.

Figure 3.3 � Exemple d'e-mail reçut avec mailR

Le code de la fonction en question est disponible en annexe.

3.4 Le paramètrage des rapports

Pour gérer tous les paramètres qui dé�nissent le cycle de vie d'un des rapports, j'ai développé une interfacegraphique en langage VB.net.

L'interface graphique est basique mais fonctionnelle. Elle permet de sélectionner grâce à des listbox,combobox ou textbox :

� Le rapport (vacance, demande ou impayés)

� Le paramètre spéci�que

� La liste d'e-mail des destinataires.

51

Page 53: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Figure 3.4 � Exemples de fonctionnement de l'interface graphique

Cette application possède en outre des fonctionnalités intéressantes :

� Un système de sauvegarde qui permet de mémoriser la liste e-mail de la dernière session

� Elle s'assure à chaque exécution que les tables du DWH et les �chiers de synthèse qui alimentent le jobTALEND sont bien à jour (en allant récupérer les �chiers les plus récents dans l'arborescence)

� Un textbox d'information, qui a�che entre autres un message de succès lorsque une exécution s'est biendéroulée.

52

Page 54: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

3.5 Paramétrer, construire et envoyer les rapports

En réunissant toutes ces outils, j'ai été capable de créer le module de reporting. Voici son fonctionnementprécis :

Figure 3.5 � Architecture du module de reporting

� Etape 1 : Via l'interface graphique, l'utilisateur sélectionne un des trois rapports et précise la valeurdes paramètres (liste d'e-mails et paramètre du rapport). Lorsqu'il valide ses choix, un script BATCH seraexécuté et les paramètres sont sauvegardés dans des �chiers .txt (paramètre.txt et liste e-mail.txt).

� Etape 2 : Le script BATCH va successivement exécuter un JOB talend puis le �chierconstruction-envoi.R. Le job Talend, alimenté par le DWH et des extractions, prépare le jeu de donnéesqu'il et le sauvegarde ensuite dans un �chier .csv.

� Etape 3 :

� Le �chier construction-envoi.R compile rapport.Rnw. Ce dernier construit le rapport en faisantappel aux �chiers donnees.csv et paramètre.txt. Le �chier rapport.Tex est alors généré.

� construction-envoi.R peut alors créer le �chier rapport.pdf à partir de rapport.Tex et l'envoyerà la liste d'e-mails spéci�ée dans liste e-mail.txt.

53

Page 55: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Chapitre 4

Conclusion et perspectives

Pour répondre durablement à des besoins spéci�ques en analyse mettant en oeuvre des méthodes statistiquespoussées, j'ai imaginé un module de "reporting".Il permet de répondre aux besoins en analyse grâce à trois programmes élaborés qui permettent :

� D'analyser et de prévoir l'évolution de la vacance locative

� De décrire les demandeurs de logement et de dé�nir leurs besoins

� De prédire les impayés des clients.

Puis, il génère automatiquement une restitution des résultats de chaque programmes sous la forme d'un rapportde synthèse qui est :

� Paramétrable : il o�re donc une interaction avec l'utilisateur grâce à un paramètre spéci�que

� Visuel : il est pensé pour être facilement compréhensible pas un public large

� Pérenne : les résultats du rapport sont mis à jours tous mois.

Ce module de "reporting" peut-être amélioré de plusieurs manières :D'abord, seul un des trois rapports est alimenté exclusivement par le Data Warehouse. Cela est problématiquecar les données sont alors des extractions au format Excel, qui sont volatiles et dont la structure est susceptiblede changer avec le temps. Le Data Warehouse n'a en e�et pas pu être utilisé comme source de données pourconstruire les rapports de la demande et des impayés, car sa structure ne convient pas à l'analyse de pro�lsentiers d'individus (di�cile d'e�ectuer des jointures, clés manquantes ; etc..). Il a été conçut uniquement pouralimenter les restitutions sur QlikSense. Généraliser le modèle du Data Warehouse, pour qu'il puisse alimenterdes modules autres que QlikSense (notamment le module de "reporting") est un premier axe d'amélioration.Ensuite, une solution d'amélioration est d'alimenter le module avec de nouveaux rapport. En e�et, Maintenantqu'il est mis en place, il peut être alimenté par un nombre illimité de nouveau rapport permettant de répondreà de nouvelles questions stratégiques. On peut penser par exemple à un rapport qui ferait l'état de lieu del'occupation sociale 1.En�n, une dernière piste d'amélioration serait de rendre l'interface graphique plus ergonomique, en ajoutantde nouvelles fonctionnalités comme une jauge de chargement, la possibilité de sauvegardé le rapport généré surl'ordinateur, des fonctions qui permettent d'éviter les bugs, etc.. .

1. occupation sociale : l'occupation des unités du parc immobilier par les clients

54

Page 56: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Chapitre 5

Annexes

5.1 Programmes

Les programmes réalisant les analyses sont longs et spacieux. On présentera en annexe que les parties lesplus pertinentes de chaque programme.

5.1.1 Rapport vacance

On présentera en priorité les chunks contenant du code R.

Déclaration des fonctions et importation des données

\begin{document}

<<label=fonctions , echo=FALSE , message=FALSE , include=TRUE , eval=TRUE >>=library(ggplot2)library(reshape)library(treemap)library(scales)library(zoo)

validation <- function(p, h, s){n <- length(s)err <- 0for(j in seq((n-24), (n-h), by=1)){

ls <- HoltWinters(s[1:j], alpha=p[1], beta=p[2], gamma=FALSE)pred <- predict(ls , n.ahead=h)err <- err + (s[j+h]-pred[h])^2

}err

}p0 <- c(0.01 ,0.01)

minimisation <- function(s, p, h){n <- length(s)err <- 0for(j in seq ((25), (n-h), by=1)){

s.flot <- ts(s[1:j], frequency =12, start=c(2015, 1))st <- saisonnalite(s.flot , p, h)err <- err + sum((s[(j+1):(j+h)]-st$predic [,1])^2)

}err

}

55

Page 57: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

ts.plot <-function(x, fit , pred , line.size){for.v <- data.frame(time=round(time(pred), 3), val_for=as.data.frame(pred)$

fit ,dev=as.data.frame(pred)$upr -as.data.frame(pred)$fit)fit.v <- data.frame(time=round(time(fit), 3), val_fit=as.data.frame(fit)

[,1])act.v <- data.frame(time=round(time(x), 3), Actuel=c(x))graphset <- merge(act.v, fit.v, by='time', all=TRUE)graphset <- merge(graphset , for.v, all=TRUE , by='time')graphset[is.na(graphset$dev), ]$dev <- 0graphset$Predit <- c(rep(NA , NROW(graphset)-(NROW(for.v) + NROW(fit.v))),

fit.v$val_fit , for.v$val_for)graphset.melt <- melt(graphset[, c('time', 'Actuel ', 'Predit ')], id='time')p <- ggplot(graphset.melt , aes(x=time , y=value)) +

geom_ribbon(data=graphset , aes(x=time , y=Predit , ymin=Predit -dev , ymax=Predit + dev),

alpha=.2, fill="green") +geom_line(aes(colour=variable), size=line.size) + geom_vline(xintercept=

max(act.v$time), lty =2) +xlab('Temps ') + ylab('Taux de vacance ') +scale_colour_hue('') +theme(legend.position='bottom ')

return(p)}

saisonnalite <- function(s, swindow , h){n <- length(s)t <- time(s)st <- stl(s, s.window=swindow)sais <- st$time.series [,1]cvs <- s-saismm.cvs <- rollmedian(cvs ,5)t.m <- time(mm.cvs)reg <- lm(mm.cvs~t.m)o <- ts(c(1:(n+h)), start=c(2015, 1), frequency =12)after <- time(o)[(n+1):(n+h)]m <- seq((n+1) ,(n+h), by=1)r <- sais[m-12]pred <- predict(reg , newdata=list(t.m=after), interval="pred", level =0.9) +

rafter.an <- floor(after [1])after.mois <- round(abs(after.an-after [1])*12,0)+1pred <- ts(pred , frequency =12, start=c(after.an, after.mois))fitted <- predict(reg , newdata=list(t.m=t))+saisfit <- ts(fitted , frequency =12, start=c(2015, 1))pred.r <- round(pred ,2)return(list(fitted=fit , predic=pred , predr=pred.r))

}

rest.res <- function(s, deg , seuil){n <- length(s)w <- abs(rstudent(reg))>seuil #qt(0.975 ,n-3)

if(sum(w)!=0){ix <- which(w)signe <- sign(reg$residuals)x <- c(1:n)[-ix]if(deg ==1) reg <- lm(s[-ix]~x) else reg <- lm(s[-ix]~poly(x,2))n <- length(x)

56

Page 58: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

m <- mean(x)res <- reg$residualss.sq <- sqrt(1/(n-2)*sum(res ^2))for(i in ix){

hi <- 1/n + (i-m)/sum((x-m)^2)pred <- predict(reg , newdata=list(x=i))s[i] <- pred + signe[i]*(2*(s.sq*sqrt(1-hi)))

}}return(s)

}@

<<label=Intro ,echo=FALSE , eval=TRUE , message=FALSE , warning=FALSE , include=TRUE >>=

setwd("K:/Stagiaire/application_reporting/analyse_vacance")hrz <- as.numeric(read.table("horizon.txt"))vac <- read.table("jour_vacancebytype.csv", sep=";", header=T)elo <- read.table("jour_elo.csv", sep=";", header=T)colnames(vac) <- c("type", "t.ar", "nb.vac")vac$t.ar <- as.Date(as.factor(vac$t.ar), "%Y%m%d")vac <- vac[order(vac$t.ar) ,]colnames(elo) <- c("id", "type", "ms")elo$ms <- as.Date(elo$ms, "%Y-%m-%d")elo <- elo[-1,]u.ar <- unique(vac$t.ar)u.ar <- u.ar[order(u.ar)]n <- length(u.ar)m.elo <- matrix(nrow=18, ncol=n, data =0)m.vac <- matrix(nrow=18, ncol=n, data =0)

for(j in 1:n){for(i in 1:18){

date.i <- paste0(substr(u.ar[j], 1, 8), "01")p <- sum(elo$ms[elo$type==i] <= date.i) * as.numeric(substr(u.ar[j], 9,

10))k <- sum(difftime(u.ar[j], elo$ms[elo$type==i & elo$ms>date.i & elo$ms<u.

ar[j]], units="days"))m.elo[i,j] <- p + kv <- vac$nb.vac[vac$type==i & vac$t.ar==u.ar[j]]v[length(v)==0] <- 0m.vac[i,j] <- v

}}tx.vac <- m.vac/m.elo*100

m <- n + hrzmois.act <- u.ar[n]m <- format(mois.act , "%B")y <- format(mois.act , "%Y")dt <- paste(m,y)dt <- paste0(casefold(substring(dt , 1, 1), upper=T), substring(dt ,2))an.n <- as.numeric (( format(mois.act , "%Y")))mois.n <- as.numeric(format(mois.act , "%m"))lib.mois <- c("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet",

"Août", "Septembre", "Octobre", "Novembre", "Décembre")ahead <- lib.mois[(mois.n+1):(mois.n+hrz)]@

57

Page 59: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

La vacance globale

\section{Analyses chronologiques}\subsection{Vacance globale}\begin{figure }[!h]\begin{center}

<<label=general , fig=TRUE , echo=FALSE , include=TRUE >>=s <- colSums(m.vac)/ colSums(m.elo)*100s <- s[1:40]s <- ts(s, frequency =12, start=c(2015 ,01))a <- optim(p0, validation , method="L-BFGS -B", lower =0.01 , upper =0.99, h=hrz , s

=s)ls <- HoltWinters(s, gamma=FALSE , alpha=a$par[1], beta=a$par[2], l.start=s[1])pred <- predict(ls , n.ahead=hrz , prediction.interval=TRUE , 0.9)ts.plot(ls$x, ls$fitted , pred , line.size =1)pred.r <- round(pred ,2)@

\end{center}\caption{\textit{Evolution de la vacance générale }}\end{figure}Le tableau ci -dessous présente les prévisions pour la vacance totale pour les

\Sexpr{hrz} prochains mois. Avec un risque de 10\%, les valeurs de la

vacance sont comprises entre les bornes \textit{min} et \textit{max} :

\newline\begin{center}\begin{tabular }{|l|c|c|c|}

\hline\bf Mois & \multicolumn {3}{c|}{ Prédictions} \\\hline& Pred & Min & Max \\\Sexpr{ahead [1]} & \Sexpr{pred.r[1,1]}\% & \Sexpr{pred.r[1,3]}\% & \Sexpr{

pred.r[1 ,2]}\%\\

\Sexpr{ahead [2]} & \Sexpr{pred.r[2,1]}\% & \Sexpr{pred.r[2,3]}\% & \Sexpr{

pred.r[2 ,2]}\%\\

\Sexpr{ahead [3]} & \Sexpr{pred.r[3,1]}\% & \Sexpr{pred.r[3,3]}\% & \Sexpr{

pred.r[3 ,2]}\%\\

\Sexpr{ahead [4]} & \Sexpr{pred.r[4,1]}\% & \Sexpr{pred.r[4,3]}\% & \Sexpr{

pred.r[4 ,2]}\%\\

\hline\end{tabular}\end{center}

La vacance des grands logements

<<label=grand_logements , fig=TRUE , echo=FALSE , include=TRUE >>=s <- colSums(m.vac[c(2,10,11) ,])/colSums(m.elo[c(2,10 ,11) ,])*100s <- ts(s, frequency =12, start=c(2015 , 1))time <- time(s)d <- data.frame(s, time)reg <- lm(s~poly(c(time) ,2), data=d)reg <- lm(rest.res(s,2 ,2.5)~poly(c(time) ,2))t1 <- ts(1:hrz , frequency =12, start=c(an.n, mois.n+1))t1 <- time(t1)pred <- predict(reg , newdata = list(time = t1), interval="pred", level =0.95)pred <- ts(pred , frequency =12, start=c(an.n, mois.n+1))fitted <- ts(reg$fitted.values , frequency =12, start=c(2015, 1))pred.r <- round(pred ,2)

58

Page 60: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

ts.plot(d$s, fitted , pred , line.size =1)@

La vacance des petits logements

<<label=petits_logements , fig=TRUE , echo=FALSE , include=TRUE , warning=FALSE >>=s <- ts(colSums(m.vac[c(1,3,7) ,1:39])/ colSums(m.elo[c(1,3,7) ,1:39])*100,

frequency =12, start=c(2015, 1))a <- optimize(minimisation , interval=c(2,20), s=s, h=hrz)$minimumdec <- saisonnalite(s, a, hrz)et <- (2/5)*(max(s)-min(s))p <- ts.plot(s, dec$fitted , dec$predic , 0.6)p + ylim(c(min(s)-et ,max(s)+et))@

La vacance des places de parking

<<label=parking , fig=TRUE , echo=FALSE , include=TRUE , warning=FALSE >>=s <- ts(tx.vac[8,], frequency =12, start=c(2015 ,1))a <- optim(p0, validation , method="L-BFGS -B", lower =0.01 , upper =0.99, h=hrz , s

=s)ls <- HoltWinters(s, gamma=FALSE , alpha=a$par[1], beta=a$par[2], l.start=s[1])

#

pred <- predict(ls , n.ahead=hrz , prediction.interval=TRUE , 0.9)ts.plot(ls$x, ls$fitted , pred , line.size =1)pred.r <- round(pred ,2)@

La vacance des garages

<<label=garages , fig=TRUE , echo=FALSE , include=TRUE >>=s <- ts(tx.vac[6,], frequency =12, start=c(2015 ,1))time <- time(s)reg <- lm(s~time)reg <- lm(rest.res(s, 1, 2.5)~time)t1 <- ts(1:hrz , frequency =12, start=c(an.n, mois.n+1))t1 <- time(t1)pred <- predict(reg , newdata=list(time=t1), interval="pred", level =0.95)pred <- ts(pred , frequency =12, start=c(an.n, mois.n+1))fitted <- ts(reg$fitted.values , frequency =12, start=c(2015 ,1))ts.plot(s, fitted , pred , line.size =1)pred.r <- round(pred ,2)@

\end{document}

5.1.2 Rapport demande

Déclaration des fonctions et importation des données

<<label=fonctions , echo=FALSE , message=FALSE , include=TRUE , eval=TRUE >>=distance <- function(u,v){

z <- u-vsqrt(z[1]^2+z[2]^2+z[3]^2)

}kvoisins <- function(ind , app , k){

dists <- NULLn <- dim(app)[1]for(i in 1:n){ dists[i] <- distance(t(ind), app[i,]) }tri <- sort(dists , decreasing=FALSE , index.return=TRUE)return(app[tri$ix[1:k],])

59

Page 61: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

}kvoisins_groupe <- function(app , inds , k){

n <- nrow(inds)groupe <- NULLfor(i in 1:n){

vois <- kvoisins(inds[i,], app , k)ix <- as.integer(rownames(vois))prop.exp <- table(resultats[ix])/kscore <- prop.exp/prop.appgroupe[i] <- which(score ==max(score))[1]

}return(groupe)

}test.b <- function(commu , total){

m <- sum(commu)resultat <- 0for(i in 1:4){

resultat[i] <- binom.test(commu[i], m, total[i], "two.sided")$p.value}resultat[resultat >0.05] <- "Identique"resultat[resultat!="Identique"] <- "Différente"resultat

}@

<<label=Intro ,echo=FALSE , eval=TRUE , message=FALSE , warning=FALSE , include=TRUE >>=

library(FactoMineR)library(ade4)library(treemap)library(ggplot2)setwd("C:/Users/Samuel/Desktop/Stage/Demande")load("matrice_pass.RData")load("res.RData")load("res.clas.RData")load("sample.RData")load("prop_demandeurs.RData")load("demande_recod.RData")commune <- as.character(read.table("commune_temp.txt")[1,1])@

Description de la population

<<label=clust , echo=FALSE , eval=TRUE , message=FALSE , warning=FALSE , include=TRUE >>=

index <- which(d$Commune1 == commune | d$Commune2 == commune)d.s <- d[index ,]d.afcm <- data.frame(Sit.fam=d.s$Sit.fam , Nb.pers=d.s$Nb.pers , CSP=d.s$CSP ,

Nat=d.s$Nat , Plaf.rev=d.s$Plaf.rev , Age=d.s$Age)disj <- as.matrix(acm.disjonctif(d.afcm))resultats <- res.clas$data.clust$clustind.new <- t(inter%*%t(disj)/6)m <- dim(ind.new)[1]n <- dim(res$ind$coord)[1]sample.n <- length(x)resultats <- resultats[x]res.ind.coord <- res$ind$coord[x,]rownames(res.ind.coord) <- 1: sample.nprop.app <- table(resultats)/sample.ngroupe <- kvoisins_grp(res.ind.coord , ind.new , 8)

60

Page 62: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

@

<<label=treemap , echo=FALSE , eval=TRUE , warning=FALSE , fig=TRUE >>=t <- table(groupe)x <- c(round(t/m*100,1))nm <- as.numeric(names(x))et <- c("Familles précaires", "Familles aisées", "Petits ménages", "Personnes

agées")lab <- paste(et[nm], paste0(x,"%"), t, sep="\n")tm <- data.frame(lab=lab , x=x)treemap(tm,

index="lab",vSize = "x",type="index",title="Décomposition de la population des demandeurs",fontsize.title = 14,fontsize.labels= 12,border.lwds = 0.6

)@

Comparaisons des populations

\section{Comparaison de population}

<<label=comparaisons , echo=FALSE , eval=TRUE , warning=FALSE >>=groupe <- as.factor(groupe)lev <- levels(groupe)xi <- c(1,2,3,4)ix <- which(!(xi%in%lev))levels(groupe) <- c(lev , ix)groupe <- factor(groupe , c("1","2","3","4"))eff <- table(groupe)b <- test.b(eff , probs)if(length(table(b))==1) signif <- "est représentative" else signif <- "n'est

pas représentative"eff <- round(eff/m,2)@

D'après la théorie des test , on considère avec une grande confiance que lapopulation des demandeurs de \Sexpr{commune} \textbf{\Sexpr{signif }} de lapopulation totale des demandeurs.\\

\newlinePlus précisement , les différences au sein des groupes sont :\begin{center}\begin{tabular }{|p{3cm}|p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}|}

\hline& Familles précaires & Familles aisées & Petits ménages & Personnes agées

\\\hlineDemandeurs de \Sexpr{commune} & \Sexpr{eff [1]} & \Sexpr{eff [2]} & \Sexpr{

eff [3]} & \Sexpr{eff [4]} \\\hlineDemandeurs & \Sexpr{probs [1]} & \Sexpr{probs [2]} & \Sexpr{probs [3]} &

\Sexpr{probs [4]} \\\hlineRésultat & \Sexpr{b[1]} & \Sexpr{b[2]} & \Sexpr{b[3]} & \Sexpr{b[4]}\\\hline

\end{tabular}\end{center}

61

Page 63: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

\end{document}

5.2 Application (interface graphique)

5.2.1 Notice d'utilisation

Utilisation de l'application :

� 1. Choisissez le rapport que vous souhaitez générer via le combobox

� 2. Renseignez le paramètre au choix parmi :

� l'horizon en entrant un entier supérieur à 1

� la con�ance en entrant un nombre décimal ∈]0, 1[� sélectionnez le ou les communes

� 3. Ajouter des e-mail en écrivant dans le textbox en bas à gauche, puis en cliquant sur "Ajouter"

� 4. Sélectionnez le ou les e-mail destinataires via la listbox de gauche

� 5. Valider en cliquant sur le bouton "Exécuter"

� 6. Un message d'information s'a�che si l'exécution à réussi.

5.2.2 Programme

Lorsque l'utilisateur clique sur le bouton "Executer" de l'interface graphique, la procèdure suivante estappelée.

Private Sub execution(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ClickDim i As IntegerDim n = ListBox1.SelectedItems.CountDim envoi1 As New StreamWriter("K:/Stagiaire/application_reporting/analyse_

vacance/envoi_email.txt")Dim envoi2 As New StreamWriter("K:/Stagiaire/application_reporting/analyse_

demande/envoi_email.txt")Dim envoi3 As New StreamWriter("K:/Stagiaire/application_reporting/analyse_

impayes/envoi_email.txt")For i = 0 To (n - 1)

envoi1.WriteLine(ListBox1.SelectedItems(i).ToString())envoi2.WriteLine(ListBox1.SelectedItems(i).ToString())envoi3.WriteLine(ListBox1.SelectedItems(i).ToString())

Nextenvoi1.Close()envoi2.Close()envoi3.Close()If ComboBox1.SelectedIndex = 0 Then ''' Si on a selectionné le rapport sur

la vacanceDim horizon As New StreamWriter("K:/Stagiaire/application_reporting/

analyse_vacance/horizon.txt")Dim h As Integer = TextBox2.Texthorizon.WriteLine(h)horizon.Close()Dim truc As New System.Diagnostics.Process()truc.StartInfo.CreateNoWindow = Truetruc.StartInfo.FileName = ("K:/Stagiaire/application_reporting/analyse_

vacance/execution_talend.bat")truc.Start()truc.WaitForExit()Me.TextBox3.Text = "Job Talend executé !"Dim truc2 As New System.Diagnostics.Process()truc2.StartInfo.CreateNoWindow = Truetruc2.StartInfo.FileName = ("K:/Stagiaire/application_reporting/analyse_

62

Page 64: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

vacance/execution_R.bat")truc2.Start()truc2.WaitForExit()Me.TextBox3.Text = Me.TextBox3.Text & "Envoi effectué avec succès !"

ElseIf ComboBox1.SelectedIndex = 1 Then ''' Si on a selectionné le rapportsur la demande

Dim MyFiles As String() = System.IO.Directory.GetFiles("L:/Tableaux_bord_Ikos","*Demandes*")

Dim mLst As New System.Collections.SortedListIf MyFiles IsNot Nothing Then

Dim k As IntegerFor k = 0 To MyFiles.Length - 1

Dim CurrentDate As Date = New IO.FileInfo(MyFiles(k)).LastWriteTimemLst.Add(Format(CurrentDate, "yyyy.MM.dd.hh.mm.ss"), MyFiles(k))

NextEnd IfDim st As String = mLst.GetByIndex(MyFiles.Length - 1)st = st.Replace("\", "/")Dim MoveLocation As StringMoveLocation = "K:/Stagiaire/application_reporting/analyse_demande/obs_

demande.xls"If System.IO.File.Exists(st) = True Then

System.IO.File.Copy(st, MoveLocation, True)MsgBox("fichier déplacé")

End If

''''''' Recuperer les communesDim communes_ex As New StreamWriter("K:/Stagiaire/application_reporting/

analyse_demande/communes_ex.txt")Dim j As IntegerDim m As Integer = ListBox2.SelectedItems.CountFor j = 0 To (m - 1)

communes_ex.WriteLine(ListBox2.SelectedItems(j).ToString())Nextcommunes_ex.Close()

Dim dem1 As New System.Diagnostics.Process() 'dem1.StartInfo.FileName = ("K:/Stagiaire/application_reporting/analyse_

demande/batch/execution_talend.bat")dem1.Start()dem1.WaitForExit()Me.TextBox3.Text = "Job Talend executé !"Dim dem2 As New System.Diagnostics.Process()dem2.StartInfo.FileName = ("K:/Stagiaire/application_reporting/analyse_

demande/batch/recodage_demande.bat")dem2.Start()dem2.WaitForExit()Me.TextBox3.Text = Me.TextBox3.Text & "Recodage effectué avec succès"Dim dem3 As New System.Diagnostics.Process()dem2.StartInfo.FileName = ("K:/Stagiaire/application_reporting/analyse_

demande/batch/construire_demande.bat")dem2.Start()dem2.WaitForExit()Me.TextBox3.Text = Me.TextBox3.Text & "Envoi effectué !"

ElseIf ComboBox1.SelectedIndex = 2 Then ''' Si on a sélectionné le rapportsur les impayés

Dim confiance As New StreamWriter("K:/Stagiaire/application_reporting/

63

Page 65: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

analyse_impayes/confiance.txt")Dim conf As Double = TextBox4.Textconfiance.WriteLine(conf)confiance.Close()Dim truc As New System.Diagnostics.Process()truc.StartInfo.CreateNoWindow = Truetruc.StartInfo.FileName = ("K:/Stagiaire/application_reporting/analyse_

impayes/execution_R.bat")truc.Start()truc.WaitForExit()Me.TextBox3.Text = "Construction et envoi effectués !"

End IfEnd Sub

5.3 Description des groupes de demandeurs

Groupe 1 : les familles précaires

Figure 5.1 � Description détaillé des familles précaires

Groupe 2 : les familles classiques

64

Page 66: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Figure 5.2 � Description détaillé des familles classiques

Groupe 3 : les jeunes foyers

Figure 5.3 � Description détaillé des jeunes foyers

Groupe 4 : les retraités

65

Page 67: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Figure 5.4 � Description détaillé des retraités

66

Page 68: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

5.4 Chaine fonctionnelle solution décisionnelle

Figure 5.5 � Chaine fonctionnelle solution BI complète

5.5 Rapports générés

En suivant vous trouverez la version du mois de mai 2018 des rapports statistiques de la vacance et de lademande, générés directement par le module de reporting.

67

Page 69: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Service informatique

Rapport statistique

Analyse et prevision de l’evolution de lavacance

Auteur :M. Samuel GOUTIN

Encadrants :M. Patrick TREMOULET

Mme. Claire PIERREM. Georges VIEIRA

Version de Mai 2018

68

Page 70: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

1 Indicateurs cles

43.2 %

3.9 %22.5 %

15.7 %

14.8 %Type des u.g.

Petits logements (T1, T2, T3)Grands logements (T4, T5, T6)ParkingGarageAutres

Répartition des unités de gestion selon leur type

Au mois de mai, les logements representaient 66% du parc total, tandis que les annexes represen-taient 20%. Les 14% restants sont des unites diverses (commerce, foyer, etc..).

Vacance en jour par mois

évolution depuis le mois précédent (en %)−2.5 −2.0 −1.5 −1.0 −0.5 0.0 0.5 1.0 1.5 2.0 2.5

Autres

Garage

Grands logements(T4, T5, T6)

Parking

Petits logements(T1, T2, T3)

Au mois de mai, les garages representaient 40% de la vacance totale, contre 20% pour les placesde parkings.

1

69

Page 71: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

2 Analyses chronologiques

2.1 Vacance globale

3.2

3.6

4.0

2015 2016 2017 2018

Temps

Taux

de

vaca

nce

Actuel Predit

Figure 1: Evolution de la vacance generale

Le tableau ci-dessous presente les previsions pour la vacance totale pour les 4 prochains mois.Avec un risque de 10%, les valeurs de la vacance sont comprises entre les bornes min et max :

Mois PredictionsPred Min Max

Juin 3.93% 3.57% 4.28%Juillet 3.94% 3.59% 4.29%Aout 3.96% 3.6% 4.31%Septembre 3.97% 3.61% 4.33%

2

70

Page 72: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

2.2 Vacance des grands logements (T4 a T6)

1.0

1.5

2015 2016 2017 2018

Temps

Taux

de

vaca

nce

Actuel Predit

Figure 2: Evolution de la vacance des grands logements

Le tableau ci-dessous presente les previsions pour la vacance des grands logements pour les 4prochains mois. Avec une risque de 10%, les valeurs de la vacance sont comprises entre les bornesmin et max :

Mois PredictionsPred Min Max

Juin 1.07% 0.74% 1.39%Juillet 1.02% 0.69% 1.35%Aout 0.97% 0.63% 1.31%Septembre 0.92% 0.57% 1.26%

3

71

Page 73: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

2.3 Vacance des petits logements (T1 a T3)

1.0

1.2

1.4

1.6

2015 2016 2017 2018

Temps

Taux

de

vaca

nce

Actuel Predit

Figure 3: Evolution de la vacance des petits logements

Le tableau ci-dessous presente les previsions pour la vacance des petits logements pour les 4prochains mois :

Mois PredictionsPred Min Max

Juin 1.21% 1.12% 1.3%Juillet 1.21% 1.12% 1.3%Aout 1.21% 1.11% 1.3%Septembre 1.32% 1.23% 1.42%

4

72

Page 74: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

2.4 Vacance des places de parking

18

21

24

2015 2016 2017 2018

Temps

Taux

de

vaca

nce

Actuel Predit

Figure 4: Evolution de la vacance des places de parking

Le tableau ci-dessous presente les previsions pour la vacance des places de parking pour les 4prochains mois. Avec un risque de 10%, les valeurs de la vacance sont comprises entre les bornesmin et max :

Mois PredictionsPred Min Max

Juin 21.04% 19.79% 22.3%Juillet 20.78% 18.84% 22.72%Aout 20.51% 17.66% 23.37%Septembre 20.25% 16.31% 24.19%

5

73

Page 75: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

2.5 Vacance des garages

8

9

10

11

2015 2016 2017 2018

Temps

Taux

de

vaca

nce

Actuel Predit

Figure 5: Evolution de la vacance des garages

Le tableau ci-dessous presente les previsions pour la vacance des garages pour les 4 prochainsmois. Avec un risque de 10%, les valeurs de la vacance sont comprises entre les bornes min et max :

Mois PredictionsPred Min Max

Juin 10.87% 10.49% 11.24%Juillet 10.96% 10.58% 11.33%Aout 11.04% 10.67% 11.42%Septembre 11.13% 10.75% 11.51%

6

74

Page 76: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

Service informatique

Rapport statistique

Analyse des demandeurs et besoins enconstruction de LONS

Auteur :M. Samuel GOUTIN

Encadrants :M. Patrick TREMOULET

Mme. Claire PIERREM. Georges VIERA

Version de juin 2018

75

Page 77: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

1 Caracteristiques de la population

Décomposition de la population des demandeurs

Familles classiques30.2%

35

Familles précaires25.9%

30

Jeunes foyers37.1%

43

Retraités6.9%

8

Caracteristiques des groupes :

� Familles precaires :

� population du menage : 5 personnesou plus

� Situation familiale : Marie ou pacse

� CSP : Inactif

� Plafond de revenu : [0, 35[ %

� Nationalite : differente de Francaise

� Age du demandeur : [34, 52] ans

� Familles classiques :

� population du menage : 3-4 person-nes ou plus

� Situation familiale : Separe, Concu-bin, Marie

� CSP : CDI

� Plafond de revenu : [35, 100[ %

� Nationalite : Francaise

� Age du demandeur : [34, 52] ans

� Jeunes foyers :

� population du menage : 1-2 person-nes

� Situation familiale : Celibataire

� CSP : Temporaire, demandeurd’emploi, etudiant

� Plafond de revenu : [0, 35[ %

� Nationalite : Francaise

� Age du demandeur : moins de 34 ans

� Retraites :

� population du menage : 1-2 person-nes

� Situation familiale : Divorce, Veuf

� CSP : Retraite

� Plafond de revenu : [60, 100[ %

� Nationalite : NA

� Age du demandeur : plus de 52 ans

1

76

Page 78: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

2 Comparaison de population

D’apres la theorie des test, on considere avec une grande confiance que la population des deman-deurs de LONS n’est pas representative de la population totale des demandeurs.

Plus precisement, les differences au sein des groupes sont :

Famillesprecaires

Famillesclassiques

Jeunesfoyers

Personnesagees

Demandeurs deLONS

0.26 0.3 0.37 0.07

Demandeurs 0.21 0.19 0.44 0.16Resultat Identique Differente Identique Differente

3 Les motivations

12.9%

24.1%

21.6%

14.7%13.8%

12.9%

0

5

10

15

20

25

Autres Divorceou Séparation

Logementtrop cher

Logementtrop grand/petit

Problèmesanté

Sanslogement

Motif

Pou

rcen

tage

Motifs des demandes de logements

2

77

Page 79: Réalisation d'interfaces spéci ques permettant l ...stid-france.fr/wp-content/uploads/2019/04/1-Pau... · possibilité de découvrir les logiciels Talend et Qlik . De plus, ce stage

4 Besoins en construction

La population des demandeurs est composee de 116 menages. Les besoins en construction precon-ises sont :

TypeT1 T2 T3 T4 T5 T6

Effectif 41 28 23 15 3 6

Les parts d’investissement PLAI, PLA, et PLS sont :

TypePLAI PLA PLS

Part 76.7% 18.1% 5.2%

3

78