Sélection des variables statistiquement significatives dans un modèle R glm
J'ai une variable de résultat, l'axe et une liste de 100 dimensions qui pourraient influer sur Y (disons X1...X100).
Après l'exécution de mon glm
et affichage d'un résumé de mon modèle, je vois ces variables sont statistiquement significatives. Je voudrais être en mesure de sélectionner les variables et d'exécuter un autre modèle et de comparer les performances. Est il possible que je peux analyser le modèle de résumé et ne sélectionner que ceux qui sont significatifs?
source d'informationauteur Pritish Kakodkar
Vous devez vous connecter pour publier un commentaire.
Vous pouvez obtenir l'accès au pvalues de la glm résultat par le biais de la fonction "résumé". La dernière colonne des coefficients de la matrice est appelée "Pr (>|t|)" et détient les pvalues des facteurs utilisés dans le modèle.
Voici un exemple:
Bien que @amis a ouvert la voie, il n'est plus à faire. En fait, l'ensemble du processus peut être automatisé. Tout d'abord, nous allons créer des données:
Notre modèle est alors:
Et le Booléen vecteur des coefficients peuvent en effet être extraites par:
Mais ce n'est pas tout! En outre, nous pouvons le faire:
EDIT: comme des affiches ont souligné, la dernière ligne doit être
sig.formula <- as.formula(paste("y ~",paste(relevant.x, collapse= "+")))
à inclure toutes les variables.Et exécuter la régression avec les seules variables significatives que l'OP voulait:
Dans ce cas, l'estimation sera égale à 1 comme nous l'avons défini x4 y+5, ce qui implique la relation parfaite.
Pour les personnes ayant des problème avec Maxim.K commande sur
utiliser cette
Finale codes sera comme
cela corrige le bogue que vous êtes confronté avec la cueillette de la première variable seul.
dans
sig.la formule <- que.formule(paste("y ~",pertinentes.x))
vous ne coller que la première variable pertinente.x les autres sont ignorés (par exemple essayer d'inverser la condition >0.5)