Comment sélectionner des variables indépendantes via ACP ?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut tout le monde,
Afin de développer un modèle de prédiction, j'ai besoin de filtrer avec précision les variables à utiliser. Plus précisément, je veux utiliser des variables qui ne sont pas corrélées. Un moyen efficace de le faire est d'appliquer l'ACP et de sélectionner les variables fournissant une valeur propre > 1,0. Si j'applique cet exemple à l'exemple JMP ( Rapport sur les composantes principales ), alors je ne sélectionnerais qu'une seule variable. Dans mes données, le nombre de variables avec une valeur propre > 1,0 est de 9. Par conséquent, je sais sans aucun doute combien de variables je veux. Ce qui n'est pas clair pour moi, c'est comment identité ces variables dans le rapport JMP. Si, encore une fois, j'utilise l'exemple JMP ( Rapport sur les composantes principales ), comment identifier la variable (parmi les six) fournissant une valeur Egein de 4,7850 ?
Merci,
David
Re : Comment sélectionner des variables indépendantes via PCA ?Oui, tu as raison.
Je pensais pouvoir sélectionner un ensemble d'attributs parmi ceux d'origine alors qu'avec PCA je peux en créer de nouveaux (en utilisant ceux d'origine).
Le sujet est clos. Merci beaucoup pour le soutien!
David
Re : Comment sélectionner des variables indépendantes via PCA ?David,
Cherchez-vous les vecteurs propres?Ils sont disponibles dans JMP (sous le triangle rouge).N'oubliez pas que l'ACP est une technique de "réduction de dimension", chaque PC étant une combinaison de toutes les variables.
Peter fait de bons arguments sur l'utilisation de méthodes alternatives pour la sélection des variables.
Karine
Re : Comment sélectionner des variables indépendantes via PCA ?Vous perdez probablement une quantité décente d'informations de cette méthode, mais cela devrait être en mesure d'extraire les 3 matériaux avec la "moins de corrélation" les uns avec les autres.Ils ne seront certainement pas orthogonaux.Il y a probablement une meilleure façon de cadrer cela (quelque chose comme ce que dit Peter) afin d'obtenir les réponses que vous voulez.
*Mise en garde, c'est purement inventé et je ne sais pas à quel point c'est solide.Il est logique dans ma tête que cela fasse ce que je pense que vous demandez cependant "
dt = Ouvert ( "$Sample_DATA\Solubility.jmp" );
// faire multivarié sur tous les produits chimiques
mv = Multivarié (
Oui(
: Nom ( "1-octanol" ),
:Éther,
:Chloroforme,
:Benzène,
:Le tétrachlorure de carbone,
:hexane
),
Méthode d'estimation( « par rangée » ),
Format matriciel( "Carré" ),
Matrice de nuage de points (
Ellipses de densité( 1 ),
Ellipses ombrées( 0 ),
Couleur des ellipses( 3 )
)
);
mv_r = mv << rapport ;
// transforme les corrélations en un tableau de données
dt_corr = mv_r[ MatrixBox ( 1 )]<< Transformer en tableau de données ();
// résume les corrélations pour tous
dt_corr << Nouvelle colonne ( "Corrélation totale" , Formule(
Somme (
: Nom ( "1-octanol" ),
:Éther,
:Chloroforme,
:Benzène,
:Le tétrachlorure de carbone,
:hexane
)
));
//les trois plus bas sont les "moins corrélés" les uns aux autres
matériaux = :Ligne << Obtenir des valeurs ;
mat = :Corrélation Totale << Obtenir des valeurs ;
haut = Trier par ordre croissant (tapis)[ 3 ] ; // sélectionne la valeur du 3e plus bas
what_you_want_maybe = matériaux[ lieu (tapis<=haut)] // attrape les 3 produits chimiques de corrélation totale les plus faibles
Retour:
{"1-octanol", "éther", "chloroforme"}
Re : Comment sélectionner des variables indépendantes via PCA ?Salut Peter,
votre approche suppose l'utilisation d'un modèle de prédiction spécifique. Mon approche consisterait à filtrer les variables à utiliser via PCA, puis à utiliser un large éventail de modèles de prédiction. En tant que tel, le filtrage (c'est-à-dire l'ACP) doit être indépendant du modèle de prédiction utilisé.
D'après votre réponse, je peux dire que vous êtes un expert ici. Parce que vous n'avez pas pu répondre à ma question de manière directe j'en déduirai que JMP est incapable de rapporter la liste des variables "liées" aux valeurs propres.
Merci quand même,
David
Re : Comment sélectionner des variables indépendantes via PCA ?David:
Étant donné que vous vous concentrez sur la construction d'un modèle prédictif, plutôt que sur l'utilisation de l'ACP sur les variables indépendantes comme outil de sélection de variables pour trouver les variables indépendantes non corrélées, je suppose que vous vous concentrerez sur l'utilisation des moindres carrés ordinaires, avec peut-être un stepwise approche ajoutée, avez-vous envisagé d'utiliser une approche de modélisation prédictive plus directe qui exploite la structure de corrélation/covariance entre les variables indépendantes pour vous donner un modèle utile ?
Ce que je crains, c'est que si vous utilisez simplement les variables non corrélées, vous risquez de jeter un peu de puissance prédictive par la fenêtre sans vraiment le savoir. Les moindres carrés partiels et, si vous disposez de JMP Pro, les procédures de régression pénalisée dans la personnalité Ajustement du modèle -> Régression généralisée sont conçues sur mesure pour le scénario de modélisation prédictive dans lequel la corrélation entre les variables indépendantes est suspecte ou évidente. Deux des techniques, Lasso et Elastic Net, ont un aspect de sélection variable dans leur utilisation. Voici quelques liens vers la documentation en ligne de JMP sur ces deux plates-formes :
Modèles des moindres carrés partiels
Modèles de régression généralisés
Re : Comment sélectionner des variables indépendantes via PCA ?Malheureusement ce n'est pas ce que je recherche. Supposons que dans l'exemple je dois identifier, parmi les 6 variables, les 3 variables les moins corrélées (croisées). Quels sont-ils ? Chloroforme, Benzène et Hexane ?
Re : Comment sélectionner des variables indépendantes via PCA ?Si vous utilisez le bouton de raccourci, vous devriez pouvoir "Enregistrer les composants principaux" dans la table de données.Ensuite, ils seront simplement nommés Prin1, Prin2, Prin3, etc...
La valeur ne correspond pas vraiment à 1 des six variables.C'est une formule qui ressemble à ceci :

.
Je ne suis pas sûr que ce soit exactement ce que vous demandiez, mais j'espère que cela vous aidera.