Prédiction du modèleSalut
Je travaille sur une base de données contenant environ 3 000 enregistrements et environ 100 prédicteurs. La réponse est un paramètre électrique avec une bonne distribution gaussienne. La base de données est une série temporelle multivariée car la réponse et les prédicteurs dépendent tous deux du temps. Les prédicteurs sont collectés le long de la ligne de production à une étape particulière du processus tandis que le paramètre électrique est mesuré environ 2 semaines plus tard. L'idée ici est de prédire la mesure électrique en utilisant les données de la machine en ligne (prédicteurs).
Comme premier modèle, j'ai utilisé une forêt aléatoire. Le R2 et l'erreur étaient vraiment bons pour les groupes d'entraînement et de test. Quoi qu'il en soit, lorsque j'ai essayé de déployer le modèle en production sur des données jamais vues auparavant, les performances du modèle étaient très mauvaises. J'ai pu expliquer ce comportement par la faiblesse de la forêt aléatoire à extrapoler. Ensuite, en excluant l'arbre de modèle basé sur le seul choix, il reste l'ajustement polynomial et le réseau neuronal. Le premier n'était pas acceptable en termes de R2 et d'erreur, tandis que le NN avec 2 couches et 3 fonctions d'activation était capable de renvoyer un bon R2 et une bonne erreur sur les données d'entraînement et de test. Ensuite, une fois le modèle construit, je l'ai déployé en production sur des données jamais vues (astérisque dans le générateur de graphiques). Même si la prédiction de tendance est correcte, les valeurs uniques ne le sont pas. En particulier, le NN sur des données jamais vues montre une très grande variabilité. Donc, à la fin de cette histoire, je n'ai pas d'autre modèle dans JMP à tester. Du moins, c'est ce que je pense. Quelqu'un peut-il me donner une astuce ou une suggestion pour résoudre ce problème ?
Dans le ppt ci-joint, toutes les parcelles.
Merci Felice
Exploration et visualisation des donnéesRe : Prédiction du modèleMerci à toutes les personnes qui ont répondu à mon message. Toutes les bonnes observations. J'ai essayé de faire quelques expériences simples pour mieux comprendre le problème.
Dans le ppt ci-joint mes conclusions et résultats.Tout commentaire et suggestion est la bienvenue.
Félix
Re : Prédiction du modèleComme vous l'indiquez, vous n'attribuez pas au hasard des observations à la formation, à la validation et au test. Je n'ai vu personne dire qu'une répartition aléatoire avait été faite, mais si c'était le cas, cela ne devrait pas être fait. Vous faites l'affectation en fonction du temps. L'ensemble de formation est le plus ancien, la validation est l'ensemble suivant et le test est le dernier groupe. Cette méthode fournit une bonne indication de la capacité de prévision.
Les ensembles de formation, de validation et de test doivent être représentatifs du processus stable. Si vous adaptez bien la formation et la validation, mais pas le test, cela conduit naturellement à croire que quelque chose s'est passé pour modifier l'ensemble de test. Tout ce qui s'est produit/a changé devrait être un autre prédicteur dans le modèle.
Re : Prédiction du modèleJe m'en remets aux autres commentaires ici, car ces gens en savent plus que moi sur ces choses.Mais il y a un problème qu'ils n'ont pas mentionné et que j'ai pensé soulever.Puisqu'il s'agit de données de séries chronologiques multivariées, quel sens y a-t-il à utiliser des ensembles de données de validation et de test aléatoires ?Cela n'ignore-t-il pas la structure temporelle des données ?Bien sûr, vous pouvez utiliser des réseaux de neurones, des forêts aléatoires, etc., mais je ne m'attendrais pas à ce que les performances soient très bonnes sur les nouvelles données, car ces modèles ont ignoré la structure temporelle des données.Pour les données de séries chronologiques, je pense que les données de test devraient être une plage contiguë d'observations, de sorte que la structure temporelle puisse être modélisée et testée.Alors, est-il approprié d'utiliser ces méthodes, avec des ensembles de données de validation et de test aléatoires, sur des données de séries chronologiques telles que vous en avez ?
Re : Prédiction du modèleje suis d'accord avec tout @Dan_Obermiller et @statman recommander ou déclarer.
Une autre pensée pour vous... puisque vous semblez travailler avec des processus et des données de production historiques fortuits, avez-vous la capacité d'exécuter des expériences conçues ? La raison pour laquelle je m'engage dans cette voie est que si vos modèles basés sur des informations historiques ne sont pas particulièrement extensibles aux observations futures, il est fort probable qu'il puisse y avoir d'autres variables causales importantes entrant dans le système que les données historiques ne prennent pas en compte à partir d'un point de modélisation d'effet de vue... mais vous pourrez peut-être en inclure certains dans une enquête centrée sur le DOE.
Vous êtes à la recherche d'aiguilles dans une botte de foin et je ne connais pas de méthode plus efficace pour les trouver que le DOE. Par exemple, il y a peut-être une variation des matières premières dans la production dont vous ne tenez pas compte avec les données de processus historiques, mais dans une enquête de type DOE, vous avez plusieurs options pour gérer ce genre de chose, comme le blocage. Ou si comme @statman suggère que si la rareté des effets est présente, peut-être qu'une conception de dépistage définitif pourrait fonctionner ?
L'idée ici est de tirer parti de votre travail de modélisation passé et de ce que vous avez appris, avec votre connaissance des processus, et d'utiliser la puissance du DOE pour vous aider à trouver ce "modèle utile".
Pendant mes jours dans l'industrie, un ingénieur avisé avec qui j'ai travaillé avait un dicton : « Tant que nous ne pouvons pas activer et désactiver un mode de défaillance à volonté, nous ne comprenons pas le processus. C'est le DOE qui a été la méthode la plus efficace qui nous a permis de « ... comprendre le processus ».
Re : Prédiction du modèleQuelques points supplémentaires à considérer : il existe plusieurs options à considérer sur les modèles que vous avez essayés, ce qui peut améliorer l'ajustement. Pour la forêt aléatoire : combien d'arbres avez-vous utilisés ? Avez-vous essayé plus? Quelle était la taille de chaque arbre ? As-tu essayé de les faire grossir ? Qu'est-ce qui vous fait penser que le réseau de neurones à 3 nœuds était suffisant ? Avez-vous essayé plusieurs trajets ? Avez-vous essayé d'utiliser un réseau de neurones boosté ? Si oui, avez-vous essayé de modifier le taux d'apprentissage ? Si vous constatez une très grande différence entre la validation et les performances de l'ensemble de test, y a-t-il eu un changement qui rendrait l'ensemble de test si différent ? Cela peut également remettre en question la façon dont vous répartissez vos données entre la formation, la validation et le test.
Mais si vous êtes à l'aise avec les créations d'ensembles de formation, de validation et de test et pensez qu'elles sont toutes représentatives, il existe des options et des moyens d'améliorer les modèles. Avec suffisamment de nœuds et d'itérations de recherche, un réseau de neurones peut fournir un ajustement parfait car il s'agit d'un approximateur universel. Mais ce n'est pas souhaitable car cela ne correspondra qu'à ces données, pas aux données futures (voir @statman commentaires de). N'oubliez donc pas que s'attendre à une prédiction "parfaite" n'est pas réaliste. Les deux @P_Bartell et @statman indiquer les éléments à prendre en compte. Vous ne devriez vraiment pas vous attendre à faire mieux que votre erreur de système de mesure. Cela vous permet de définir une cible réaliste pour votre erreur de prédiction.
Re : Prédiction du modèleMalheureusement développer de bons modèles en terme de prédiction n'est pas un exercice anodin. R^2 est une statistique énumérative. Il s'applique uniquement aux données en main. La RMSE du modèle est une statistique énumérative et s'applique uniquement à l'ensemble de données en cours. L'extrapolation du modèle n'est pas un problème d'énumération (Voir Deming : Problèmes d'énumération vs. analytiques), mais un exercice d'acquisition de données qui représentent des conditions futures. Apparemment, les ensembles de données que vous utilisez pour modéliser les données existantes ne représentent pas les conditions futures. Aucune méthode statistique ne peut vous aider ici. Il peut y avoir des problèmes avec votre système de mesure car @P_Bartell suggère ou de nombreuses autres raisons pour lesquelles votre ensemble de données ne représente pas les conditions futures. Le processus est-il stable (selon Shewhart) ? Vous devriez peut-être faire un échantillonnage dirigé pour comprendre le processus avant d'essayer de le modéliser. Je doute que les 100 variables prédictives aient la même influence sur les variables de réponse pertinentes (voir principe de rareté des effets).
Re : Prédiction du modèleVoici quelques réflexions pour vous :
1. Que savez-vous de la variation de votre système de mesure ? Si proche de "rien"... je détournerais votre étude de la modélisation causale/prédictive pour inclure une étude de la variabilité du système de mesure. Le décalage de deux semaines entre la collecte des données de production et la mesure de la réponse nécessite un système de mesure dérivant ou très variable de la formation/validation à l'extrapolation aux prévisions et résultats futurs.
2. Avez-vous JMP Pro...l'exploration et l'analyse de données fonctionnelles de séries temporelles est l'une des fonctionnalités de signature de JMP Pro et votre étude est conçue sur mesure pour l'exploration de données fonctionnelles. Pour plus de détails, je vous suggère de regarder ce webinaire à la demande : Explorateur de données fonctionnelles