mój student zapytał dzisiaj, jak interpretować statystyki AIC (Akaike ' s Information
Criteria) do wyboru modelu. W końcu opracowaliśmy jakiś kod R
, aby zademonstrować, jak obliczyć AIC dla prostego modelu GLM (ogólnego
liniowego). Zawsze myślę, że jeśli potrafisz zrozumieć wyprowadzenie statystyki
, znacznie łatwiej jest zapamiętać, jak jej używać.,
teraz, jeśli wygooglujesz AIC, prawdopodobnie natkniesz się na
dużo matematyki. Ale zasady nie są tak złożone. Więc tutaj
zmieścimy kilka prostych GLM, a następnie wybierzemy „najlepszy”
.
przejdź do końca, jeśli chcesz przejrzeć podstawowe zasady.
Zanim jednak zrozumiemy AIC, musimy zrozumieć
metodologię statystyczną likelihoods.,
wyjaśniając prawdopodobieństwo
powiedz, że masz jakieś dane, które są normalnie dystrybuowane ze średnią 5
I sd 3
:
set.seed(126)n <- 50 #sample sizea <- 5sdy <- 3y <- rnorm(n, mean = a, sd = sdy)hist(y)
teraz chcemy oszacować niektóre parametry dla populacji, z której y
była pobierana
, jak jej średnia i standardowa dewaiacja (którą znamy tutaj
jako 5 I 3, ale w prawdziwym świecie nie będziesz tego wiedział).
do oszacowania tych parametrów użyjemy statystyk frequentist.,
filozoficznie oznacza to, że uważamy, że dla
każdego parametru istnieje „jedna prawdziwa wartość”, a dane, które zaobserwowaliśmy, są generowane przez tę prawdziwą wartość
.
m1 <- glm(y ~ 1, family = "gaussian")sm1 <- summary(m1)
oszacowanie średniej jest przechowywane tutaj coef(m1)
=4.38, oszacowana
wariancja tutajsm1$dispersion
= 5.91, lub SD sqrt(sm1$dispersion)
=2.43. Aby być całkowicie jasne, określiliśmy również, że wierzymy, że dane
podążają za normalnym (AKA „Gaussian”) rozkładem.,
Po prostu dopasowujemy GLM prosząc R O oszacowanie parametru przechwytywania (~1
),
który jest po prostu średnią y
. Otrzymujemy również oszacowanie SD
(= $\sqrt variance$) możesz pomyśleć, że jego przesada, aby użyć GLM do
oszacować średnią i SD, kiedy możemy po prostu obliczyć je bezpośrednio.
dobrze zauważ teraz, że R oszacował również inne ilości, takie jak
dewiacja resztkowa i statystyka AIC.
Możesz również mieć świadomość, że dewiacja jest miarą dopasowania modelu,
podobnie jak sumy kwadratów., Zauważ również, że wartość AIC jest
podejrzanie zbliżona do dewiacji. Pomimo dziwnej nazwy pojęcia
leżące u podstaw dewiacji są dość proste.
jak powiedziałem powyżej, obserwujemy dane, które są generowane z
populacji z jedną prawdziwą średnią i jedną prawdziwą SD. Biorąc pod uwagę, że mamy
szacunki tych wielkości, które definiują rozkład prawdopodobieństwa, możemy
również oszacować prawdopodobieństwo zmierzenia nowej wartości y
że
say = 7.,
aby to zrobić, wystarczy podłączyć szacunkowe wartości do równania dla
rozkładu normalnego i poprosić o względne prawdopodobieństwo7
.
robimy to za pomocą funkcji Rdnorm
sdest <- sqrt(sm1$dispersion)dnorm(7, mean = coef(m1), sd = sdest)## 0.09196167
formalnie, jest to względne prawdopodobieństwo wartości 7 biorąc pod uwagę
wartości średniej i SD, które oszacowaliśmy (=4.8 i 2.39
odpowiednio to samo przypadkowe ziarno co ja).,
można zapytać, dlaczego prawdopodobieństwo jest większe niż 1, z pewnością, ponieważ pochodzi
z rozkładu prawdopodobieństwa, powinno być < 1. Rozkład normalny
jest ciągły, co oznacza, że opisuje nieskończony zbiór
możliwychy
wartości, więc prawdopodobieństwo danej wartości będzie równe zero.
natomiast prawdopodobieństwo względne można wykorzystać do obliczenia prawdopodobieństwa
zakresu wartości
.,
więc możesz sobie uświadomić, że obliczanie prawdopodobieństwa wszystkich danych
byłoby rozsądnym sposobem na zmierzenie, jak dobrze nasz „model” (tylko średnia I
SD tutaj) pasuje do danych.
oto jak wygląda prawdopodobieństwo:
plot(y, dnorm(y, mean = coef(m1), sd = sdest), ylab = "Likelihood")
jest to po prostu rozkład normalny.
aby to zrobić, zastanów się, jak obliczysz prawdopodobieństwo
wielu (niezależnych) zdarzeń. Powiedzmy, że szansa, że jeżdżę rowerem do pracy na
każdego dnia to 3/5, a szansa, że pada to 161/365 (jak
Vancouver!,), wtedy szansa, że będę jeździć w deszczu to 3/5 *
161/365 = około 1/4, więc najlepiej nosić płaszcz, jeśli jeżdżę w Vancouver.
możemy zrobić to samo dla likelihoods, wystarczy pomnożyć prawdopodobieństwo
każdego osobnika y
I mamy całkowite prawdopodobieństwo. Będzie to
bardzo mała liczba, ponieważ mnożymy wiele małych liczb przez każdą
inną., Tak więc jedną z sztuczek, której używamy, jest zsumowanie logu prawdopodobieństwa, zamiast
ich pomnożenia:
y_lik <- dnorm(y, mean = coef(m1), sd = sdest, log = TRUE)sum(y_lik)## -114.8636
im większe (tym mniej negatywne) prawdopodobieństwo naszych danych biorąc pod uwagę szacunki modelu
, tym „lepszy” model pasuje do danych. Odchylenie jest
obliczane na podstawie prawdopodobieństwa, a dla odchylenia mniejsze wartości
wskazują na bliższe dopasowanie modelu do danych.
wartości parametrów, które dają nam najmniejszą wartość prawdopodobieństwa
-log-są określane jako maksymalne szacunki prawdopodobieństwa.,
porównując alternatywne hipotezy z prawdopodobieństwem
teraz powiedzmy, że mamy pomiary i dwie kowarianty, x1
I x2
, albo
, które naszym zdaniem mogą mieć wpływ 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)
więc X1 jest przyczyną y, ale x2 nie wpływa na y. jak wybrać
która hipoteza jest najbardziej prawdopodobna?, Cóż, jednym ze sposobów byłoby porównanie modeli
z różnymi kombinacjami kowariantnych:
m1 <- glm(y ~ x1)m2 <- glm(y ~ x2)m3 <- glm(y ~ x1 + x2)
teraz dopasowujemy linię do y, więc nasze oszacowanie średniej jest teraz
linia najlepszego dopasowania, różni się od wartości x1. Aby to wizualizować:
plot(x1, y)lines(x1, predict(m1))
predict(m1)
podaje linię najlepszego dopasowania, czyli średnią wartość y
podaną dla każdej wartości x1., Następnie używamy predict, aby uzyskać Prawdopodobieństwo dla każdego modelu
:
prawdopodobieństwo m1
jest większe niż m2
, co ma sens, ponieważm2
ma w sobie 'fałszywą' współzmienność. Prawdopodobieństwo dla m3
(które ma
zarówno X1, jak i X2) jest ułamkowo większe niż prawdopodobieństwo m1
,
więc powinniśmy ocenić ten model jako dający prawie tak dobrą reprezentację
danych?,
ponieważ prawdopodobieństwo jest tylko trochę większe, dodaniex2
wyjaśniło tylko niewielką ilość wariancji w danych. Ale gdzie
rysujesz granicę między włączaniem i wyłączaniem x2? Napotkasz
podobny problem, jeśli używasz R^2 do wyboru modelu.
no i co z tego, że pokaramy prawdopodobieństwo liczbą paramerów, które
musimy oszacować, aby pasowały do modelu? Następnie, jeśli uwzględnimy więcej kowariantnych
(i oszacujemy więcej parametrów nachylenia), tylko te, które stanowią
lot zmienności, pokonają karę.,
co chcemy statystyki, która pomoże nam wybrać najbardziej parsimonious
model.
AIC jako miara parsimony
jednym ze sposobów na ukaranie prawdopodobieństwa liczbą parametrów jest
dodanie do niego kwoty, która jest proporcjonalna do liczby parametrów.
najpierw pomnóżmy log-prawdopodobieństwo przez -2, tak aby było dodatnie
i mniejsze wartości wskazują na bliższe dopasowanie.
LLm1 <- sum(dnorm(y, mean = predict(m1), sd = sqrt(sm1$dispersion), log = TRUE))-2*LLm1## 251.2428
dlaczego jego -2 nie -1, nie pamiętam do końca, ale myślę, że tylko historyczne
powody.,
następnie dodaj 2 * k, gdzie k jest liczbą szacowanych parametrów.
-2*LLm1 + 2*3## 257.2428
Dlam1
istnieją trzy parametry, jeden przechył, jeden nachylenie i jeden
odchylenie standardowe. Teraz obliczmy AIC dla wszystkich trzech modeli:
widzimy, że model 1 ma najniższy AIC i dlatego ma najbardziej
parsimonious fit. Model 1 przewyższa teraz model 3, który miał nieco
większe prawdopodobieństwo, ale ze względu na dodatkową współzmienność ma również wyższą
karę.,
podstawowe zasady AIC
podsumowując, podstawowe zasady, które kierują użyciem AIC to:
-
niższy oznacza model bardziej parsymoniczny, w stosunku do modelu pasującego
z wyższym AIC. -
jest to względna miara parsymonii modelu, więc ma znaczenie tylko wtedy, gdy porównamy AIC dla alternatywnych hipotez (=różne
modele danych). -
możemy porównywać modele nie zagnieżdżone. Na przykład, możemy porównać
liniowy do nieliniowego modelu., -
porównania są ważne tylko dla modeli, które pasują do tych samych danych odpowiedzi
(tj. wartości y). -
wybór modelu przeprowadzony za pomocą AIC wybierze ten sam model Co
Walidacja krzyżowa leave-one-out (gdzie pomijamy jeden punkt danych
i dopasowujemy model, a następnie oceniamy jego dopasowanie do tego punktu) dla dużych rozmiarów próbek
. -
nie powinieneś porównywać zbyt wielu modeli z AIC., Uruchomisz
te same problemy z porównaniem wielu modeli, Co
z wartościami p, w tym, że możesz przypadkowo znaleźć model z
NAJNIŻSZYM AIC, który nie jest naprawdę najbardziej odpowiedni. -
podczas korzystania z AIC możesz skończyć z wieloma modelami, które
działają podobnie do siebie. Więc masz podobne dowody
dla różnych hipotez alternatywnych. W powyższym przykładzie m3
jest tak samo dobre jak m1. -
Jeśli używasz AIC z
małymi rozmiarami próbek, należy skorygować statystyki AICc.,
zakładając, że pada cały dzień, co jest rozsądne dla Vancouver.
Dodaj komentarz