La plateforme PLS se refait 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 combien je présélectionne les variables. Mon Y est catégorique, soit 2 ou 3. Après avoir lancé le lancement de la plate-forme, j'arrive à la partie NIPALS / SIMPLS, et quel que soit le type de validation que j'utilise (Kfold, Leave on, e holdout) ou le nombre de facteurs que je choisis - j'obtiens toujours l'erreur - "le meilleur modèle a 0 facteurs, remontage sans validation ".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 juste un surapprentissage ...
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 de bootstrap des résultats; Je souhaite que JMP introduise déjà le bootstrapping dans le processus de validation. Je suppose que j'aurais besoin de faire la moyenne des coefficients bootstrapés, mais que je redémarrerais cette table, le modèle entier inc. validation k-fold (au cas où cela fonctionnait) Si c'est le cas, dois-je utiliser les données centrées et mises à l'échelle ou les coefficients d'origine? Je devrais entrer manuellement les résultats sous forme de formule, donc je suppose que je devrais amorcer les coefficients d'origine, mais est-ce que cela exécuterait le modèle en utilisant les données mises à l'échelle centrées et fournirait les coefficients d'origine, ou exécuterait 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 / perspicacité serait appréciée!
Merci,
Uriel.
AnalytiqueRe: la plateforme PLS se refait sans validation + comment utiliser le bootstrap?salut @utkcito ,
Tout d'abord, PLS n'est peut-être pas la meilleure plate-forme à utiliser pour vos données. Il 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 faire un examen des prédicteurs pour vous assurer de ne pas ajouter trop de facteurs inutiles dans votre modèle. PLS peut gérer cela, mais les prédicteurs doivent également faire une covariable 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 n'avez pas d'autre option, vous pouvez envisager de changer votre réponse de catégorielle (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 autovalidation approche pour vérifier votre grande 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 calcule en arrière les estimations réelles. Ainsi, peu importe ce que vous finissez par bootstrap, mais cela peut avoir plus de sens ou être plus facile d'interpréter les bootstraps d'estimation réels plutôt que les données centrées et mises à l'échelle. Et oui, amorcer les estimations réexécutera l'ajustement avec la validation que vous effectuez.
Enfin, pour démarrer les estimations, cliquez avec le bouton droit sur les estimations de colonne dans le rapport JMP, puis sélectionnez bootstrap. Si c'est rapide, mettez peut-être 5000, mais si c'est lent, laissez-le à 2500. Assurez-vous de cocher la case «poids fractionnaires. Il réexécutera l'ajustement plusieurs fois, puis vous donnera une distribution des 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 de la souris sur les statistiques récapitulatives et sélectionner «transformer en tableau de données combinées». Veillez également à personnaliser les statistiques récapitulatives pour afficher la proportion différente de zéro.
Le tableau de données combiné contiendra la moyenne et la proportion non nulles pour 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 zéro. Si c'est gros, alors la plupart du temps, il est non nul. C'est un bon moyen de déterminer les termes et les termes mixtes dont vous avez besoin ou non dans votre modèle.
J'espère que cela t'aides,
DS
Re: la plateforme PLS se refait 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 quantité de sélection de variables que je fais. 24 est après bootstrap forrest, puis je peux faire la factorielle * 2. 237 est l'ensemble des cytokines.
2) " les prédicteurs doivent également faire une covarie 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 co-variance. Je ne suis pas sûr de comprendre ce que tu veux dire quand tu dis qu'ils doivent faire alliance avec le réponse . J'ai du mal à penser que sur 24, 79 ou 237 variables de cytokines (ce sont en fait la moyenne, la médiane et le QI des mesures longitudinales), aucune combinaison linéaire d'entre elles ne peut expliquer une variation de la réponse (maladie grave en USI); 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 n'aide pas, à quel point il y a peu de détails sur son fonctionnement et comment le faire fonctionner, et à quel point les forums, tutoriels, etc. aident réellement.
Merci beaucoup!
Uriel.
Re: la plateforme PLS se refait sans validation + comment utiliser le bootstrap?salut @utkcito ,
Maintenant, je comprends ce que vous vouliez dire à l'origine par "bootstrap" - exécuter la plate-forme bootstrap est une bonne approche, mais vous voudrez également exécuter des modèles prédictifs avec le réseau neuronal, GenReg, les arbres boostés et même obtenir l'add XGBoost. pour comparer les différentes formules de prédiction sur un ensemble de tests de validation. En faisant cela, vous voudrez ê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, une bonne chose à propos de l'approche des arbres est qu'il s'agit d'une approche agrégée qui utilise de nombreux arbres de décision différents pour créer un modèle. Si les facteurs ne sont pas très importants dans leur contribution, ils seront automatiquement poussés vers le bas et n'apparaîtront pas comme ayant une contribution élevée au modèle global. Néanmoins, en raison des démarrages aléatoires et du processus de décision, la forêt bootstrap et les approches 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 fait des réponses et des formules légèrement différentes. C'est pourquoi il est bon d'amorcer le «SS» ou la «portion» 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 voudrez vous assurer que vous utilisez des méthodes de validation croisée pour vous assurer de ne pas sur-ajuster. Et, avec un tableau de données relativement court (pas beaucoup de mesures), il sera difficile de le faire sans utiliser une approche de laisser-un-out, à moins que vous n'utilisiez la méthode d'autovalidation que j'ai mentionnée dans la réponse précédente. La validation croisée en K peut également être une bonne approche pour vous.
Je ne sais pas à quoi ressemblent vos données d'entrée, mais cela ressemble presque à 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 avec son voisin. Vous voudrez 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 plus petit ensemble de vecteurs orthogonaux pour modéliser vos données.
Quant à vos points:
1) Y a-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 de les inclure, alors ce n'est pas très significatif et vous pourriez introduire un faux prédicteur.
2) Dans la plate-forme PLS, il est important de regarder également la réponse Y cumulée sous «Pourcentage de variation expliqué» dans le rapport. Si les combinaisons linéaires de vos prédicteurs n'expliquent pas une grande partie de la réponse en Y, votre% de variation expliquée sera assez faible, ce qui indique que vos prédicteurs ne font pas un travail particulièrement efficace en tant que combinaison linéaire expliquant la variation de Y, et un différent 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 surajustement car vous n'avez pas assez de degrés de liberté. En plus de PLS, vous voudrez peut-être envisager de consulter la plateforme d'analyse factorielle sous Analyse multivariée. Je pense que vos variables 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 parce que c'est exactement le nombre minimum de points nécessaires pour ajuster ces polynômes, mais vous perdez tous les degrés de liberté et ne pouvez plus estimer les erreurs ou adapter la qualité. Je pense que c'est ce qui se passe sur la plateforme PLS.
3) Les pages de la communauté sont les meilleures. Je les vérifie toujours, en particulier pour les scripts JSL car je code en JMP. Presque toujours, il y a un extrait de code que quelqu'un d'autre a résolu et c'est exactement ce dont j'ai besoin pour mon travail. J'aime aussi parcourir les questions et voir ce que je peux faire, surtout lorsque j'apprends quelque chose de nouveau.
Bonne chance!,
DS