Můj student zeptal dnes, jak interpretovat AIC (Akaike ‚ s Information
Kritéria) statistika pro výběr modelu. Nakonec jsme rozbili nějaký kód R
, abychom ukázali, jak vypočítat AIC pro jednoduchý GLM (obecný
lineární model). Vždy si myslím, že pokud můžete pochopit odvození statistiky
, je mnohem snazší si vzpomenout, jak ji používat.,
Nyní pokud Google odvození AIC, budete pravděpodobně narazit na
hodně matematiky. Ale principy opravdu nejsou tak složité. Takže zde
se vejde několik jednoduchých GLMs, pak odvodit prostředky pro výběr ‚nejlepší‘
Jeden.
přeskočte na konec, pokud chcete pouze přejít na základní principy.
než však pochopíme AIC, musíme pochopit statistickou metodiku likelihoods.,
Vysvětlující pravděpodobností
Řekněme, že máte nějaká data, která jsou normálně rozděleny se střední hodnotou 5
sd 3
:
set.seed(126)n <- 50 #sample sizea <- 5sdy <- 3y <- rnorm(n, mean = a, sd = sdy)hist(y)
Nyní chceme odhadnout některé parametry populace, která y
vzorku z, stejně jako jeho průměr a směrodatná devaiation (což víme, že tady
5 a 3, ale v reálném světě nebudete vědět, že).
k odhadu těchto parametrů použijeme statistiky frequentist.,
filozoficky to znamená, že věříme, že pro každý parametr
existuje „jedna skutečná hodnota“ a data, která jsme pozorovali, jsou generována touto skutečnou hodnotou
.
m1 <- glm(y ~ 1, family = "gaussian")sm1 <- summary(m1)
odhad střední je uložen zde coef(m1)
=4.38, odhaduje
rozptyl sm1$dispersion
= 5.91, nebo SD sqrt(sm1$dispersion)
=2.43. Abychom byli zcela jasní, také jsme specifikovali, že věříme, že data
sledují normální distribuci (AKA „Gaussian“).,
jen Jsme vešly GLM žádat R pro odhad intercept parametr (~1
),
, což je prostě průměr y
. Dostaneme také odhad SD
(= $\sqrt rozptyl$) možná si myslíte, že jeho nadměrné použití GLM na
odhadnout průměr a SD, když jsme mohli jen vypočítat přímo.
nyní si všimněte, že R také odhadl některá další množství, jako je zbytková deviace
a statistika AIC.
můžete si také být vědomi toho, že odchylka je měřítkem modelu fit,
podobně jako součty čtverců., Všimněte si také, že hodnota AIC je podezřele blízká odchylce. Navzdory svému podivnému názvu jsou pojmy
, které jsou základem deviace, poměrně jednoduché.
Jak jsem řekl výše, sledujeme data, která jsou generovány z
populace se jeden skutečný a jeden, pravda, SD. Vzhledem víme,
odhady těchto veličin, které definují rozdělení pravděpodobnosti,
mohl také odhadnout pravděpodobnost měření nové hodnoty y
říkají, = 7.,
K tomu, jednoduše připojte odhadované hodnoty do rovnice pro
normální rozdělení, a požádat o relativní pravděpodobnost 7
. Jsme
s R funkce dnorm
sdest <- sqrt(sm1$dispersion)dnorm(7, mean = coef(m1), sd = sdest)## 0.09196167
Oficiálně, to je relativní pravděpodobnost hodnota 7 vzhledem k
hodnoty průměru a SD, které jsme odhadli (=4.8 a 2.39
respektive, pokud používáte stejné náhodné semínko jako mě).,
můžete se zeptat, proč je pravděpodobnost větší než 1, jistě, pokud jde o
z rozdělení pravděpodobnosti, mělo by to být <1. No, normální
rozdělení je kontinuální, což znamená, že popisuje infinte saday
hodnot, takže pravděpodobnost, že daná hodnota bude nula.
relativní pravděpodobnost na druhé straně může být použita pro výpočet
pravděpodobnosti rozsahu
hodnot.,
takže si možná uvědomíte, že výpočet pravděpodobnosti všech dat
by byl rozumný způsob, jak měřit, jak dobře se náš „model“ (jen střední a
SD zde) hodí k datům.
zde je pravděpodobnost, jak vypadá:
plot(y, dnorm(y, mean = coef(m1), sd = sdest), ylab = "Likelihood")
je to jen normální distribuce.
Chcete-li to provést, přemýšlejte o tom, jak byste vypočítali pravděpodobnost
Více (nezávislých) událostí. Říkají, že šance, že jezdit na kole do práce,
každý den je 3/5 a šance prší, je 161/365 (jako
Vancouver!,), pak je šance, že budu jezdit v dešti, 3/5 *
161/365 = asi 1/4, takže nejlépe nosím kabát, pokud jezdím ve Vancouveru.
můžeme udělat to samé pro pravděpodobností, jednoduše vynásobte pravděpodobnost
jednotlivé y
hodnoty a máme celkovou pravděpodobnost. To bude
velmi malé číslo,protože vynásobíme mnoho malých čísel každým
jiným., Takže jeden trik, který používáme, je součet log pravděpodobností místo
násobení je:
y_lik <- dnorm(y, mean = coef(m1), sd = sdest, log = TRUE)sum(y_lik)## -114.8636
větší (méně negativní) pravděpodobnost našich dat vzhledem k
model odhady, „lepší“ model odpovídá datům. Odchylka je
vypočtena z pravděpodobnosti a pro odchylku menší hodnoty
naznačují bližší přizpůsobení modelu datům.
hodnoty parametrů, které nám dávají nejmenší hodnotu
-log-pravděpodobnosti, se nazývají odhady maximální pravděpodobnosti.,
Srovnání alternativní hypotézy s pravděpodobností
Nyní, že máme měření a dvě proměnné, x1
x2
,
o které si myslíme, že by mohly mít vliv na 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)
x1 je příčinou y, ale x2 nemá vliv na y. Jak by jsme vybrat
, která hypotéza je nejpravděpodobnější?, No jeden způsob, jak by bylo porovnat modely
s různými kombinacemi proměnné:
m1 <- glm(y ~ x1)m2 <- glm(y ~ x2)m3 <- glm(y ~ x1 + x2)
Teď jsme montáž linky na y, takže náš odhad střední je nyní
nejlepší fit, to se liší s hodnotou x1. Představit je tento:
plot(x1, y)lines(x1, predict(m1))
predict(m1)
dává nejlepší fit, tj. střední hodnota y
vzhledem k tomu, každé x1 hodnotu., Pak používáme předpovědět, jak dostat pravděpodobností pro každý
model:
pravděpodobnost, Že m1
je větší než m2
, což dává smysl, protožem2
má „falešný“ veličinou. Pravděpodobnost m3
(který má
x1 a x2) je nepatrně větší, než pravděpodobnost, že m1
,
tak můžeme soudit, že model dává téměř stejně dobré zastoupení
data?,
protože pravděpodobnost je jen o něco větší, přidání x2
vysvětlilo pouze malé množství rozptylu v datech. Ale kde
nakreslíte hranici mezi zahrnutím a vyloučením x2? Pokud používáte R^2 Pro výběr modelu, narazíte na podobný problém
.
takže co když budeme trestat pravděpodobnost počtem paramaters musíme
odhadnout, aby se vešly model? Pokud tedy zahrneme více kovariátů
(a odhadujeme více parametrů svahu), pouze ty, které představují
hodně variace, překonají trest.,
to, co chceme statistiku, která nám pomáhá vybrat nejvíce parsimonious
model.
AIC jako míra šetrnosti
Jeden způsob, jak bychom mohli trestat pravděpodobnost, že počet parametrů je
přidat částku, která je úměrná počtu parametrů.
nejprve vynásobíme pravděpodobnost logu -2, takže je pozitivní
a menší hodnoty naznačují bližší přizpůsobení.
LLm1 <- sum(dnorm(y, mean = predict(m1), sd = sqrt(sm1$dispersion), log = TRUE))-2*LLm1## 251.2428
Proč její -2 ne -1, nemůžu si vzpomenout, ale myslím, že jen historické
důvodů.,
pak přidejte 2 * k, kde k je počet odhadovaných parametrů.
-2*LLm1 + 2*3## 257.2428
pro m1
existují tři parametry, jeden intercept, jeden sklon a jeden
standardní odchylka. Nyní, pojďme spočítat, AIC pro všechny tři modely:
vidíme, že model 1 má nejnižší AIC a proto má nejvíce
střídmá fit. Model 1 nyní překonává model 3, který měl mírně
vyšší pravděpodobnost, ale protože další veličinou má vyšší
trest příliš.,
AIC základní principy
Takže, abychom to shrnuli, základní principy, které průvodce použití AIC jsou:
-
Spodní označuje více šetrný model oproti modelu fit
s vyšší AIC. -
jedná se o relativní měřítko modelové parsimony, takže má význam pouze
, pokud porovnáme AIC pro alternativní hypotézy (= různé
Modely dat). -
můžeme porovnat vnořené modely. Mohli bychom například porovnat lineární
s nelineárním modelem., -
srovnání platí pouze pro modely, které jsou vhodné pro stejná data odezvy
(tj. hodnoty y). -
Model výběr proveden s AIC bude vybrat stejný model jako
leave-one-out cross validation (kde jsme vynechat jeden datový bod,
a fit modelu, pak hodnotit jeho uchycení k tomuto bodu) pro velké
velikost vzorku. -
neměli byste porovnávat příliš mnoho modelů s AIC., Bude probíhat
do stejné problémy s několika porovnávání modelů, jako byste
s p-hodnotami, které jste možná náhodou najít model s
nejnižší AIC, že není skutečně nejvhodnější model. -
při použití AIC můžete skončit s více modely, které
fungují podobně jako navzájem. Takže máte podobné důkazy
váhy pro různé alternativní hypotézy. V příkladu výše m3
je vlastně asi tak dobrý jako m1. -
měli byste opravit pro malé velikosti vzorku, pokud používáte AIC s
malé velikosti vzorku, pomocí statistiky AICc.,
za předpokladu, že prší celý den, což je rozumné pro Vancouver.
Napsat komentář