PCA pour séparer deux résultatsSalut,
J'ai un résultat binaire pour un groupe de patients et une longue liste de variables mesurées (c'est-à-dire des facteurs prédictifs/caractéristiques potentiels). Je peux effectuer une ACP sur l'ensemble du groupe, ou une ACP sur chaque groupe séparément (c'est-à-dire les patients positifs et les patients négatifs séparément). Mais ce que je recherche vraiment, c'est la question suivante : quelles sont les deux composantes principales qui permettent de distinguer au mieux les positifs des négatifs ? J'ai un peu joué avec l'analyse discriminante, mais je n'ai pas encore beaucoup progressé ; toute aide ou suggestion serait la bienvenue.
Merci!
Uriel
Modélisation statistique avancéeRe: PCA pour séparer deux résultatsSalut,
Avez-vous envisagé la plate-forme d'analyse discriminante ou la plate-forme de filtrage des réponses si vous devez filtrer / cibler les variables les plus pertinentes pour votre classification.
Meilleur,
TSRe: PCA pour séparer deux résultatssalut @utkcito ,
PCA n'est peut-être pas le bon outil pour vous. Puisque vous avez un résultat binaire (marche / arrêt, 1/0, mort / vivant), cela ressemble plus à un problème de régression logistique, un peu comme l'exemple des survivants du Titanic dans les exemples de données dans JMP. Le but de l'ACP n'est pas nécessairement de prédire un résultat, c'est-à-dire de séparer les résultats 0/1. Vous pourriez être mieux avec un arbre de décision, un réseau neuronal ou d'autres méthodes basées sur des arbres comme XGBoost. Vous pouvez même essayer des machines vectorielles de support. Beaucoup de ces options dépendent de la version de JMP dont vous disposez (par exemple Pro ou standard).
PCA est vraiment conçu pour trouver un ensemble de vecteurs linéairement indépendants (de l'ensemble de données prédicteur - vous ne lui fourniriez pas les données de réponse) qui maximise le variabilité expliqué dans les données le long d'un ensemble de composantes principales orthogonales. Vous pouvez le lire dans l'aide de JMP ici . Les principaux composants ne seront pas nécessairement de bons prédicteurs pour séparer les positifs / négatifs. Cela pourrait être beaucoup mieux adapté à la plate-forme SVM. Si vous n'avez pas Pro, vous voudrez probablement essayer la méthode d'arbre de décision de partitionnement ou le réseau neuronal.
Autre chose: en fonction du nombre de lignes dont vous disposez, vous souhaiterez peut-être générer une colonne de validation stratifiée sur la colonne de résultat et l'utiliser pour une validation de votre modèle. Vous pouvez également envisager d'ajouter une colonne de facteur nul (voir le complément d'autovalidation pour JMP) pour voir si l'ensemble des prédicteurs possibles apparaît réellement plus souvent dans le modèle qu'un facteur nul complètement aléatoire et orthogonal.
J'espère que cela t'aides.
Bonne chance!,
DS
Re: PCA pour séparer deux résultatsSalut TS et DS,
Je ne cherche pas de prédicteurs avec le PCA. Je veux caractériser, décrire. Je pense que l'analyse discriminante devrait le faire selon la méthode linéaire large car elle montre les composants principaux, mais je ne peux pas trouver les détails des principales composantes qu'elle génère pour évaluer si c'est vraiment le cas.
Uriel.
Re: PCA pour séparer deux résultatsVous pourriez envisager PLS-DA au lieu de PCA. PLS garantit que les premiers composants sont liés à la plus grande variation de votre cible, en d'autres termes, pour un seul Y, vous devriez toujours voir la meilleure séparation dans les graphiques de score des composants 1 et 2. Vous pouvez alors regarder les chargements, les coefficients VIP v, ou utilisez des méthodes auxquelles vous êtes habitué en ACP pour évaluer l'importance des variables.
Vous pouvez lancer PLS-DA soit en utilisant la personnalité PLS du Ajuster le modèle plate-forme, ou en créant une variable qui vaut 1 ou 0 selon la catégorie, puis en l'incluant dans la section 'Y' du PLS Plate-forme.
Re: PCA pour séparer deux résultatssalut @utkcito ,
je suis d'accord avec @ih , la plate-forme PLS peut être mieux adaptée à ce que vous souhaitez faire, ou la plate-forme SVM aussi.
Une des raisons pour lesquelles l'analyse discriminante peut ne pas fonctionner est qu'il semble que votre ensemble de données ne corresponde pas entièrement au format attendu pour le DA. Le DA nécessite des X catégoriques et des réponses continues Y, et c'est en quelque sorte l'inverse, en utilisant les Y continus pour finalement prédire les X, c'est-à-dire qu'il prédit une variable de classification basée sur une variable Y continue connue.
Si vous voulez utiliser les X pour caractériser / décrire les résultats Y, alors PLS, le partitionnement ou SVM pourraient être de meilleures plates-formes, je pense. Et comme @ih mentionné, en utilisant les graphiques VIP, vous pouvez l'utiliser avec le seuil VIP pour générer un modèle simplifié où il n'utilise pas chaque colonne X du modèle. Le clustering pourrait également être une option, mais cela pourrait ne pas avoir autant de sens que le PLS lorsque vous essayez d'interpréter les résultats.
J'espère que vous pourrez utiliser l'une de ces plateformes pour vous aider dans votre travail.
Bonne chance!,
DS
Objet : PCA pour séparer deux résultatsBonjour @utkcito ,
Bien que je sois entièrement d'accord avec les autres sur les options possibles pour analyser vos données, je souhaite vous proposer une autre plateforme JMP Pro qui mérite d'être testée. La régression généralisée (RG) est particulièrement adaptée aux résultats binomiaux/binaires. Les algorithmes LASSO et Elastic Net vous permettront de trouver la meilleure combinaison globale de variables dans l'espace factoriel utilisé, et non dans un espace à composantes principales ou à facteurs latents (PLS). Il peut être difficile de déterminer l'essentiel des modèles ACP et PLS sans un effort supplémentaire important. De nombreuses options de validation croisée permettent également d'éviter le surapprentissage.
Les réseaux neuronaux (RN) pourraient vous être utiles. La fonction TanH (Tangen hyperbolique) est particulièrement adaptée aux résultats binomiaux et vous serez automatiquement invité à utiliser la validation croisée pour éviter le surapprentissage. (JMP et JMP Pro)
Bootstrap Forest, comme méthode de partitionnement, vous permettra également de trouver les facteurs les plus significatifs dans votre espace factoriel. (JMP Pro)
Une dernière réflexion, si vous avez accès à JMP 16 EA, vous pouvez essayer le criblage de modèles sous Modélisation prédictive pour vous aider à trouver le meilleur modèle global pour vos données.
Le filtrage des modèles sera l'une des grandes nouveautés de JMP Pro 16
Objet : PCA pour séparer deux résultatsMerci à tous ceux qui ont répondu, vos commentaires sont utiles. J'ai d'ailleurs utilisé toutes ces options récemment pour analyser les données. Je m'intéressais particulièrement à la façon dont une discrimination orthogonale se présenterait, mais si ce n'est pas directement possible, je passerai à autre chose.
Uriel.