a diákom ma megkérdezte, hogyan kell értelmezni az AIC (Akaike információja
kritériumok) statisztikát a modellválasztáshoz. Mi végül dagasztás ki néhány R
kódot bizonyítani, hogyan kell kiszámítani az AIC egy egyszerű GLM (általános
lineáris modell). Mindig azt gondolom, hogy ha megérted a
statisztika származtatását, sokkal könnyebb emlékezni arra, hogyan kell használni.,
most, ha a Google származtatott az AIC, akkor valószínű, hogy befut egy
sok matematikai. De az elvek valóban nem olyan összetettek. Tehát itt
illesztünk néhány egyszerű GLM-t, majd egy eszközt hozunk létre a “legjobb”
egy kiválasztásához.
ugorjon a végére, ha csak át akarja venni az alapelveket.
mielőtt megértenénk az AIC-t, meg kell értenünk a likelihoods
statisztikai módszertanát.,
magyarázza likelihoods
azt mondják, hogy van néhány adat, hogy általában elosztott átlagos 5
és sd 3
:
set.seed(126)n <- 50 #sample sizea <- 5sdy <- 3y <- rnorm(n, mean = a, sd = sdy)hist(y)
most szeretnénk megbecsülni néhány paramétert a lakosság számára, hogy y
mintavételezett volt, mint az átlagos és standard eltérés (amit itt ismerünk
5 és 3, de a való világban ezt nem fogod tudni).
ezeket a paramétereket frekventista statisztikákkal fogjuk megbecsülni.,
filozófiailag ez azt jelenti, hogy hisszük, hogy minden paraméternek “egy valódi értéke” van, az általunk megfigyelt adatokat pedig ez a valódi
érték generálja.
m1 <- glm(y ~ 1, family = "gaussian")sm1 <- summary(m1)
az átlag becslését itt tároljákcoef(m1)
=4.38, a becsült
variance ittsm1$dispersion
= 5.91, vagy az SDsqrt(sm1$dispersion)
=2.43. Csak hogy teljesen világos legyen, azt is meghatároztuk, hogy hisszük, hogy a
Adatok normális (más néven “Gaussian”) eloszlást követnek.,
mi csak illik egy GLM kérve R becsülni egy intercept paraméter (~1
),
ami egyszerűen az átlagos y
. Mi is kap ki egy becslést az SD
(= $\sqrt variancia$) lehet, hogy úgy gondolja, hogy a túlzás, hogy egy GLM
becsülni az átlagos SD, ha tudnánk csak kiszámítani őket közvetlenül.
jól észre most, hogy R is becsült néhány más mennyiségben, mint a
maradék deviancia és az AIC statisztika.
lehet, hogy tisztában van azzal is, hogy a deviancia a modell illeszkedésének mértéke,
hasonlóan a négyzetek összegeihez., Vegye figyelembe azt is, hogy az AIC értéke
gyanúsan közel van a devianciához. Furcsa neve ellenére a deviancia alapjául szolgáló
fogalmak meglehetősen egyszerűek.
ahogy fentebb említettem, olyan adatokat figyelünk meg, amelyek egy
populációból származnak, egy valódi átlaggal és egy valódi SD-vel. Mivel tudjuk, hogy ezeknek a mennyiségeknek
becslései vannak, amelyek meghatározzák a valószínűségi eloszlást,mi
meg tudjuk becsülni a y
that
say = 7 új értékének mérési valószínűségét is.,
ehhez egyszerűen bedugjuk a becsült értékeket a
normál eloszlás egyenletébe, és a 7
relatív valószínűségét kérjük. Mi
ezt a dnorm
formálisan ez a 7 érték relatív valószínűsége, tekintettel az általunk becsült átlagos és SD értékre (=4,8, illetve 2,39
Ha a ugyanaz a véletlenszerű mag, mint én).,
felteheti a kérdést, hogy miért nagyobb a valószínűsége, mint 1, biztosan, mivel a
valószínűségi eloszlásból származik, <1. Nos, a normál
Eloszlás folyamatos, ami azt jelenti, hogy a
lehetséges y
értékeket írja le, így az adott érték valószínűsége nulla lesz.
a relatív valószínűség viszont a
értékek tartományának
valószínűségének kiszámításához használható.,
tehát rájöhetsz, hogy az összes adat valószínűségének kiszámítása
ésszerű módszer lenne annak mérésére, hogy a “modellünk” (csak egy átlagos és
SD itt) mennyire illeszkedik az adatokhoz.
így néz ki a valószínűség:
plot(y, dnorm(y, mean = coef(m1), sd = sdest), ylab = "Likelihood")
Ez csak egy normális eloszlás.
ehhez gondoljon arra, hogyan számolja ki a
több (független) esemény valószínűségét. Mondd, hogy az esély, hogy biciklizek dolgozni
bármely adott nap 3/5 és az esélye, hogy esik az 161/365 (mint
Vancouver!,), akkor az esőben való utazás esélye 3/5 *
161/365 = körülbelül 1/4 , tehát a legjobb kabátot viselni, ha Vancouverben lovagolok.
ugyanezt tehetjük a likelihoods esetében is, egyszerűen szorozzuk meg a
minden egyes y
érték valószínűségét, és megvan a teljes valószínűség. Ez lesz
egy nagyon kis szám, mert sok kis számot szaporítunk minden
másikkal., Tehát az egyik trükk, amit használunk, az, hogy összegezzük a likelihoods naplóját, ahelyett, hogy
megszorozzuk őket:
y_lik <- dnorm(y, mean = coef(m1), sd = sdest, log = TRUE)sum(y_lik)## -114.8636
minél nagyobb (annál kevésbé negatív) az adataink valószínűsége a
modell becslései alapján, annál “jobb” a modell megfelel az adatoknak. A deviancia
a valószínűség alapján számítva, a deviancia esetében pedig a kisebb értékek
jelzik a modell közelebbi illeszkedését az adatokhoz.
azok a paraméterértékek, amelyek a
-log-valószínűség legkisebb értékét adják nekünk, a maximális valószínűségi becsléseknek nevezzük.,
összehasonlítása alternatív hipotézisek likelihoods
most azt mondják, hogy van mérések és két kovariáns, x1
és x2
, vagy
amelyek úgy gondoljuk, hatással lehet 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)
tehát az X1 y oka, de az X2 nem befolyásolja y. hogyan választanánk a
melyik hipotézis valószínűleg?, Nos, az egyik módja a
modellek összehasonlítása a kovariánsok különböző kombinációival:
m1 <- glm(y ~ x1)m2 <- glm(y ~ x2)m3 <- glm(y ~ x1 + x2)
most egy sort illesztünk y-hoz, tehát az átlag becslése most a legjobb illeszkedés
vonala, az x1 értékétől függ. Ennek megjelenítéséhez:
plot(x1, y)lines(x1, predict(m1))
a predict(m1)
megadja a legjobban illeszkedő Sort, azaz az y
átlagértékét, minden x1-et megadva érték., Ezután megjósolni, hogy a likelihoods minden
modell:
A valószínűsége, hogy a m1
nagyobb mint m2
, ami érthető is, mertm2
a ‘hamis’ covariate benne. A m3
valószínűsége (amelyben
mind x1, mind x2 van) frakcionálisan nagyobb, mint a valószínűsége m1
,
tehát úgy kell megítélnünk, hogy ez a modell majdnem ugyanolyan jó képet ad az adatokról
?,
mivel a valószínűség csak egy kicsit nagyobb, a x2
hozzáadása csak az adatok szórásának apró mennyiségét magyarázta. De hol
húzza meg a vonalat az x2 kivételével? Ha r^2-t használ a modellválasztáshoz, akkor egy
hasonló probléma merül fel.
Tehát mi van, ha megbüntetjük a valószínűséget a paraméterezők számával, amit
meg kell becsülnünk a modellhez való illeszkedéshez? Akkor, ha több kovariáns
(és több meredekségi paramétert becsülünk), akkor csak azok, amelyek a variáció
tételét teszik ki, felülkerekednek a büntetésen.,
mit akarunk egy statisztika, amely segít kiválasztani a leginkább parsimonious
modell.
az AIC, mint a parsimony mértéke
az egyik módja annak, hogy a paraméterek számával megbüntessük a valószínűséget, a
, hogy hozzáadjunk egy olyan összeget, amely arányos a paraméterek számával.
először szorozzuk meg a log-valószínűséget -2-vel, hogy pozitív legyen
, a kisebb értékek pedig szorosabb illeszkedést jeleznek.
LLm1 <- sum(dnorm(y, mean = predict(m1), sd = sqrt(sm1$dispersion), log = TRUE))-2*LLm1## 251.2428
miért a -2 nem -1, nem emlékszem, de azt hiszem, csak történelmi
okok.,
Ezután adjunk hozzá 2*k-t, ahol k a becsült paraméterek száma.
-2*LLm1 + 2*3## 257.2428
mertm1
három paraméter van, egy elfogás, egy lejtés és egy
szórás. Most számítsuk ki az AIC-t mindhárom modell esetében:
látjuk, hogy az 1.modell a legalacsonyabb AIC-vel rendelkezik, ezért a leginkább
parsimonious illeszkedik. Az 1. modell most felülmúlja a 3. modellt, amelynek kissé
nagyobb valószínűsége volt, de az extra kovariáns miatt magasabb
büntetés is van.,
AIC alapelvek
összefoglalva, az AIC használatát irányító alapelvek a következők:
-
alacsonyabb egy parsimonious modellt jelez, a
egy magasabb AIC-vel rendelkező modellhez képest. -
Ez a parsimony modell relatív mértéke, tehát csak
jelentése van, ha összehasonlítjuk az AIC-t alternatív hipotézisekhez (= az adatok különböző
modelljei). -
összehasonlíthatjuk a nem beágyazott modelleket. Például összehasonlíthatunk egy
linear-T egy nemlineáris modellel., -
az összehasonlítások csak azokra a modellekre érvényesek, amelyek ugyanarra a válaszra illeszkednek
adatok (azaz y értékek). -
a Modell kiválasztása végzett az AIC választja, ugyanaz a modell, mint a
leave-one-out cross validation (ahol indulunk ki egy adatot
de illik a modell, majd értékelni, az illik, hogy pont), nagy
a minta mérete. -
nem szabad túl sok modellt összehasonlítani az AIC-vel., A
– t ugyanazokba a problémákba fogja futtatni, mint a
-t a p-értékekkel, abban az esetben, ha véletlenül talál egy modellt a
legalacsonyabb AIC-vel, ez nem igazán a legmegfelelőbb modell. -
az AIC használatakor előfordulhat, hogy több olyan modell lesz, amelyek a
egymáshoz hasonlóan működnek. Tehát van hasonló bizonyíték
súlyok különböző alternatív hipotézisek. A fenti példában m3
valójában körülbelül olyan jó, mint az m1. -
az AIC-statisztika segítségével javítania kell a kis mintaméreteket, ha az AIC-t
Kis mintaméretekkel használja.,
feltételezve, hogy egész nap esik, ami Vancouver számára ésszerű.
Vélemény, hozzászólás?