Identifier les « variables importantes » pour la régression des arbres de partitionJe développe une analyse de régression des arbres de partition, avec JMP 13, j'ai 83 variables, j'identifie les variables qui n'ont pas de colinéarité avec VIF, dans le but de pouvoir identifier les variables les plus "représentatives" pour développer l'analyse de régression des arbres de partition (L'exemple que j'utilise est Bank Revenues
Régression linéaire multiple avec transformation / De la création de meilleurs modèles avec JMP Pro, chapitre 4, SAS Press (2015). Grayson, Gardner et Stephens.). Ma question, cela pourrait-il être un moyen approprié ? ou il existe un protocole plus spécifique dans JMP pour identifier ces variables "importantes" pour travailler avec des arbres de partition de régression.
Re : Identifier les « variables importantes » pour la régression des arbres de partitionJe suis très reconnaissant du temps qu'il a fallu pour m'aider avec les suggestions et recommandations développées.
De même, bonne chance en tout !
Re : Identifier les « variables importantes » pour la régression des arbres de partitionIl y aura certaines limitations dans la génération de modèles lorsque vous n'avez pas accès à JMP Pro. D'un autre côté, vous pouvez toujours faire une modélisation ARIMA (le cas échéant) et un NN et un arbre de partition simplifiés. Une autre plate-forme qui pourrait aider est la sélection des prédicteurs, sous Analyse -> Dépistage. Cela pourrait également aider à identifier lesquels des nombreux facteurs sont susceptibles d’être importants.
Une autre chose que vous pouvez essayer est sur la plateforme Fit Model, de choisir « par étapes » sous « personnalité ». Cela utilisera également différents critères pour sélectionner quels facteurs (et termes mixtes) sont nécessaires et lesquels ne le sont pas. Ici, il est très utile d’avoir une assez bonne idée du type de modèle à utiliser. Si vous disposez de beaucoup de données, vous pouvez sélectionner tous vos facteurs, puis choisir la surface de réponse sous le bouton déroulant « macros ». Vous voulez simplement vous assurer que vos degrés de liberté ne sont pas trop réduits. Si vous savez qu'il existe un processus physique régissant la réponse, cela peut être un début dans la façon de générer une équation modèle. Une dernière chose que vous voudrez peut-être examiner est de transformer vos données avant de les modéliser, surtout si elles ne sont pas normalement distribuées. La transformation des données peut aider le processus de modélisation à obtenir un ajustement robuste doté de meilleures capacités prédictives qu'il ne le ferait autrement.
En ce qui concerne la colonne de validation, je sais que JMP standard n'est pas fourni avec l'interface graphique pour la générer, mais voici du JSL qui générera N (je l'ai défini sur 5) colonnes de validation stratifiées. Certains modèles sont sensibles à la colonne de validation, même lors d'une stratification sur une certaine réponse, donc tester différentes colonnes de validation peut être utile pour évaluer la robustesse du modèle.
Names Default To Here( 1 );
dt = Current Data Table();
For( i = 1, i <= 5, i++,
dt << Make Validation Column(
Training Set( 0.6 ),
Validation Set( 0 .2),
Test Set( 0.2 ),
Stratified Random( :Group )
)
);
Dans le script ci-dessus, je passe de 1 à 5, il génère donc 5 colonnes de validation divisées à 60 % en formation, 20 % en validation et 20 % en test (vous pouvez modifier les valeurs en fonction de ce qui convient le mieux à vos données), et ce sera stratifié aléatoirement sur la ou les colonnes que vous choisissez dans la fenêtre contextuelle : Groupe. Si vous ne souhaitez pas stratifier, vous pouvez remplacer cette commande par une formule de catégorie aléatoire.
JSL est un langage assez simple à coder, donc si vous avez le temps, je vous suggère fortement de tester quelques scripts pour vous familiariser avec lui. Je trouve cela très utile lorsque vous effectuez les mêmes tâches sur différents ensembles de données : cela aide à automatiser les choses. Vous pouvez également consulter l'index des scripts dans le menu Aide.
Bonne chance!,
DS
Re : Identifier les « variables importantes » pour la régression des arbres de partitionMerci pour les suggestions, elles m'ont clarifié de nombreux problèmes et je travaillerai dans ce contexte. Bien qu'une de mes limites pour pouvoir utiliser et développer, par exemple certaines comparaisons entre modèles, est que je ne travaille pas dans une version JMP PRO. Cependant, j'ai pu identifier l'option : JMP to R Add-In Builder, qui, je crois, pourrait me faciliter l'utilisation d'autres algorithmes pour le développement d'analyses comme il le suggère ; ce dernier que j'indique, c'est parce que je suis une personne non codeur >.<
Merci!
Re : Identifier les « variables importantes » pour la régression des arbres de partitionJe ne suis pas un expert, mais j'ai également parcouru ce livre (en passant, j'ai aimé les exemples et les travaux pratiques). Il existe de bons exemples dans les chapitres suivants qui pourraient également s'appliquer à votre situation particulière.
Le VIF est certainement un moyen de déterminer quelles variables sont surestimées dans le modèle. L'examen des contributions des colonnes des résultats de l'arbre de décision peut également être très utile. Une autre approche pourrait consister à utiliser l’analyse en composantes principales (ACP), qui peut aider à regrouper les variables les plus importantes et à les utiliser comme PC dans la modélisation de la réponse.La plate-forme forestière bootstrap est censée être robuste contre le surapprentissage car elle est randomisée avec à la fois des réponses et des facteurs. La forêt d'amorçage et l'arbre boosté devraient "éliminer" les facteurs non utiles car ils ne se diviseront pas en fonction de ces facteurs et leur contribution tombera à des valeurs très faibles.
Si vous disposez de suffisamment de données pour créer une colonne de validation avec des données de formation, de validation et de test, cela contribuera à simplifier considérablement votre modèle. La partie validation permet de choisir le modèle le plus parcimonieux du groupe, tandis que les données de test sont utilisées pour voir dans quelle mesure le modèle fonctionne avec des données « aveugles ». Une note avec ceci, vous voudrez peut-être déterminer si cela doit être stratifié, randomisé ou choisi d'une manière ou d'une autre. Cela peut être partiellement (ou largement) basé sur la réponse de votre modélisation. Est-ce continu, ou binaire, etc. ?
Enfin, comparer plusieurs modèles différents (plateforme de comparaison de modèles), tels que NN, partition, forêt boostrap, arbre boosté ou régression généralisée, aidera également à choisir celui qui fonctionne le mieux pour vos données. Assurez-vous de comparer vos modèles sur les données « test » uniquement, ou sur celles qui ont été manuellement retenues en masquant et en excluant (c'est-à-dire que vous ne souhaitez pas tester sur les données d'entraînement).
Je ne sais pas s'il existe une méthode "standardisée" pour déterminer cela, mais aborder le problème sous plusieurs angles différents vous aidera certainement à voir où se trouve le plus de chevauchement et vous aidera dans votre décision de déterminer les variables "représentatives".
J'espère que cela t'aides!,
DS