La plateforme PLS est en réaménagement sans validation + comment utiliser le bootstrap ?Salut,
1) Je fais un PLS, j'ai 42 observations. Le nombre de prédicteurs possibles varie de 24 à 79 à 240 selon le degré de présélection des variables. Mon Y est catégorique, soit 2, soit 3. Après avoir lancé le lancement de la plateforme, j'arrive à la partie NIPALS/SIMPLS, et quel que soit le type de validation que j'utilise (Kfold, laisser activé, e holdout) ou le nombre de facteurs que je choisis - j'obtiens toujours l'erreur - "le meilleur modèle a 0 facteurs, réaménagement sans validation".Avez-vous une suggestion sur ce que je peux faire pour résoudre ce problème ? Je veux vraiment utiliser PLS, mais la modélisation sans aucune validation est simplement un surajustement...
2) Une fois le résultat obtenu, j'ai la formule de prédiction. Quelle serait la procédure pour l'amorcer ? J'ai beaucoup d'incertitude quant à la procédure pour amorcer les résultats ; J'aimerais que JMP introduise déjà le bootstrap dans le processus de validation. Je suppose que j'aurais besoin de faire la moyenne des coefficients bootstrapés, mais en réexécutant ce tableau, l'ensemble du modèle inclurait. validation k-fold (au cas où cela fonctionnerait) ? Si oui, dois-je utiliser les données centrées et mises à l’échelle ou les coefficients originaux ? Je devrais saisir manuellement les résultats sous forme de formule, donc je suppose que je devrais amorcer les coefficients d'origine, mais cela exécuterait-il le modèle en utilisant les données mises à l'échelle centrées et fournirait les coefficients d'origine, ou exécuterait-il le modèle en utilisant les coefficients d'origine ? L'ensemble de la procédure n'est pas clair pour moi du point de vue du processus, c'est-à-dire ce qui se passe étape après étape pour atteindre le résultat souhaité ; toute aide/idée serait appréciée !
Merci,
Uriel.
Modélisation prédictive et apprentissage automatiqueRe : La plateforme PLS est réaménagée sans validation + comment utiliser le bootstrap ?Salut @utkcito ,
Maintenant, je comprends ce que vous entendiez à l'origine par "bootstrap" : exécuter la plate-forme d'amorçage est une bonne approche, mais vous souhaiterez également exécuter des modèles prédictifs avec le réseau neuronal, GenReg, des arbres boostés et même obtenir le module complémentaire XGBoost. pour comparer les différentes formules de prédiction sur un ensemble de tests de validation. Ce faisant, vous devez être sûr et ajuster vos paramètres afin d'obtenir le meilleur ajustement - les ajustements par défaut ne sont pas toujours aussi bons.
Mais l’un des avantages de l’approche arborescente est qu’il s’agit d’une approche agrégée qui utilise de nombreux arbres de décision différents pour élaborer un modèle. Si les facteurs ne sont pas très importants dans leur contribution, ils seront automatiquement relégués à la baisse et n'apparaîtront pas comme ayant une contribution élevée au modèle global. Néanmoins, en raison des démarrages et du processus de décision aléatoires, les approches de forêt d'amorçage et d'arbres boostés ne sont pas particulièrement stables : lorsque vous exécutez les mêmes paramètres plusieurs centaines de fois, vous verrez que vous obtenez en réalité des réponses et des formules légèrement différentes. C'est pourquoi il est bon d'amorcer le « SS » ou la « partie » dans le rapport de sortie (dans la forêt d'amorçage, par exemple) pour obtenir une meilleure estimation de la force réelle de ce facteur dans le modèle.
Cela étant dit, vous devez vous assurer que vous utilisez des méthodes de validation croisée pour vous assurer de ne pas surajuster. Et, avec un tableau de données relativement court (pas beaucoup de mesures), il sera difficile de le faire sans utiliser une approche sans intervention, à moins que vous n'utilisiez la méthode de validation automatique que j'ai mentionnée dans la réponse précédente. La validation croisée K-fold pourrait également être une bonne approche pour vous.
Je ne sais pas à quoi ressemblent vos données d'entrée, mais on dirait presque que c'est ce que JMP appelle des "données fonctionnelles", comme des spectres ou d'autres données régulièrement espacées où chaque longueur d'onde (ou valeur x) est corrélée à son voisin. Vous souhaiterez peut-être envisager d'utiliser l'explorateur de données fonctionnel pour générer un meilleur sous-ensemble de prédicteurs. L’ACP est également une bonne approche pour réduire la dimensionnalité de vos prédicteurs et utiliser un ensemble plus petit de vecteurs orthogonaux pour modéliser vos données.
Concernant vos points :
1) Existe-t-il une raison théorique (biologique, chimique, physique) d'inclure autant de termes croisés différents de l'approche factorielle *2 ? Si vous n’avez pas de raison théorique pour les inclure, cela n’a pas beaucoup de sens et vous pourriez introduire un faux prédicteur.
2) Dans la plateforme PLS, il est important d'examiner également la réponse Y cumulée sous le « Pourcentage de variation expliquée » dans le rapport. Si les combinaisons linéaires de vos prédicteurs n'expliquent pas une grande partie de la réponse dans Y, votre pourcentage de variation expliqué sera assez faible, ce qui indique que vos prédicteurs ne font pas un travail particulièrement efficace en tant que combinaison linéaire d'explication de la variation dans Y et d'un autre la plate-forme fonctionnera probablement mieux. Avec si peu de mesures de réponse, essayer d'ajuster un si grand nombre de prédicteurs conduira probablement à un surapprentissage car vous ne disposez pas de suffisamment de degrés de liberté. Parallèlement à PLS, vous souhaiterez peut-être envisager de consulter la plateforme d'analyse factorielle sous Analyse multivariée. Je pense que vos variables de cytokines sont peut-être trop nombreuses et que vous perdez vos degrés de liberté. Imaginez avoir deux points et ajuster une ligne, ou trois et ajuster une parabole - vous obtenez un ajustement parfait car c'est exactement le nombre minimum de points nécessaire pour ajuster ces polynômes, mais vous perdez tout degré de liberté et ne pouvez plus estimer les erreurs. ou qualité adaptée. Je pense que c'est ce qui se passe sur la plateforme PLS.
3) Les pages communautaires sont les meilleures. Je les vérifie toujours, en particulier pour les scripts JSL car je code dans JMP. Presque toujours, il y a un extrait de code que quelqu'un d'autre a résolu et qui correspond exactement à ce dont j'ai besoin pour mon travail. J'aime aussi parcourir les questions et voir ce que je peux aider, surtout lorsque j'apprends quelque chose de nouveau.
Bonne chance!,
DS
Re : La plateforme PLS est réaménagée sans validation + comment utiliser le bootstrap ?Salut DS,
1) la raison pour laquelle j'ai 24 à 237 variables est exactement parce que cela dépend de la sélection de variables que je fais. 24 est après bootstrap forrest, et ensuite je peux faire la factorielle *2. 237 est l’ensemble des cytokines.
2) " les prédicteurs doivent également varier avec la réponse, sinon vous obtenez cette erreur - ce qui signifie qu'il n'y a pas de combinaisons linéaires de vos prédicteurs qui expliquent la variation de votre réponse. " Pouvez-vous expliquer un peu plus que cela ? Je pensais que la covariance est entre elles, c'est-à-dire qu'elles sont multicolinéaires, et que PLS utilise cette covariance entre les variables en créant les facteurs qui sous-tendent cette covariance. Je ne suis pas sûr de comprendre ce que vous voulez dire lorsque vous dites qu'ils doivent correspondre au réponse . J'ai du mal à penser que sur 24, 79 ou 237 variables de cytokines (il s'agit en fait de la moyenne, de la médiane et de l'IQR des mesures longitudinales), aucune combinaison linéaire d'entre elles ne peut expliquer une quelconque variation de la réponse (maladie grave en réanimation) ; il a en fait déjà été établi qu'ils le font dans d'autres contextes, donc je ne comprends pas pourquoi JMP fait cela.
3) Merci pour l'explication sur la façon d'opérationnaliser le bootstrapping, cela a beaucoup plus de sens et je l'ai essayé et cela fonctionne. Je suis toujours surpris de voir à quel point la documentation formelle de JMP est peu utile, à quel point il y a peu de détails sur son fonctionnement et comment le faire fonctionner, et à quel point les forums, didacticiels, etc. sont réellement utiles.
Merci beaucoup!
Uriel.
Re : La plateforme PLS est réaménagée sans validation + comment utiliser le bootstrap ?Salut @utkcito ,
Tout d’abord, PLS n’est peut-être pas la meilleure plateforme à utiliser pour vos données. Il serait peut-être préférable de l'exécuter en tant que GenReg ou Stepwise pour voir quels prédicteurs sont réellement importants dans votre modèle. Je trouve très étrange que votre nombre de prédicteurs varie de 24 à 240. Avec si peu d'observations par rapport à votre nombre possible de prédicteurs, vous devriez vraiment effectuer un filtrage des prédicteurs pour vous assurer que vous n'ajoutez pas trop de facteurs inutiles dans votre modèle. PLS peut gérer cela, mais les prédicteurs doivent également varier avec la réponse, sinon vous obtenez cette erreur - ce qui signifie qu'il n'y a pas de combinaisons linéaires de vos prédicteurs qui expliquent la variation de votre réponse. Cependant, si vous devez utiliser PLS et que vous n'avez pas d'autre option, vous pouvez envisager de changer votre réponse de catégorique (2 ou 3) à ordinale (2 ou 3). Il pourrait peut-être trouver une meilleure solution numérique. Je recommande également fortement d'examiner et d'utiliser le validation automatique approche pour vérifier votre longue liste de prédicteurs.
Deuxièmement, lorsque JMP effectue un ajustement, je crois qu'en arrière-plan, il utilise toujours des données centrées et mises à l'échelle pour obtenir de meilleures valeurs des estimations, puis recalcule les estimations réelles. Ainsi, peu importe ce que vous finissez par amorcer, mais il peut être plus logique ou plus facile d'interpréter les estimations réelles de l'amorçage plutôt que les données centrées et mises à l'échelle. Et oui, l'amorçage des estimations réexécutera l'ajustement avec la validation que vous effectuez.
Enfin, pour amorcer les estimations, vous cliquerez avec le bouton droit sur les estimations de colonne dans le rapport JMP, puis sélectionnerez bootstrap. Si c'est rapide, mettez-en peut-être 5 000, mais si c'est lent, laissez-le à 2 500. Assurez-vous de cocher la case « poids fractionnaires ». Il réexécutera l'ajustement plusieurs fois, puis vous donnera une distribution de valeurs pour chaque coefficient des prédicteurs (exécutez simplement le script "distribution" dans la table de données de sortie. Ensuite, avec la distribution et les statistiques qui s'affichent, vous pouvez cliquer avec le bouton droit sur les statistiques récapitulatives et sélectionner « transformer en tableau de données combinées ». Assurez-vous également de personnaliser les statistiques récapitulatives pour afficher la proportion non nulle.
Le tableau de données combinées contiendra la moyenne et la proportion non nulle de vos estimations. Vous pouvez y voir quelle est la moyenne (valeur typique) ainsi que la fréquence à laquelle (en pourcentage) cette estimation est différente de zéro - si ce nombre est petit, alors l'estimation est souvent nulle. S’il est grand, alors la plupart du temps il est différent de zéro. C'est un bon moyen de déterminer les termes et termes mixtes dont vous avez besoin ou non dans votre modèle.
J'espère que cela t'aides,
DS