Prédiction à l'aide de l'analyse de récurrence JMPSalut tout le monde,
J'ai tenté de prédire les réparations et les coûts futurs de nos machines à l'aide de l'analyse de récurrence JMP, mais je rencontre un problème de surestimation. J'ai entraîné un modèle (NHPP log-linéaire) avec les données de durée de vie des robots jusqu'à 90 jours auparavant, puis j'ai prédit les réparations et les coûts récemment ajoutés. Concrètement, j'utilise les données d'il y a 90 jours pour la modélisation et la prédiction, et je valide les résultats avec les données actuelles. Les résultats montrent une surestimation d'environ 30 %. J'ai également essayé le modèle NHPP proportionnel et obtenu un taux de surestimation similaire. L'ajustement des modèles me semble satisfaisant. En termes de prédiction du nombre total de réparations, le modèle fonctionne bien (moins de 10 % de surestimation). Seule la prédiction des nouvelles réparations pose problème.
Ma question est :
Existe-t-il un moyen de réduire cette surestimation ? J'envisage de prédire les événements sur une période de 45 jours au lieu de 90 afin d'avoir une fenêtre d'analyse plus courte. Je me demande s'il existe d'autres approches à explorer.
Je sais qu'il existe d'autres modèles de prédiction. Ayant déjà utilisé la récidive pour étudier les réparations et m'étant familiarisé avec ce sujet, je souhaite tirer le meilleur parti de cette étude.
Merci.
Analyse et modélisation de données de baseRe : Prédiction à l’aide de l’analyse de récurrence JMPSerait-il possible de publier une version anonymisée (Tableaux > Anonymiser) ou un sous-ensemble de vos données, accompagné de votre analyse ? Cela pourrait nous aider à vous proposer des solutions alternatives.
Re : Prédiction à l’aide de l’analyse de récurrence JMPSalut, c'est une bonne suggestion.
Je vais vous expliquer ma démarche à l'aide de la capture d'écran ci-dessous, qui présente les données d'un seul bot. L'ensemble de données réel contient environ 15 000 bots. Veuillez ne pas utiliser mes valeurs d'exemple pour ajuster le modèle ; les valeurs prédites sont basées sur la formule cumulative calculée à partir des données des 15 000 bots.
Les trois premières colonnes du tableau de gauche contiennent les données d'il y a 90 jours, l'identifiant du bot, son âge et le coût (1 indique une réparation, 0 la fin de l'étude). Ces trois colonnes ont servi à ajuster le modèle de processus de Poisson proportionnel d'analyse de récurrence JMP (15 000 bots supplémentaires ne sont pas présentés ici ; seul un bot est utilisé à titre d'exemple). La formule cumulative du modèle a ensuite été obtenue. La quatrième colonne, « Âge + 90 jours » (âge actuel), a été intégrée à cette formule pour calculer la cinquième colonne, « Réparations prévues dans 90 jours » (prédiction pour la date actuelle).
La valeur 6,28 représente le nombre total de réparations prévues pour ce robot à l'âge de 941 ans. Par conséquent, les réparations prévues pour ce robot au cours des 90 derniers jours sont de : 6,28 − 3 = 3,28 . Pour calculer le nombre total, j'additionne toutes les réparations prévues pour chaque robot, en tenant compte de son âge le plus avancé, afin d'obtenir le nombre total de prédictions. Ensuite, j'additionne toutes les réparations effectuées (il y a 90 jours) pour chaque robot afin d'obtenir le nombre total de réparations effectuées. Enfin, je calcule la différence entre ces deux sommes (le nombre total de réparations prévues pour les 90 derniers jours).
Le tableau de droite (données actuelles) indique que seulement 3 réparations ont eu lieu jusqu'à 941 jours, soit le même nombre qu'il y a 90 jours. Le nombre réel de réparations pour ce bot au cours des 90 derniers jours est donc de 3 - 3 = 0. J'ai également calculé le nombre réel de réparations pour tous les bots au cours des 90 derniers jours.
Lorsque je compare les deux chiffres, je constate systématiquement une surestimation. Par exemple, pour l'ensemble des 15 000 bots, le nombre de réparations réelles au cours des 90 derniers jours est de : 6 996 , tandis que les réparations prévues pour ces mêmes robots sont de 6 996. 9 306 — un Surestimation de 33,0 % . J'ai essayé plusieurs fenêtres temporelles et j'obtiens toujours une surestimation d'environ 30 %.
Je crains d'avoir peut-être fait quelque chose de mal.
Qu'en pensez-vous ? Merci
J'ai également joint des données simulées au cas où certains voudraient les tester.
Les données comportent trois colonnes : l’identifiant de la machine, le coût (1 pour une réparation et 0 pour la fin de l’étude) et l’âge. La question est de savoir comment prédire les réparations nécessaires au cours des 90 prochains jours à partir de ces données. Merci.
Re : Prédiction à l’aide de l’analyse de récurrence JMPSelon la forme de vos données réelles et les paramètres du modèle choisis, vous pouvez obtenir des modèles très différents. Vos données simulées présentent une anomalie en fin de courbe, ce qui peut également fausser les prédictions. À partir des données fournies, j'obtiens des modèles très différents selon que j'inclus ou non le carré de l'âge. Dans quelle mesure votre modèle s'ajuste-t-il bien à vos données ?

Re : Prédiction à l’aide de l’analyse de récurrence JMPL' anomalie finale est causée par seulement deux machines à risque, et ces deux machines sont les plus anciennes.
J'utilise simplement le modèle PP proportionnel sans effet d'échelle ni de forme, et la figure ressemble à ceci :

Il y a deux choses que je ne comprends pas :
Pourquoi avoir sélectionné l'âge comme effet d'échelle et de forme ? Aucune courbe n'est générée. Pourquoi ? Où est la courbe d'ajustement ?
Pourquoi essayez-vous age^2 ?
Merci.
Re : Prédiction à l’aide de l’analyse de récurrence JMPJe ne sais pas si cela pose problème, mais pour les modèles de récurrence, vos données système doivent être triées par ordre chronologique. JMP ne les réorganise probablement pas automatiquement, mais cela a une incidence sur votre modèle. Voici deux identifiants de machine dans vos données d'exemple qui n'étaient pas triés. Si vous ne rencontrez pas ce problème dans vos données, vous pouvez ignorer ce message.

L'analyse de récurrence s'applique aux systèmes de données réparables. Un système réparable ne signifie pas qu'il peut être réparé, mais plutôt quel est son état après réparation. Après l'incident, les bots sont-ils considérés comme identiques à leur état juste avant l'incident ? Ou sont-ils considérés comme « comme neufs » ? Si le bot est « comme neuf », le système est irréparable, car il s'agit d'un élément quasiment neuf.
L'importance de ce point réside dans le fait que, si vos données constituent un système réparable, celui-ci est modélisé comme un système exponentiel et les événements devraient se produire plus fréquemment au fil du temps. En revanche, si vos données ne constituent pas un système réparable et que vous tentez d'utiliser l'analyse de récurrence, celle-ci aura souvent tendance à surestimer vos prévisions, car elle suppose que la situation va continuer à s'aggraver. Un système non réparable devrait atteindre un nombre constant de réparations au fil du temps, généralement bien inférieur à celui d'un système exponentiel.
Si les robots sont « comme neufs », il serait peut-être plus judicieux de modéliser chaque événement indépendamment (c’est-à-dire que l’âge n’est pas cumulatif) et d’utiliser la plateforme Life Distribution.
Re : Prédiction à l’aide de l’analyse de récurrence JMPSalut,
Merci pour votre explication.
J'ai essayé des exemples avec et sans ordre chronologique. Il semble que l'analyse de récurrence de JMP automatise cela avec le bon ordre.
Notre système est réparable et on suppose qu'il fonctionne aussi bien qu'avant la réparation. Les robots s'usent donc avec le temps. C'est pourquoi nous avons opté pour l'analyse de récurrence. Je pense que nous avons trouvé la cause de la surestimation. Nous n'avons pas soustrait le temps pendant lequel les robots étaient en réparation, ce qui a introduit un biais d'immortalité (un terme technique que je viens d'apprendre). J'exclus donc le temps de réparation pour voir si la surestimation réapparaît.
Merci pour vos suggestions.