Déviance et GLM
Formellement, on peut voir la déviance comme une sorte de distance entre deux modèles probabilistes; dans le contexte GLM, cela équivaut à deux fois le log ratio des vraisemblances entre deux modèles imbriqués où est le modèle "le plus petit"; c'est-à-dire une restriction linéaire sur les paramètres du modèle (voir le lemme de Neyman – Pearson ), comme l'a dit @suncoolsu. En tant que tel, il peut être utilisé pour effectuer une comparaison de modèle . Cela peut aussi être vu comme une généralisation du RSS utilisé dans l'estimation OLS (ANOVA, régression), car il fournit une mesure de la qualité d'ajustement du modèle en cours d'évaluation par rapport au modèle nul (interception uniquement). Cela fonctionne aussi avec LM:ℓ1/ℓ0ℓ0
> x <- rnorm(100)
> y <- 0.8*x+rnorm(100)
> lm.res <- lm(y ~ x)
Les résidus SS (RSS) sont calculés comme , ce qui est facilement obtenu comme suit:ε^tε^
> t(residuals(lm.res))%*%residuals(lm.res)
[,1]
[1,] 98.66754
ou parmi le (non ajusté)R2
> summary(lm.res)
Call:
lm(formula = y ~ x)
(...)
Residual standard error: 1.003 on 98 degrees of freedom
Multiple R-squared: 0.4234, Adjusted R-squared: 0.4175
F-statistic: 71.97 on 1 and 98 DF, p-value: 2.334e-13
depuis où est la variance totale. Notez qu’il est directement disponible dans une table ANOVA, commeR2=1−RSS/TSSTSS
> summary.aov(lm.res)
Df Sum Sq Mean Sq F value Pr(>F)
x 1 72.459 72.459 71.969 2.334e-13 ***
Residuals 98 98.668 1.007
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Maintenant, regardez la déviance:
> deviance(lm.res)
[1] 98.66754
En fait, pour les modèles linéaires, la déviance est égale au RSS (vous pouvez vous rappeler que les estimations MCO et ML coïncident dans un tel cas).
Déviance et PANIER
Nous pouvons considérer CART comme un moyen d’allouer des individus déjà identifiés en classes dans des classes arbitraires (dans un contexte de classification). Les arbres peuvent être considérés comme fournissant un modèle de probabilité pour l'appartenance à une classe individuelle. Donc, à chaque nœud , nous avons une distribution de probabilité sur les classes. Ce qui est important ici est que les feuilles de l’arbre nous fournissent un échantillon aléatoire d’une distribution multinomiale spécifiée par . On peut ainsi définir la déviance d’un arbre, , comme la somme sur toutes les feuilles denipiknikpikD
Di=−2∑kniklog(pik),
suivant les notations de Venables et de Ripley ( MASS , Springer 2002, 4 e éd.). Si vous avez accès à cette référence essentielle pour les utilisateurs R (IMHO), vous pouvez vérifier par vous-même comment une telle approche est utilisée pour fractionner des nœuds et adapter un arbre aux données observées (p. 255 et suivantes); Au fond, l'idée est de minimiser, par la taille de l'arbre, où est le nombre de noeuds dans l'arbre . Nous reconnaissons ici le compromis coût-complexité . Ici, est équivalent au concept d'impureté de nœud (c'est-à-dire l'hétérogénéité de la distribution sur un nœud donné) qui est basé sur une mesure d'entropie ou de gain d'information ou sur le célèbre indice de Gini, défini parD+α#(T)#(T)TD1−∑kp2ik (les proportions inconnues sont estimées à partir des proportions de nœuds).
Avec un arbre de régression, l’idée est assez similaire, et nous pouvons conceptualiser la déviance comme une somme de carrés définie pour les individus parj
Di=∑j(yj−μi)2,
résumé sur toutes les feuilles. Ici, le modèle de probabilité considéré dans chaque feuille est un gaussien . Citant Venables et Ripley (p. 256), " est la déviance normalisée habituelle pour un GLM gaussien. Cependant, la distribution aux nœuds internes de l’arbre est alors un mélange de distributions normales, et ne convient donc que pour les feuilles. Le processus de construction de l'arbre doit être considéré comme un raffinement hiérarchique des modèles de probabilité, très similaire à la sélection de variable directe dans la régression . " La section 9.2 fournit des informations plus détaillées sur la mise en œuvre, mais vous pouvez déjà regarder la fonction pourN(μi,σ2)DDirpart
residuals()
rpart
objet, où les "résidus de déviance" sont calculés comme la racine carrée de moins deux fois le logarithme du modèle ajusté.
Une introduction au partitionnement récursif utilisant les routines rpart , par Atkinson et Therneau, est également un bon début. Pour un examen plus général (y compris l'ensachage), je recommanderais
lm.fit
dans votre exemple, car c'est le nom du bourreau de travail derrièrelm
.Cela pourrait être un peu plus clair si nous pensons à un modèle parfait avec autant de paramètres que d'observations, de manière à expliquer toute la variance dans la réponse. C'est le modèle saturé. La déviance mesure simplement la différence d '"ajustement" d'un modèle candidat et celle du modèle saturé.
Dans un arbre de régression, le modèle saturé serait un modèle comportant autant de nœuds terminaux (feuilles) d'observations, de sorte qu'il cadrerait parfaitement avec la réponse. La déviance d'un modèle plus simple peut être calculée en tant que somme de carrés résiduels de nœud, additionnée sur tous les nœuds. En d'autres termes, la somme des différences au carré entre les valeurs prédites et les valeurs observées. Il s'agit du même type d'erreur (ou déviance) que celle utilisée dans la régression des moindres carrés.
Pour un arbre de classification, les sommes résiduelles en carrés ne constituent pas la mesure la plus appropriée du manque d’ajustement. Au lieu de cela, il existe une mesure alternative de la déviance, plus des arbres peuvent être construits en minimisant une mesure d'entropie ou l'indice de Gini. Ce dernier est la valeur par défaut dans
rpart
. L'indice de Gini est calculé comme suit:où est la proportion observée de la classe dans le noeud . Cette mesure est additionnée de tous les nœuds terminaux de l’arbre pour obtenir une déviance du modèle d’arbre ajusté.pik k i i
la source
La déviance est la statistique du rapport de vraisemblance permettant de tester l'hypothèse nulle selon laquelle le modèle tient pour l'alternative générale (c'est-à-dire le modèle saturé). Pour certains GLM de Poisson et binomiaux, le nombre d'observations reste fixe au fur et à mesure que la numération augmente. Ensuite, la déviance a une distribution nulle asymptotique chi-carré . Les degrés de liberté = N - p, où p est le nombre de paramètres du modèle; c'est-à-dire qu'il est égal au nombre de paramètres libres dans les modèles saturé et non saturé. La déviance fournit ensuite un test pour l'ajustement du modèle.N
Cependant, la plupart du temps, vous souhaitez tester si vous devez supprimer certaines variables. Supposons qu'il existe deux modèles et avec les paramètres et , respectivement, et que vous devez tester lequel de ces deux modèles est le meilleur. Supposons que est un cas particulier de c'est-à-dire des modèles imbriqués.M1 M2 p1 p2 M1 M2
Dans ce cas, la différence de déviance est prise:
Notez que la probabilité de journalisation du modèle saturé est annulée et que le degré de liberté de passe à . C’est ce que nous utilisons le plus souvent lorsque nous devons tester si certains paramètres sont égaux à 0 ou non. Mais lorsque vous vous adaptez à la déviance, la sortie correspond au modèle saturé par rapport au modèle actuel.ΔDeviance p2−p1
glm
R
Si vous voulez lire plus en détail: cf: Analyse de données catégoriques par Alan Agresti, pp 118.
la source
rpart
et je laisserai la réponse à des membres plus expérimentés de ce forum.