Clustering et Big Data - Profils d'utilisation de l'alimentation client pour un utilitaire d'alimentationJe prépare une visite chez un client du service public d'électricité (JMPPRO) qui souhaite regrouper ses clients en fonction de leur consommation électrique. Ils mesurent chaque compte et échantillonnent la consommation d'énergie toutes les 15 minutes. Lorsque vous faites le calcul, cela se transforme rapidement en big data (96 lectures par jour sur 10 000 clients représentent environ 1 million de lectures par jour). J'essaie d'utiliser la mise en cluster pour regrouper les comptes clients sur la base de modèles d'utilisation de l'alimentation similaires. Je suis nouveau dans le clustering, donc pas sûr que j'utilise la meilleure méthode. J'ai essayé d'empiler et de fractionner les données. Le fractionnement semble fonctionner au mieux, bien qu'une semaine de lectures représente déjà 672 colonnes avec 10 000 lignes pour les comptes client. La mise en cluster hiérarchique donne un très bon résultat mais ne peut pas gérer les lignes 10K, elle fonctionne parfaitement sur les lignes 2K mais pas 3K. K signifie que le clustering peut gérer toutes les lignes de 10K mais les résultats ne sont pas aussi bons que la hiérarchie, de nombreux comptes dissemblables sont groupés ensemble. Donc pour le moment, je boxe dans les données avec seulement 7 jours de comptage et 2K comptes. J'obtiens un très bon résultat et cela démontre la technique mais c'est très échantillonné du cas d'utilisation réel. Si je manque quelque chose, j'apprécierais des indications. J'ai un exemple de fichier, mais il est volumineux, 190 Mo.
Re: Clustering et Big Data - Profils d'utilisation de l'alimentation client pour un utilitaire d'alimentationJ'ai reçu quelques demandes pour voir le fichier d'exemple et je l'ai posté sur l'échange de fichiers. Le téléchargement lui-même est un petit fichier et il y a un script intégré qui construira la table. Faites attention à la manière dont vous sélectionnez les paramètres car vous pouvez vous retrouver avec une table géante.
J'utilise une fonction cosinus pour simuler la courbe d'utilisation de l'énergie pendant la journée. Duke m'a dit à quoi cette courbe ressemble vraiment, qui est un cosinus avec une bosse pour une consommation d'énergie l'après-midi et le soir.
https://community.jmp.com/t5/JMP-Sample-Data/Power-Company-Metering-Example-Data/ta-p/42016
Re: Clustering et Big Data - Profils d'utilisation de l'alimentation client pour un utilitaire d'alimentationMerci à tous pour vos contributions. Certains d’entre vous étaient intéressés par le dossier. Je mets deux fichiers sur l'échange de fichiers, l'un d'entre eux faisant office de fichier de contrôle et l'autre comportant un script incorporé pour créer un grand tableau de données. Il se termine avec environ 6M de lignes et a pris 2 minutes pour terminer. Les deux fichiers doivent être liés par compte, mais vous ne devez pas savoir si cela fonctionne après avoir mélangé les fichiers. Vous devrez donc peut-être établir la jointure virtuelle. Le fichier de contrôle s'appelle "Informations client" et le fichier de construction automatique, "Exemple de Power Comany - Self building (Large) Table". Assurez-vous simplement que les deux fichiers sont ouverts dans la session JMP avant d'exécuter le script intégré.
Re: Clustering et Big Data - Profils d'utilisation de l'alimentation client pour un utilitaire d'alimentationJuste un bref commentaire sur la réponse de Dons à propos de nn:
Dans les entreprises du secteur de l’énergie, ils ont utilisé exactement cette approche, en prenant un échantillon et en trouvant les grappes appropriées, puis en utilisant des réseaux de neurones pour prédire le reste des données dans ces grappes. Je l'ai fait assez souvent en travaillant pour MathWorks et cela a très bien fonctionné. Bien sûr, vous devrez vérifier le modèle nn de temps en temps car les choses peuvent changer avec le temps et les groupes initiaux peuvent également changer.
Ces entreprises utilisent souvent ces classifications pour spécifier les contrats et les offres de prix qu'elles proposent aux nouveaux clients lorsqu'elles demandent un profil de consommation. De plus, ils l'utilisent parfois pour prédire les usages de leurs clients afin de pouvoir échanger les ressources gratuites sans avoir de problèmes en période de pointe.
Meilleur
Martin
Re: Clustering et Big Data - Profils d'utilisation de l'alimentation client pour un utilitaire d'alimentationJe voulais ajouter que pour clustering hiérarchique avec Option Ward rapide, vous pouvez toujours analyser des données allant jusqu'à 200 000 lignes. http://www.jmp.com/support/help/13/Overview_of_Platforms_for_Clustering_Observation.shtml
Re: Clustering et Big Data - Profils d'utilisation de l'alimentation client pour un utilitaire d'alimentationD'après votre description, je pense que c'est le moyen de regrouper les comptes sur des données composées de colonnes d'utilisation de l'alimentation et de lignes de comptes. Comme vous l'avez découvert, le clustering hiérarchique ne peut pas traiter un grand nombre de lignes, mais K-means peut le faire. Ceci est connu dans le clustering et est l'une des considérations clés lors du choix entre les deux méthodes. Vous avez dit que le groupement Kmean regroupe de nombreux comptes dissemblables la classification hiérarchique ne le fait pas. Je me demandais combien de grappes vous aviez définies lorsque vous utilisiez K-means. Et, à titre de comparaison, combien de clusters utilisiez-vous classification hiérarchique? Peut-être devrez-vous essayer un plus grand nombre de grappes avec K-means.
Re: Clustering et Big Data - Profils d'utilisation de l'alimentation client pour un utilitaire d'alimentationJe suis d'accord avec Mark. L'astuce consiste à agréger les données en mesures significatives afin de réduire le nombre de lignes (vous ne savez pas exactement ce que vous pouvez faire avec les colonnes car je suppose qu'elles représentent des clients). Que diriez-vous de calculer l’utilisation médiane pour différentes périodes (par exemple, heure du jour, jour de la semaine, semaine de l’année, mois de l’année, etc.), puis calculez un score de déviation pour chacune d’entre elles (additionner au carré ou la différence absolue, peut-être) . J'envisagerais également de regarder une version réduite de ceux-ci, car je suppose qu'ils seront très biaisés. Une autre idée serait de regrouper un sous-échantillon, comme vous le faites, puis d'utiliser un réseau de neurones (ou une arborescence) pour prédire le regroupement.
J'aimerais voir le fichier d'exemple, si vous pouviez le partager.
Don
Re: Clustering et Big Data - Profils d'utilisation de l'alimentation client pour un utilitaire d'alimentationVous pouvez également envisager de dériver de nouvelles réponses significatives. Par exemple, utilisation maximale, utilisation maximale au cours des six derniers mois, utilisation moyenne, etc. Les données brutes contiennent des informations, mais en tant que telles, que dit-on toutes les quinze minutes?