mon élève a demandé aujourd’hui comment interpréter la statistique AIC (Akaike’s Information
Criteria) pour la sélection de modèles. Nous avons fini par dénigrer un code R
pour démontrer comment calculer L’AIC pour un GLM simple (general
linear model). Je pense toujours que si vous pouvez comprendre la dérivation d’une statistique
, Il est beaucoup plus facile de se rappeler comment l’utiliser.,
Maintenant, si vous google dérivation de l’AIC, vous risquez de provoquer un
beaucoup de maths. Mais les principes ne sont vraiment pas si complexes. Donc, ici
Nous allons adapter quelques GLM simples, puis dériver un moyen de choisir le « meilleur »
Un.
passez à la fin si vous voulez juste passer en revue les principes de base.
cependant, avant de pouvoir comprendre L’AIC, nous devons comprendre la
méthodologie statistique des probabilités.,
expliquer les probabilités
disons que vous avez des données qui sont normalement distribuées avec une moyenne de5
et une sd de3
:
set.seed(126)n <- 50 #sample sizea <- 5sdy <- 3y <- rnorm(n, mean = a, sd = sdy)hist(y)
maintenant, nous voulons estimer certains paramètres pour la population donty
a été
échantillonnée, comme sa dévaiation moyenne et standard (que nous savons ici
être 5 et 3, mais dans le monde réel, vous ne le saurez pas).
Nous allons utiliser des statistiques fréquentistes pour estimer ces paramètres.,
philosophiquement, cela signifie que nous croyons qu’il y a « une vraie valeur » pour
chaque paramètre, et les données que nous avons observées sont générées par cette vraie
valeur.
m1 <- glm(y ~ 1, family = "gaussian")sm1 <- summary(m1)
L’estimation de la moyenne est stocké ici coef(m1)
=4.38, l’estimation de
la variance ici sm1$dispersion
= 5.91, ou la SD sqrt(sm1$dispersion)
=2.43. Juste pour être tout à fait clair, nous avons également spécifié que nous croyons que les données
suivent une distribution normale (AKA « gaussienne”).,
Nous ajustons simplement un GLM demandant à R d’estimer un paramètre d’interception (~1
),
qui est simplement la moyenne dey
. Nous obtenons également une estimation de la SD
(=vari \ sqrt variance$) vous pourriez penser que c’est exagéré d’utiliser un GLM pour
estimer la moyenne et la SD, alors que nous pourrions simplement les calculer directement.
notez bien maintenant que R a également estimé d’autres quantités, comme la
déviance résiduelle et la statistique AIC.
Vous pouvez également être conscient que la déviance est une mesure de l’ajustement du modèle,
tout comme les sommes de carrés., Notez également que la valeur de l’AIC est
étrangement proche de la déviance. Malgré son nom étrange, les concepts
sous-jacents à la déviance sont assez simples.
Comme je l’ai dit plus haut, nous observons des données qui sont générées à partir d’une population avec une vraie moyenne et une vraie SD. Étant donné que nous savons
l’estimation de ces grandeurs qui définissent une distribution de probabilité, nous
peut également estimer la probabilité de mesurer une nouvelle valeur de y
qui
dire = 7.,
pour ce faire, il suffit de brancher les valeurs estimées dans l’équation pour
la distribution normale et de demander la probabilité relative de 7
. Nous le faisons avec la fonction Rdnorm
sdest <- sqrt(sm1$dispersion)dnorm(7, mean = coef(m1), sd = sdest)## 0.09196167
formellement, C’est la probabilité relative de la valeur 7 étant donné les valeurs
de la moyenne et de L’écart-type que nous avons estimées (=4,8 et 2,39
respectivement si vous utilisez même graine aléatoire que moi).,
vous pourriez vous demander pourquoi la probabilité est supérieure à 1, sûrement, comme il vient
d’une distribution de probabilité, il devrait être< 1. Eh bien, la distribution normale
est continue, ce qui signifie qu’elle décrit un ensemble infini de valeurs
possible y
, donc la probabilité d’une valeur donnée sera nulle.
La probabilité relative d’autre part, peut être utilisée pour calculer l’
probabilité d’un intervalle de
valeurs.,
vous pourriez donc réaliser que le calcul de la probabilité de toutes les données
serait un moyen judicieux de mesurer à quel point notre « modèle » (juste une moyenne et
SD ici) correspond aux données.
Voici ce que la probabilité ressemble:
plot(y, dnorm(y, mean = coef(m1), sd = sdest), ylab = "Likelihood")
C’est juste une distribution normale.
pour ce faire, réfléchissez à la façon dont vous calculeriez la probabilité d’événements
multiples (indépendants). Disons que la chance que je fais du vélo pour travailler sur
Un jour donné est de 3/5 et la chance qu’il pleut est de 161/365 (comme
Vancouver!,), alors la chance que je vais rouler sous la pluie est de 3/5 *
161/365 = environ 1/4, donc je porte mieux un manteau si je roule à Vancouver.
Nous pouvons faire la même chose pour les probabilités, il suffit de multiplier la probabilité de
chaque individuy
valeur et nous avons la probabilité totale. Ce sera
un très petit nombre, parce que nous multiplions beaucoup de petits nombres par chaque
d’autres., Une astuce que nous utilisons est donc de additionner le log des probabilités au lieu
de les multiplier:
y_lik <- dnorm(y, mean = coef(m1), sd = sdest, log = TRUE)sum(y_lik)## -114.8636
plus la probabilité de nos données est grande (moins négative) compte tenu des estimations du modèle
, plus le modèle correspond « mieux » aux données. La déviance est
calculée à partir de la vraisemblance et pour la déviance, des valeurs plus petites
indiquent un ajustement plus étroit du modèle aux données.
Les valeurs des paramètres qui nous donnent la plus petite valeur de la
-log-vraisemblance sont appelées les estimations du maximum de vraisemblance.,
comparer des hypothèses alternatives avec des probabilités
maintenant, disons que nous avons des mesures et deux covariables,x1
Etx2
, soit
dont nous pensons qu’elle pourrait affecter y:
a <- 5b <- 3n <- 100x1 <- rnorm(n)x2 <- rnorm(n)sdy <- 1y <- a + b*x1 + rnorm(n, sd = sdy)par(mfrow = c(1,2))plot(x1, y)plot(x2, y)
donc X1 est une cause de Y, mais x2 n’affecte pas y. comment choisirions-nous
quelle hypothèse est la plus probable?, Un moyen serait de comparer des modèles
avec différentes combinaisons de covariables:
m1 <- glm(y ~ x1)m2 <- glm(y ~ x2)m3 <- glm(y ~ x1 + x2)
Maintenant, nous sommes à côté d’une ligne de y, de sorte que notre estimation de la moyenne est maintenant l’
ligne de meilleur ajustement, il varie avec la valeur de x1. Pour visualiser ceci:
plot(x1, y)lines(x1, predict(m1))
Le predict(m1)
donne la ligne de meilleur ajustement, c’est à dire la valeur moyenne de y
etant donné que chaque x1 valeur., Nous utilisons ensuite prévoir pour obtenir les probabilités pour chaque
modèle:
La probabilité de m1
est plus grand que m2
, ce qui est logique, parce quem2
le « faux » covariable en elle. La probabilité pour m3
(qui contient
x1 et x2) est fractionnellement plus grande que la probabilité m1
,
devrions-nous donc juger ce modèle comme donnant une représentation presque aussi bonne
des données?,
parce que la probabilité n’est qu’un tout petit peu plus grande, l’ajout dex2
n’a expliqué qu’une infime partie de la variance dans les données. Mais où
tracez-vous la ligne entre inclure et exclure x2? Vous rencontrez un problème similaire si vous utilisez R ^ 2 pour la sélection du modèle.
alors, que se passe-t-il si nous pénalisons la probabilité par le nombre de paramètres que nous devons estimer pour s’adapter au modèle? Ensuite, si nous incluons plus de covariables
(et que nous estimons plus de paramètres de pente), seules celles qui représentent un
lot de la variation surmonteront la pénalité.,
ce que nous voulons une statistique qui nous aide à sélectionner le modèle le plus parcimonieux
.
L’AIC comme une mesure de parcimonie
Une façon pour nous pénaliser la probabilité par le nombre de paramètres est
pour ajouter un montant qui est proportionnel au nombre de paramètres.
tout d’abord, multiplions le log-vraisemblance par -2, de sorte qu’il soit positif
et que des valeurs plus petites indiquent un ajustement plus étroit.
LLm1 <- sum(dnorm(y, mean = predict(m1), sd = sqrt(sm1$dispersion), log = TRUE))-2*LLm1## 251.2428
Pourquoi sa -2 pas de -1, je ne me souviens pas, mais je pense que tout historique
raisons.,
ajoutez ensuite 2*k, où k est le nombre de paramètres estimés.
-2*LLm1 + 2*3## 257.2428
Par m1
il y a trois paramètres, l’un d’intercepter, d’une pente et un
l’écart-type. Maintenant, calculons L’AIC pour les trois modèles:
nous voyons que le modèle 1 A l’AIC le plus bas et a donc l’ajustement le plus parcimonieux. Le modèle 1 surpasse maintenant le modèle 3 qui avait une probabilité légèrement
plus élevée, mais en raison de la covariable supplémentaire, il a également une pénalité
plus élevée.,
AIC principes de base
Donc, pour résumer, les principes de base qui guident l’utilisation de l’AIC sont:
-
Inférieurs indique une plus modèle parcimonieux, par rapport à un modèle de l’ajustement
avec une hausse de l’AIC. -
c’est une mesure relative de la parcimonie du modèle, donc elle n’a de sens que si l’on compare L’AIC pour des hypothèses alternatives (= différents modèles
des données). -
Nous pouvons les comparer avec des modèles imbriqués. Par exemple, nous pourrions comparer un modèle linéaire à un modèle non linéaire.,
-
les comparaisons ne sont valables que pour les modèles qui correspondent aux mêmes données de réponse
(c’est-à-dire les valeurs de y). -
la sélection du modèle effectuée avec L’AIC choisira le même modèle que la
leave-one-out cross validation (où nous omettons un point de données
et ajustons le modèle, puis évaluons son ajustement à ce point) pour les grandes tailles d’échantillons. -
Vous ne devriez pas comparer plusieurs modèles avec l’AIC., Vous rencontrerez
les mêmes problèmes avec la comparaison de plusieurs modèles que vous le feriez avec des valeurs p, en ce sens que vous pourriez par hasard trouver un modèle avec l’AIC
Le plus bas, ce n’est pas vraiment le modèle le plus approprié. -
lorsque vous utilisez L’AIC, vous pouvez vous retrouver avec plusieurs modèles qui
fonctionnent de manière similaire les uns aux autres. Vous avez donc des preuves similaires
poids pour différentes hypothèses alternatives. Dans l’exemple ci-dessus, m3
est en fait à peu près aussi bon que m1. -
Vous devez corriger pour les petites tailles d’échantillon si vous utilisez l’AIC avec
de petites tailles d’échantillon, en utilisant la statistique AICc.,
en supposant qu’il pleuve toute la journée, ce qui est raisonnable pour Vancouver.
Laisser un commentaire