Jak poznáme, že je model dobrý?

Podkladové čtenářské materiály k přednášce

Publikováno

30. září 2026

Upraveno

19. října 2026

QuestionHlavní otázka

Jaké důkazy potřebujeme, abychom mohli obhájit, že model je pro naši biologickou otázku dobrý?

1 Co už s daty umíme udělat?

Při analýze dat už umíme propojit několik kroků: data prohlédnout, zobrazit, položit biologickou otázku, odhadnout model, interpretovat jeho výstup a zkontrolovat jeho předpoklady.

QuestionSestavte pracovní postup

V jakém pořadí byste použili kroky prohlédnout data, zobrazit vztah, formulovat model, interpretovat výstup a zkontrolovat residuaRozdíl mezi pozorovanou hodnotou odezvy a hodnotou predikovanou modelem: eᵢ = yᵢ − ŷᵢ.? Než budete pokračovat, sestavte si vlastní pořadí.

Jedna obhajitelná cesta je položit biologickou otázku, prohlédnout a zobrazit data, formulovat model, interpretovat jeho výstup a zkontrolovat residua. Jednotlivé kroky se mohou opakovat: diagnostikaSoubor grafických a numerických kontrol ověřujících, zda jsou splněny předpoklady modelu: linearita, normalita reziduí, homoskedasticita, absence vlivných bodů. nás například může vrátit k biologické otázce nebo k formulaci modelu. V této lekci známý postup použijeme na nový soubor dat a rozšíříme jej o porovnání několika modelůPostup výběru nejlepšího modelu z množiny kandidátů pomocí kritérií jako AIC nebo likelihood ratio test..

2 Výsledky učení

Po prostudování této lekce budete schopni:

3 Jeden řádek tabulky představuje jeden strom

Budeme pracovat s měřením tří druhů severoamerických jehličnanů. Každý řádek dat představuje jeden strom. Pro tuto lekci využijeme druh stromu, průměr kmene měřený ve výšce 1,3 m a výšku stromu. V minulé lekci výška stromu pomáhala odhadnout objem dřeva u jiných stromů; tady jde o jiné stromy a výška je naopak odezvouProměnná, jejíž variabilitu se snažíme vysvětlit nebo předpovědět; v notaci modelu y ~ x je odezva y., kterou chceme popsat.

Soubor allometrie_stromu.csv je součástí materiálů lekce. Pro následující kód jej uložte do složky data ve svém projektu v R.

# Načteme výukovou tabulku stromů
data_stromy <-
  read.csv(file = "data/allometrie_stromu.csv")

# Druh stromu převedeme na kategoriální proměnnou
data_stromy$druh_stromu <-
  factor(x = data_stromy$druh_stromu)

Tabulka obsahuje 63 stromů a 3 druhy. Než začneme modelovat, zkontrolujeme několik řádků, strukturu proměnnýchVlastnost zaznamenaná u pozorování, která může mezi pozorováními nabývat různých hodnot, například druh, délka nebo počet., chybějící hodnoty a zastoupení druhů.

# Prohlédneme první řádky proměnných použitých v modelu
head(
  x = data_stromy[
    ,
    c(
      "druh_stromu",
      "prumer_kmene_cm",
      "vyska_stromu_m"
    )
  ],
  n = 6
)
            druh_stromu prumer_kmene_cm vyska_stromu_m
1 Pseudotsuga menziesii           54.61          27.04
2 Pseudotsuga menziesii           34.80          27.42
3 Pseudotsuga menziesii           24.89          21.23
4 Pseudotsuga menziesii           28.70          24.96
5 Pseudotsuga menziesii           34.80          29.99
6 Pseudotsuga menziesii           37.85          28.07
# Ověříme datové typy a počet chybějících hodnot
str(object = data_stromy)
'data.frame':   63 obs. of  5 variables:
 $ druh_stromu      : Factor w/ 3 levels "Pinus monticola",..: 3 3 3 3 3 3 3 3 3 3 ...
 $ prumer_kmene_cm  : num  54.6 34.8 24.9 28.7 34.8 ...
 $ vyska_stromu_m   : num  27 27.4 21.2 25 30 ...
 $ plocha_listu_m2  : num  338.49 122.16 3.96 86.35 63.35 ...
 $ hmotnost_vetvi_kg: num  410.25 83.65 3.51 73.13 62.39 ...
colSums(x = is.na(data_stromy))
      druh_stromu   prumer_kmene_cm    vyska_stromu_m   plocha_listu_m2 
                0                 0                 0                 0 
hmotnost_vetvi_kg 
                0 
# Zkontrolujeme počet stromů jednotlivých druhů
table(
  data_stromy$druh_stromu,
  useNA = "ifany"
)

      Pinus monticola       Pinus ponderosa Pseudotsuga menziesii 
                   19                    22                    22 
# Zkontrolujeme rozsahy průměru a výšky
range(
  x = data_stromy$prumer_kmene_cm,
  na.rm = TRUE
)
[1]  4.83 73.66
range(
  x = data_stromy$vyska_stromu_m,
  na.rm = TRUE
)
[1]  3.57 44.99
# Porovnáme rozsahy průměru kmene mezi druhy
tapply(
  X = data_stromy$prumer_kmene_cm,
  INDEX = data_stromy$druh_stromu,
  FUN = range,
  na.rm = TRUE
)
$`Pinus monticola`
[1]  6.48 73.66

$`Pinus ponderosa`
[1]  4.83 70.61

$`Pseudotsuga menziesii`
[1]  5.33 69.85

Průměry kmenů sahají od 4,8 do 73,7 cm a výšky od 3,6 do 45,0 m. Rozsahy průměru kmene jednotlivých druhů se překrývají, takže druhy můžeme porovnávat alespoň v části společného rozsahu. Hodnoty jsou pro měřené stromy věrohodné; nevidíme záporné hodnoty ani zjevnou chybu jednotek.

Data pocházejí z objektu allometry v balíčku lgrdata, verze 0.1.1. Měření jsou připisována Johnu Marshallovi z University of Idaho a byla zveřejněna pod licencí CC0. Pokud je tato verze balíčku lgrdata nainstalovaná, původní tabulku lze načíst přímo z něj; není třeba stahovat ani rozbalovat archiv. Následující kód ověří verzi balíčku, načte původní tabulku, přejmenuje proměnné a uloží soubor použitý v této lekci.

# Ověříme verzi zdrojového balíčku
stopifnot(
  as.character(
    x = packageVersion(pkg = "lgrdata")
  ) == "0.1.1"
)

# Načteme původní objekt z balíčku
data(
  list = "allometry",
  package = "lgrdata"
)

data_allometry_source <- allometry

# Přeložíme zkratky druhů a vybereme výukové proměnné
vec_nazvy_druhu <-
  c(
    "PIMO" = "Pinus monticola",
    "PIPO" = "Pinus ponderosa",
    "PSME" = "Pseudotsuga menziesii"
  )

data_allometry_teaching <-
  data.frame(
    druh_stromu = unname(
      obj = vec_nazvy_druhu[
        as.character(x = data_allometry_source$species)
      ]
    ),
    prumer_kmene_cm = data_allometry_source$diameter,
    vyska_stromu_m = data_allometry_source$height,
    plocha_listu_m2 = data_allometry_source$leafarea,
    hmotnost_vetvi_kg = data_allometry_source$branchmass
  )

# Ověříme počet řádků a chybějící hodnoty
stopifnot(
  nrow(data_allometry_teaching) ==
    nrow(data_allometry_source),
  !anyNA(data_allometry_teaching)
)

# Uložíme stejnou tabulku, jakou načítá tato lekce
write.csv(
  x = data_allometry_teaching,
  file = "data/allometrie_stromu.csv",
  row.names = FALSE,
  fileEncoding = "UTF-8"
)

4 Jak se výška mění s průměrem kmene?

Vztah dvou numerických proměnnýchProměnná, jejíž hodnoty jsou čísla se smysluplnou velikostí nebo rozdílem; může být diskrétní, například počet, nebo spojitá, například délka. zobrazíme pomocí bodového grafu (anglicky scatter plot)Graf vztahu dvou numerických proměnných, v němž každý bod představuje jedno pozorování a jeho dvě hodnoty určují polohu na osách.. Druh stromu rozlišuje barva i tvar bodu, ale každý bod stále představuje jeden konkrétní strom.

# Barvy a tvary druhů budeme používat stejně ve všech grafech
vec_barvy_druhu <-
  c(
    "Pinus monticola" = "#4E9A8A",
    "Pinus ponderosa" = "#C2613A",
    "Pseudotsuga menziesii" = "#2E6CA4"
  )

vec_symboly_druhu <-
  c(
    "Pinus monticola" = 16,
    "Pinus ponderosa" = 17,
    "Pseudotsuga menziesii" = 15
  )

# Zobrazíme vztah průměru kmene a výšky stromu
plot(
  x = data_stromy$prumer_kmene_cm,
  y = data_stromy$vyska_stromu_m,
  col = vec_barvy_druhu[as.character(data_stromy$druh_stromu)],
  pch = vec_symboly_druhu[as.character(data_stromy$druh_stromu)],
  cex = 1.2,
  cex.axis = 1.2,
  cex.lab = 1.2,
  xlab = "Průměr kmene ve výšce 1,3 m (cm)",
  ylab = "Výška stromu (m)"
)

legend(
  x = "bottomright",
  legend = names(vec_barvy_druhu),
  col = vec_barvy_druhu,
  pch = vec_symboly_druhu,
  text.font = 3,
  bty = "n"
)

Bodový graf výšky stromu proti průměru kmene u jehličnanů tří druhů. Výška s průměrem kmene roste; body druhu Pinus monticola leží v části grafu výše než body ostatních druhů.

Výška stromu v závislosti na průměru kmene. Barva a tvar bodu rozlišují druhy stromů.
QuestionCo vidíte v datech?

Popište nejsilnější společný vzorec a jednu vlastnost grafu, kvůli které by jediná přímka nemusela stačit.

Výška se s rostoucím průměrem kmene většinou zvětšuje. Barvy druhů však v některých částech grafu leží v odlišných výškových pásmech, takže jedna společná přímka může přehlížet rozdíly mezi druhy.

5 Jak vztah popíšeme jedním lineárním modelemStatistický model předpokládající, že odezva je lineární funkcí prediktorů plus chybový člen s normálním rozdělením (y = a + b·x + ε).?

Jako první pokus použijeme lineární model, který výšku všech stromů popíše jednou společnou přímkou. OdezvouProměnná, jejíž variabilitu se snažíme vysvětlit nebo předpovědět; v notaci modelu y ~ x je odezva y. je výška stromu a prediktoremProměnná, pomocí níž vysvětlujeme variabilitu odezvy; v notaci y ~ x je prediktor x. je průměr kmene.

# Odhadneme jednu společnou přímku pro všechny stromy
mod_spolecny <-
  lm(
    formula = vyska_stromu_m ~ prumer_kmene_cm,
    data = data_stromy
  )

# Přidáme odhadnutou přímku do grafu
plot(
  x = data_stromy$prumer_kmene_cm,
  y = data_stromy$vyska_stromu_m,
  col = vec_barvy_druhu[as.character(data_stromy$druh_stromu)],
  pch = vec_symboly_druhu[as.character(data_stromy$druh_stromu)],
  cex = 1.2,
  cex.axis = 1.2,
  cex.lab = 1.2,
  xlab = "Průměr kmene ve výšce 1,3 m (cm)",
  ylab = "Výška stromu (m)"
)

abline(
  reg = mod_spolecny,
  col = "#5D2890",
  lwd = 3
)

Stejný bodový graf výšky proti průměru kmene s jednou fialovou přímkou společného modelu pro všechny tři druhy.

Tento model záměrně ignoruje druh stromu a popisuje všechny stromy jedinou přímkou.

6 Co už umíme přečíst ze summary()?

Výstup summary() obsahuje části, se kterými už umíme pracovat, i dva dosud nevysvětlené řádky. Prohlédněte si celý výpis a zkuste je rozlišit.

# Zobrazíme úplný souhrn odhadnutého modelu
summary(object = mod_spolecny)

Call:
lm(formula = vyska_stromu_m ~ prumer_kmene_cm, data = data_stromy)

Residuals:
     Min       1Q   Median       3Q      Max 
-12.4226  -5.3191   0.7425   4.6637  10.5197 

Coefficients:
                Estimate Std. Error t value Pr(>|t|)    
(Intercept)      7.59674    1.47310   5.157 2.88e-06 ***
prumer_kmene_cm  0.51791    0.03647  14.201  < 2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 5.548 on 61 degrees of freedom
Multiple R-squared:  0.7678,    Adjusted R-squared:  0.764 
F-statistic: 201.7 on 1 and 61 DF,  p-value: < 2.2e-16
QuestionZnámé a nové části výstupu

Které části výstupu už dokážete interpretovat? Které dva řádky zatím představují nové otázky?

Už umíme číst volání modelu, souhrn residuíRozdíl mezi pozorovanou hodnotou odezvy a hodnotou predikovanou modelem: eᵢ = yᵢ − ŷᵢ. a tabulku koeficientůČíselné hodnoty odhadnuté z dat definující tvar modelu; v lineárním modelu jsou to intercept a sklon(y). s jejich nejistotouRozsah, v němž nevíme přesnou hodnotu parametru kvůli omezenému a variabilnímu vzorku; kvantifikuje se pomocí intervalů spolehlivosti nebo směrodatných chyb.. Novými otázkami zůstává význam řádků Multiple R-squared a Adjusted R-squared.

7 Co model přehlíží?

Z předchozích lekcí už známe residuaRozdíl mezi pozorovanou hodnotou odezvy a hodnotou predikovanou modelem: eᵢ = yᵢ − ŷᵢ.: rozdíly mezi pozorovanými a modelem odhadnutými hodnotamiHodnota odezvy, kterou fitovaný model přiřadí pozorování na základě jeho hodnot prediktorů; značí se často ŷ.. Vhodný model by v nich neměl zanechávat snadno rozpoznatelný systematický vzorec. Zde se proto neptáme, co residuum znamená, ale zda společná přímka přehlíží rozdíl mezi druhy.

# Zobrazíme residua a zachováme barvy a tvary druhů
plot(
  x = fitted(object = mod_spolecny),
  y = residuals(object = mod_spolecny),
  col = vec_barvy_druhu[as.character(data_stromy$druh_stromu)],
  pch = vec_symboly_druhu[as.character(data_stromy$druh_stromu)],
  cex = 1.2,
  cex.axis = 1.2,
  cex.lab = 1.2,
  xlab = "Odhadnutá výška stromu (m)",
  ylab = "Residuum (m)"
)

abline(
  h = 0,
  col = "#2E2E2E",
  lty = 2
)

Residua společného modelu proti odhadnuté výšce. Body druhu Pinus monticola leží převážně nad přerušovanou nulovou čarou.

Residua společného modelu podle odhadnuté výšky. Barva a tvar bodu rozlišují druh stromu.
# Porovnáme residua s očekáváním normálního rozdělení
qqnorm(
  y = residuals(object = mod_spolecny),
  pch = 19,
  cex.axis = 1.2,
  cex.lab = 1.2,
  main = "Q–Q graf residuí",
  xlab = "Teoretické kvantily",
  ylab = "Kvantily residuí (m)"
)

qqline(
  y = residuals(object = mod_spolecny),
  col = "#2E2E2E",
  lwd = 2
)

Q–Q graf residuí společného modelu: body leží v prostřední části blízko přímky, na obou koncích se od ní odchylují.

Q–Q graf residuí společného modelu.
QuestionDetektivní práce s residui

Zůstává v residuích společného modelu rozdíl mezi druhy? Co by takový vzorec znamenal pro jednu společnou přímku?

Residua druhu Pinus monticola leží převážně nad nulou; jejich průměr je +2,7 m. Společná přímka tedy výšku tohoto druhu soustavně podhodnocuje a výšku ostatních dvou druhů spíše nadhodnocuje (průměrná residua −0,9 a −1,4 m). Takový vzorec v residuích ukazuje, že model přehlíží rozdíl mezi druhy.

8 Je jeden model jedinou rozumnou možností?

Společná přímka odpovídá jedné biologické představě: stejně silné stromy mají podle modelu stejnou odhadnutou výškuHodnota odezvy, kterou fitovaný model přiřadí pozorování na základě jeho hodnot prediktorů; značí se často ŷ. bez ohledu na druh. Pozorovaný graf a residuaRozdíl mezi pozorovanou hodnotou odezvy a hodnotou predikovanou modelem: eᵢ = yᵢ − ŷᵢ. ale připouštějí také rovnoběžné přímky jednotlivých druhů nebo přímky s rozdílnými sklonyParametr lineárního modelu udávající, o kolik se změní odezva, pokud prediktor vzroste o jednu jednotku (při zachování ostatních prediktorů)..

9 Tři modely vyjadřují tři biologické představy

Každý kandidátní model vyjadřuje jinou představu o vztahu průměru kmene, druhu stromu a jeho výšky.

Kandidát Vzorec v R Biologická představa
Společná přímka vyska_stromu_m ~ prumer_kmene_cm Všechny druhy sdílejí stejný interceptParametr modelu: hodnota odezvy predikovaná modelem, když jsou všechny prediktory rovno nule; geometricky jde o úsek na ose y (kde regresní přímka protíná osu y). i sklonParametr lineárního modelu udávající, o kolik se změní odezva, pokud prediktor vzroste o jednu jednotku (při zachování ostatních prediktorů)..
Posun mezi druhy vyska_stromu_m ~ prumer_kmene_cm + druh_stromu Druhy mohou mít odlišnou výšku při stejném průměru, ale sdílejí sklon.
Různé sklony vyska_stromu_m ~ prumer_kmene_cm * druh_stromu Vztah mezi průměrem a výškou se může mezi druhy lišit.
# Model 1: jedna společná přímka
mod_spolecny <-
  lm(
    formula = vyska_stromu_m ~ prumer_kmene_cm,
    data = data_stromy
  )

# Model 2: rovnoběžné přímky druhů
mod_aditivni <-
  lm(
    formula = vyska_stromu_m ~
      prumer_kmene_cm +
      druh_stromu,
    data = data_stromy
  )

# Model 3: druhově specifické sklony
mod_interakce <-
  lm(
    formula = vyska_stromu_m ~
      prumer_kmene_cm *
      druh_stromu,
    data = data_stromy
  )

10 Který model prochází nejblíže pozorovaným stromům?

Tři panely se stejnými stromy: vlevo jedna fialová společná přímka, uprostřed tři rovnoběžné přímky druhů, vpravo tři přímky druhů s různými sklony.

Stejná pozorování a tři kandidátní modely. Panely se liší pouze strukturou odhadnutých přímek.
QuestionPorovnejte vzdálenosti bodů od přímek

Ve kterém panelu zůstávají mezi pozorovanými body a odhadnutými přímkami nejkratší svislé vzdálenosti?

Podle obrázku procházejí pozorovaným bodům nejblíže přímky v panelu Různé sklony. Rozdíly mezi body a přímkami však chceme vyjádřit číslem, ne pouze odhadovat okem.

11 Jak poznáme, který model je lepší?

Při porovnání modelůPostup výběru nejlepšího modelu z množiny kandidátů pomocí kritérií jako AIC nebo likelihood ratio test. potřebujeme rozlišit několik druhů důkazů:

Žádné jediné číslo neodpoví na všechny tyto otázky.

12 Co už víme o residuíchRozdíl mezi pozorovanou hodnotou odezvy a hodnotou predikovanou modelem: eᵢ = yᵢ − ŷᵢ. a jejich čtvercích?

Když jsme poprvé hledali přímku, porovnávali jsme kandidáty pomocí součtu čtverců residuíSoučet druhých mocnin všech residuí; vyjadřuje celkovou čtvercovou odchylku pozorovaných hodnot od hodnot odhadnutých modelem.. V další lekci jsme stejnou veličinu označili anglickou zkratkou RSS (residual sum of squares) a použili ji při výpočtu reziduální směrodatné odchylkyOdhad typické velikosti residuí v jednotkách odezvy; popisuje rozptýlení pozorování kolem hodnot odhadnutých modelem.. Při porovnání jednoho společného průměruSoučet hodnot vydělený jejich počtem; nejběžnější míra polohy (střední hodnoty). s několika skupinovými průměry jsme také viděli, že složitější model může RSS zmenšit.

RSS proto není nový pojem. V této lekci jej spojíme s druhým součtem čtverců, který popisuje rozdíly mezi pozorovanými výškami ještě před použitím prediktorůProměnná, pomocí níž vysvětlujeme variabilitu odezvy; v notaci y ~ x je prediktor x..

QuestionVzpomeňte si na význam RSS

Co se stane se součtem čtverců residuí, když odhadnutá přímka prochází blíže pozorovaným bodům?

Čím jsou residua kratší, tím menší jsou jejich čtverce i jejich součet. Menší RSS proto znamená těsnější shodu modelu s pozorovanými daty.

13 Je přímka lepší než předpověď průměremSoučet hodnot vydělený jejich počtem; nejběžnější míra polohy (střední hodnoty).?

Než posoudíme odhadnutou přímku, potřebujeme jednoduchý výchozí způsob odhadu. Pokud bychom o jednotlivých stromech nevěděli nic dalšího, mohli bychom každému přiřadit průměrnou výšku. Tento průměrový model nám umožní popsat, jak moc se pozorované výšky liší ještě před použitím průměru kmene.

Následující výpočet používá šest skutečných stromů z datové tabulky. Malý výběr umožňuje vidět každý krok výpočtu. Hodnoty kandidátních modelů v dalších tabulkách vycházejí ze všech 63 stromů.

Šest stromů použitých k porovnání průměrového modelu a odhadnuté přímky.
Strom Průměr kmene (cm) Výška (m)
A 54,61 27,04
B 43,69 31,83
C 22,35 19,39
D 20,83 23,34
E 11,94 5,85
F 73,66 44,64

14 Jak velké jsou rozdíly výšek před použitím prediktorůProměnná, pomocí níž vysvětlujeme variabilitu odezvy; v notaci y ~ x je prediktor x.?

Průměrná výškaSoučet hodnot vydělený jejich počtem; nejběžnější míra polohy (střední hodnoty). šesti stromů je 25,35 m. Svislé úsečky ukazují odchylku každého pozorováníJeden zaznamenaný případ v datech, který obsahuje hodnoty jedné nebo více proměnných. od tohoto průměru.

Šest stromů A až F s pozorovanými výškami a přerušovanou vodorovnou čarou průměrné výšky; svislé úsečky spojují každý bod s průměrem, nejdelší má strom E pod průměrem a strom F nad ním.

Odchylky šesti pozorovaných výšek od jejich průměru (přerušovaná čára). Délky úseček jsou před umocněním kladné nebo záporné odchylky.

Kladné a záporné odchylky by se při prostém součtu vyrušily. Proto je umocníme na druhou a sečteme. Vznikne celkový součet čtverců (total sum of squares), tedy číselné vyjádření celkové variabilityObecný termín pro rozsah, v němž se hodnoty proměnné liší od sebe navzájem; kvantifikuje se pomocí rozptylu, SD, IQR nebo rozsahu. pozorovaných výšek kolem jejich průměru.

Od pozorovaných výšek k celkovému součtu čtverců.
Strom Výška Odchylka od průměru Čtverec odchylky
A 27,04 1,69 2,86
B 31,83 6,48 42,01
C 19,39 -5,96 35,50
D 23,34 -2,01 4,03
E 5,85 -19,50 380,19
F 44,64 19,29 372,17

Celkový součet čtverců sčítá čtverce odchylek všech šesti stromů:

\[ \text{celkový součet čtverců} = \text{čtverec odchylky stromu A} + \cdots + \text{čtverec odchylky stromu F}. \]

Do vztahu dosadíme odchylky z tabulky, umocníme je a sečteme:

\[ \begin{align} \text{celkový součet čtverců} &= (\text{1,69})^2 + (\text{6,48})^2 + (\text{−5,96})^2 + (\text{−2,01})^2 + (\text{−19,50})^2 + (\text{19,29})^2 \\ &= \text{2,86} + \text{42,01} + \text{35,50} + \text{4,03} + \text{380,19} + \text{372,17} \\ &= \text{836,76}. \end{align} \]

Obecně označíme pozorovanou hodnotu \(y_i\), průměr všech pozorovaných hodnot \(\bar{y}\) a počet pozorování \(n\):

\[ SS_{\mathrm{total}} = \sum_{i=1}^{n} \left(y_i - \bar{y}\right)^2. \]

Symbol \(SS_{\mathrm{total}}\) označuje celkový součet čtverců. Každý člen \(y_i - \bar{y}\) je odchylka jedné pozorované výšky od průměrné výšky. Hodnota 836,76 m² popisuje celkovou čtvercovou odchylku šesti výšek od jejich průměru.

QuestionKterý strom přispívá nejvíce?

Najděte v grafu a tabulce strom s největším příspěvkem k celkové variabilitě. Proč o velikosti příspěvku rozhoduje délka úsečky i její umocnění na druhou?

Největší příspěvek má strom E, protože má největší absolutní odchylku od průměru. Umocnění zachová příspěvky kladných i záporných odchylek a větší odchylky zvýrazní.

15 Kolik rozdílů zůstalo po odhadnutí přímky?

Místo průměruSoučet hodnot vydělený jejich počtem; nejběžnější míra polohy (střední hodnoty). teď použijeme odhadnutou přímku. Každá úsečka vede od modelem odhadnuté výškyHodnota odezvy, kterou fitovaný model přiřadí pozorování na základě jeho hodnot prediktorů; značí se často ŷ. k pozorované výšce stejného stromu. Její orientovaná délka je známé residuumRozdíl mezi pozorovanou hodnotou odezvy a hodnotou predikovanou modelem: eᵢ = yᵢ − ŷᵢ.:

\[ \text{residuum} = \text{pozorovaná výška} - \text{odhadnutá výška}. \]

Šest stromů A až F podle průměru kmene a výšky s fialovou odhadnutou přímkou; oranžové svislé úsečky residuí spojují každý bod s přímkou.

Residua stejné šestice stromů. Každá oranžová úsečka spojuje odhadnutou výšku na fialové přímce s pozorovanou výškou.

Residuum nese znaménko: bod nad přímkou má kladné residuum, bod pod přímkou záporné. Absolutní hodnota residua udává délku svislé úsečky mezi bodem a přímkou. Čtverec residua znaménko odstraní a určuje příspěvek daného stromu k součtu čtverců residuí.

Čtverce residuí sečteme. Dostaneme již známý součet čtverců residuíSoučet druhých mocnin všech residuí; vyjadřuje celkovou čtvercovou odchylku pozorovaných hodnot od hodnot odhadnutých modelem. (residual sum of squares, RSS): kolik čtvercové odchylky zůstalo po odhadnutí modelu.

Od residuí k součtu čtverců residuí (RSS).
Strom Pozorovaná výška Odhadnutá výška Residuum Absolutní hodnota Čtverec residua
A 27,04 33,67 -6,63 6,63 43,92
B 31,83 28,25 3,58 3,58 12,83
C 19,39 17,66 1,73 1,73 3,00
D 23,34 16,90 6,44 6,44 41,42
E 5,85 12,49 -6,64 6,64 44,12
F 44,64 43,12 1,52 1,52 2,31

Součet čtverců residuí sčítá čtverce residuí všech šesti stromů:

\[ \text{součet čtverců residuí} = \text{čtverec residua stromu A} + \cdots + \text{čtverec residua stromu F}. \]

Do vztahu dosadíme residua z tabulky, umocníme je a sečteme:

\[ \begin{align} \text{součet čtverců residuí} &= (\text{−6,63})^2 + (\text{3,58})^2 + (\text{1,73})^2 + (\text{6,44})^2 + (\text{−6,64})^2 + (\text{1,52})^2 \\ &= \text{43,92} + \text{12,83} + \text{3,00} + \text{41,42} + \text{44,12} + \text{2,31} \\ &= \text{147,60}. \end{align} \]

Index \(i\) označuje pořadí pozorováníJeden zaznamenaný případ v datech, který obsahuje hodnoty jedné nebo více proměnných.. Residuum \(i\)-tého pozorování označíme jako \(e_i\):

\[ SS_{\mathrm{res}} = \sum_{i=1}^{n} e_i^2. \]

Symbol \(SS_{\mathrm{res}}\) označuje RSS. Jeho hodnota 147,60 m² je menší než celkový součet čtverců, protože přímka sleduje část rozdílů mezi výškami lépe než samotný průměr. Celkový součet čtverců a RSS jsou dvě stavební veličiny, které použijeme společně v následujícím výpočtu.

QuestionResiduum, jeho velikost a čtverec

Který strom má číselně nejvyšší residuum? Který strom má residuum s největší absolutní hodnotou, a proto také největší čtverec residua? Jsou to stejné stromy?

Číselně nejvyšší residuum má strom D: 6,44 m. Největší absolutní hodnotu residua má strom E: jeho residuum je −6,64 m, jeho absolutní hodnota je 6,64 m a čtverec residua je 44,12 m². Nejde o stejné stromy. Nejde o chybu: umocnění odstraní znaménko, takže příspěvek k RSS určuje velikost residua bez ohledu na to, zda je kladné, nebo záporné.

16 Jakou část variabilityObecný termín pro rozsah, v němž se hodnoty proměnné liší od sebe navzájem; kvantifikuje se pomocí rozptylu, SD, IQR nebo rozsahu. zachytil model?

Máme dvě veličiny: celkový součet čtverců před použitím prediktoruProměnná, pomocí níž vysvětlujeme variabilitu odezvy; v notaci y ~ x je prediktor x. a součet čtverců residuí (RSS)Součet druhých mocnin všech residuí; vyjadřuje celkovou čtvercovou odchylku pozorovaných hodnot od hodnot odhadnutých modelem. po odhadnutí přímky. Jejich poměr říká, jaká část původních rozdílů zůstala nevysvětlena. Jeho doplněk do jedné proto vyjadřuje zachycený podíl variability.

Zachycený podíl vyjádříme pomocí dvou veličin, které už známe:

\[ \text{zachycený podíl variability} = 1 - \frac{\text{součet čtverců residuí}} {\text{celkový součet čtverců}}. \]

Do vztahu dosadíme všech šest residuí a všech šest odchylek od průměru:

\[ \text{zachycený podíl variability} = 1 - \frac{(\text{−6,63})^2 + (\text{3,58})^2 + (\text{1,73})^2 + (\text{6,44})^2 + (\text{−6,64})^2 + (\text{1,52})^2} {(\text{1,69})^2 + (\text{6,48})^2 + (\text{−5,96})^2 + (\text{−2,01})^2 + (\text{−19,50})^2 + (\text{19,29})^2}. \]

Po sečtení čtverců dostaneme:

\[ \text{zachycený podíl variability} = 1 - \frac{\text{147,60}} {\text{836,76}} = \text{0,824}. \]

Tento podíl nazýváme koeficient determinace R²Podíl variability odezvy vysvětlený modelem (0 = model nevysvětluje nic, 1 = model vysvětluje vše). (coefficient of determination, R-squared). Obecně jej zapíšeme:

\[ R^2 = 1 - \frac{SS_{\mathrm{res}}} {SS_{\mathrm{total}}}. \]

Zkratka \(SS\) znamená „součet čtverců“. \(SS_{\mathrm{res}}\) je součet čtverců residuí od odhadnutého modelu. \(SS_{\mathrm{total}}\) je součet čtverců odchylek pozorované odezvyProměnná, jejíž variabilitu se snažíme vysvětlit nebo předpovědět; v notaci modelu y ~ x je odezva y. od jejího průměruSoučet hodnot vydělený jejich počtem; nejběžnější míra polohy (střední hodnoty)..

QuestionVypočítejte a interpretujte

Kdyby \(SS_{\mathrm{total}} = \text{500}\) a \(SS_{\mathrm{res}} = \text{125}\), jaké by bylo R²? Napište také jednu větu o tom, co by takový výsledek říkal o odezvě.

R² by bylo \(1 - \text{125}/\text{500} = \text{0,75}\). Model by tedy v datech zachytil 75 % variability odezvy kolem jejího průměru.

17 Dostaneme stejné R²Podíl variability odezvy vysvětlený modelem (0 = model nevysvětluje nic, 1 = model vysvětluje vše). také ze summary()?

V malém příkladu jsme mohli rozepsat každý čtverec. Pro všech 63 stromů použijeme stejný výpočet, ale dosadíme už jen oba součty čtverců.

\[ R^2 = 1 - \frac{\text{1877,39}} {\text{8084,56}} = \text{0,768}. \]

Stejnou hodnotu vrátí také summary(mod_spolecny)$r.squared: 0,768. Výpis tedy nepřináší jinou definici; pouze za nás provede tentýž výpočet.

18 Co nám R²Podíl variability odezvy vysvětlený modelem (0 = model nevysvětluje nic, 1 = model vysvětluje vše). říká — a co ne?

Pro všech 63 stromů je R² společné přímky 0,768. Model tedy ve stejných datech, na kterých byl odhadnut, zachycuje přibližně 76,8 % pozorované variabilityObecný termín pro rozsah, v němž se hodnoty proměnné liší od sebe navzájem; kvantifikuje se pomocí rozptylu, SD, IQR nebo rozsahu. výšky kolem jejího průměruSoučet hodnot vydělený jejich počtem; nejběžnější míra polohy (střední hodnoty)..

R² však neříká:

  • že model správně předpověděl 76,8 % jednotlivých stromů;
  • že model splňuje předpoklady;
  • že vztah je příčinný;
  • že model bude stejně dobrý pro nové stromy.
QuestionKterá interpretace je obhajitelná?

Vyberte a zdůvodněte jednu možnost:

Obhajitelná je možnost B: R² vyjadřuje podíl zachycené variability odezvy v datech použitých k odhadu modelu.

19 Proč R²Podíl variability odezvy vysvětlený modelem (0 = model nevysvětluje nic, 1 = model vysvětluje vše). po přidání členu neklesne?

Stejný výpočet R² můžeme použít pro všechny tři kandidáty na všech 63 stromech. Kandidátní modely jsou vnořené: složitější model vždy obsahuje všechny možnosti jednoduššího modelu a přidává další koeficientyČíselné hodnoty odhadnuté z dat definující tvar modelu; v lineárním modelu jsou to intercept a sklon(y).. Při odhadu metodou nejmenších čtverců tedy může složitější model zopakovat jednodušší řešení, nebo součet čtverců residuí (RSS)Součet druhých mocnin všech residuí; vyjadřuje celkovou čtvercovou odchylku pozorovaných hodnot od hodnot odhadnutých modelem. ještě zmenšit.

Při přidávání koeficientů součet čtverců residuí (RSS) klesá a R² roste.
Kandidátní model Počet koeficientů Součet čtverců residuí (RSS) R²
Společná přímka 2 1877,4 0,768
Posun mezi druhy 4 1674,5 0,793
Různé sklony 6 1643,7 0,797
UpozorněníVyšší R² není automatické vítězství

Nejpružnější kandidát získává nejvyšší R² už proto, že má více možností přiblížit se stejným pozorováním. Samotné R² neumí rozhodnout, zda malé zlepšení shody stojí za další koeficienty.

QuestionCo udělá zbytečný člen?

Představte si, že do modelu přidáme prediktorProměnná, pomocí níž vysvětlujeme variabilitu odezvy; v notaci y ~ x je prediktor x., který téměř nic nepřinese. Může R² klesnout? Dokazuje jeho případné zvýšení, že je nový model užitečnější?

R² nemůže klesnout, protože rozšířený model může vždy zopakovat odhady jednoduššího modelu. Případné zvýšení však samo nedokazuje, že jsou nové koeficienty užitečné.

20 Které koeficientyČíselné hodnoty odhadnuté z dat definující tvar modelu; v lineárním modelu jsou to intercept a sklon(y). jednotlivé modely odhadují?

Počet koeficientů není abstraktní číslo. Každý z nich odpovídá konkrétní části modelu: interceptuParametr modelu: hodnota odezvy predikovaná modelem, když jsou všechny prediktory rovno nule; geometricky jde o úsek na ose y (kde regresní přímka protíná osu y)., sklonuParametr lineárního modelu udávající, o kolik se změní odezva, pokud prediktor vzroste o jednu jednotku (při zachování ostatních prediktorů). nebo rozdílu mezi druhy.

QuestionPřiřaďte koeficienty k modelům

Než se podíváte na následující seznam, rozhodněte, který model potřebuje pouze intercept a jeden sklon, který přidává rozdíly druhů a který navíc přidává rozdíly ve sklonech.

  • Společná přímka — 2 koeficienty:
    • (Intercept)
    • prumer_kmene_cm
  • Posun mezi druhy — 4 koeficienty:
    • (Intercept)
    • prumer_kmene_cm
    • druh_stromuPinus ponderosa
    • druh_stromuPseudotsuga menziesii
  • Různé sklony — 6 koeficientů:
    • (Intercept)
    • prumer_kmene_cm
    • druh_stromuPinus ponderosa
    • druh_stromuPseudotsuga menziesii
    • prumer_kmene_cm:druh_stromuPinus ponderosa
    • prumer_kmene_cm:druh_stromuPseudotsuga menziesii

Společná přímka má intercept a jeden sklon. Aditivní model přidává dva rozdíly druhů vůči referenčnímu druhu. Interakční modelSituace, kdy efekt jednoho prediktoru na odezvu závisí na hodnotě jiného prediktoru. navíc přidává dva rozdíly ve sklonech. Právě tyto konkrétní možnosti navíc mohou zlepšit shodu s daty.

21 Stačí zlepšení R²Podíl variability odezvy vysvětlený modelem (0 = model nevysvětluje nic, 1 = model vysvětluje vše). na další koeficientyČíselné hodnoty odhadnuté z dat definující tvar modelu; v lineárním modelu jsou to intercept a sklon(y).?

Adjustované R² (adjusted R-squared) se ptá, zda je nárůst obyčejného R² dostatečně velký vzhledem ke dvěma dalším údajům:

V našich datech mají všechny modely stejné \(n = 63\), ale postupně odhadují 2, 4, 6 koeficientů. Pro aditivní model známe:

  • obyčejné R² = 0,793;
  • počet pozorování \(n = 63\);
  • počet regresních koeficientů \(k = 4\).

Úprava vychází z podílu variabilityObecný termín pro rozsah, v němž se hodnoty proměnné liší od sebe navzájem; kvantifikuje se pomocí rozptylu, SD, IQR nebo rozsahu., který obyčejné R² nezachytilo. Tento podíl zvětší podle počtu pozorování a koeficientů:

\[ \text{adjustované R²} = 1 - \left( \text{podíl variability nezachycený modelem} \times \text{úprava za počet pozorování a koeficientů} \right). \]

Do vztahu dosadíme hodnoty aditivního modelu:

\[ R^2_{\mathrm{adj}} = 1 - \left(1 - \text{0,793}\right) \times \frac{63 - 1} {63 - 4} = \text{0,782}. \]

Po výpočtu obou částí v závorce dostaneme:

\[ R^2_{\mathrm{adj}} = 1 - \left( \text{0,207} \times \text{1,051} \right) = \text{0,782}. \]

Obecná podoba stejného výpočtu je:

\[ R^2_{\mathrm{adj}} = 1 - \left(1 - R^2\right) \times \frac{n - 1}{n - k}. \]

Faktor \(\frac{n - 1}{n - k}\) je při přidání koeficientů větší. Pokud nové koeficienty nesníží residuální variabilitu dostatečně, adjustované R² se zmenší.

QuestionOznačte význam každé části

Ve výpočtu výše najděte část popisující shodu modelu, velikost datového souboru a počet odhadovaných koeficientů. Která část se změní, když přidáme interakciSituace, kdy efekt jednoho prediktoru na odezvu závisí na hodnotě jiného prediktoru.?

Shodu vyjadřuje \(1-R^2\), velikost datového souboru představuje \(n\) a počet koeficientů představuje \(k\). Po přidání interakce se změní R² i \(k\); počet pozorování \(n\) zůstane stejný.

22 Kdy může adjustované R² klesnout?

Porovnáme obyčejné R²Podíl variability odezvy vysvětlený modelem (0 = model nevysvětluje nic, 1 = model vysvětluje vše). po přidání interakceSituace, kdy efekt jednoho prediktoru na odezvu závisí na hodnotě jiného prediktoru.. Ta přidává další sklonyParametr lineárního modelu udávající, o kolik se změní odezva, pokud prediktor vzroste o jednu jednotku (při zachování ostatních prediktorů). a má smysl jen tehdy, pokud dostatečně změní residuaRozdíl mezi pozorovanou hodnotou odezvy a hodnotou predikovanou modelem: eᵢ = yᵢ − ŷᵢ. vzhledem k počtu nových koeficientůČíselné hodnoty odhadnuté z dat definující tvar modelu; v lineárním modelu jsou to intercept a sklon(y)..

Obyčejné R² vždy roste, ale adjustované R² může po přidání málo užitečných koeficientů klesnout.
Kandidátní model Počet koeficientů R² Adjustované R²
Společná přímka 2 0,768 0,764
Posun mezi druhy 4 0,793 0,782
Různé sklony 6 0,797 0,779

Přechod z aditivního modelu k interakčnímu přidá dva sklony. Obyčejné R² se zvýší z 0,793 na 0,797, ale adjustované R² klesne z 0,782 na 0,779. Zisk ve shodě je pro tuto úpravu příliš malý.

QuestionPředpověď před výsledkem

Kdyby nový koeficient téměř nezměnil residua, co se stane s obyčejným a adjustovaným R²? Vysvětlete obě odpovědi pomocí jejich výpočtu.

Obyčejné R² se nezmenší, protože RSS se po přidání koeficientu nemůže zvětšit. Adjustované R² však pravděpodobně klesne: téměř stejný nezachycený podíl se násobí větší úpravou za počet koeficientů.

23 Jak vyvážit shodu a jednoduchost modelu?

R²Podíl variability odezvy vysvětlený modelem (0 = model nevysvětluje nic, 1 = model vysvětluje vše). hodnotí shodu s pozorovanými daty, ale nezvýhodňuje jednodušší vysvětlení. Při porovnání modelůPostup výběru nejlepšího modelu z množiny kandidátů pomocí kritérií jako AIC nebo likelihood ratio test. proto používáme také princip úspornosti (parsimony): složitější model má být upřednostněn jen tehdy, když přinese dostatečné zlepšení shody.

QuestionKdy stojí složitost za to?

Posun mezi druhy a různé sklony popisují stromy téměř stejně dobře (R² 0,793 a 0,797). První model potřebuje 4 koeficientyČíselné hodnoty odhadnuté z dat definující tvar modelu; v lineárním modelu jsou to intercept a sklon(y)., druhý 6. Který byste předběžně upřednostnili a jakou další informaci byste chtěli znát?

Předběžně bychom upřednostnili jednodušší model. Potřebujeme však posoudit, zda malé zlepšení shody složitějšího modelu vyváží 2 koeficienty navíc.

24 Jak AICMíra kvality modelu, která penalizuje složitost - čím nižší AIC, tím lepší poměr mezi přesností modelu a počtem jeho parametrů. vyjadřuje úspornost modelu?

Akaikeho informační kritérium (Akaike information criterion, AIC) je alternativní způsob porovnání kandidátůPostup výběru nejlepšího modelu z množiny kandidátů pomocí kritérií jako AIC nebo likelihood ratio test.. V jednom čísle vyvažuje:

  • shodu modelu s pozorovanými daty;
  • penalizaci za složitost modelu.

Lepší shoda AIC snižuje, zatímco další odhadované veličiny je zvyšují. Proto při srovnání stejných dat preferujeme nižší AIC. AIC nevyjadřuje podíl variabilityObecný termín pro rozsah, v němž se hodnoty proměnné liší od sebe navzájem; kvantifikuje se pomocí rozptylu, SD, IQR nebo rozsahu. a nemá stejnou škálu jako R².

25 Co nám říkají rozdíly AICMíra kvality modelu, která penalizuje složitost - čím nižší AIC, tím lepší poměr mezi přesností modelu a počtem jeho parametrů. mezi kandidáty?

Hodnotu AIC jednoho modelu získáme přímo funkcí AIC():

# Vypočítáme AIC společné přímky
AIC(object = mod_spolecny)
[1] 398.64

Samotné AIC 398,64 nelze označit za „dobré“ nebo „špatné“. Jde o relativní kritérium: číslo získává význam až ve srovnání předem určených kandidátůPostup výběru nejlepšího modelu z množiny kandidátů pomocí kritérií jako AIC nebo likelihood ratio test..

Porovnávané modely přitom musí používat:

Kandidáty porovnáme tak, že od AIC každého z nich odečteme nejnižší AIC v celé sadě:

\[ \text{rozdíl od nejnižší AIC} = \text{AIC kandidáta} - \text{nejnižší AIC v sadě}. \]

Pro společnou přímku dosadíme její AIC a nejnižší AIC ze tří kandidátů:

\[ \text{rozdíl od nejnižší AIC} = \text{398,64} - \text{395,44}. \]

Po odečtení dostaneme:

\[ \text{rozdíl od nejnižší AIC} = \text{3,20}. \]

Tento rozdíl se často označuje jako ΔAIC (delta AIC).

Obecně jej zapíšeme:

\[ \Delta AIC_i = AIC_i - AIC_{\min}. \]

Symbol \(i\) označuje konkrétní kandidátní model, \(AIC_i\) jeho hodnotu AIC a \(AIC_{\min}\) nejnižší AIC v celé kandidátní sadě. Nejlépe podporovaný kandidát má ΔAIC rovné 0; ostatní hodnoty ukazují, o kolik je jejich AIC větší. V této lekci záměrně nepoužíváme univerzální práh, který by rozhodnutí automatizoval.

AIC a ΔAIC v předem určené kandidátní sadě.
Kandidátní model AIC Rozdíl od nejnižší AIC (ΔAIC)
Společná přímka 398,64 3,20
Posun mezi druhy 395,44 0,00
Různé sklony 398,27 2,83
QuestionProč nestačí jedno číslo?

Kolega oznámí: „Můj model má AIC 395, takže je dobrý.“ Jaká informace chybí, abyste mohli jeho tvrzení posoudit?

Chybí AIC dalších modelů odhadnutých pro stejnou odezvu a stejná pozorování. Kandidáty porovnávají rozdíly mezi těmito hodnotami, ne jedna hodnota sama.

UpozorněníNejlepší kandidát nemusí být dobrý model

Porovnání vybírá nejlépe podporovaný model pouze z modelů, které jsme zařadili do kandidátní sady. Neříká, že je tento model obecně dobrý ani že jsme našli nejlepší možný popis dat. Jiný model, který jsme vůbec neposuzovali, může stejná data popsat podstatně lépe.

AIC sčítá dvě části. První vyjadřuje nesoulad modelu s daty: vychází z takzvané věrohodnosti (likelihood), tedy z toho, jak pravděpodobná by byla pozorovaná data, kdyby model platil. Čím lépe model data vystihuje, tím je tato část menší. Druhá část je penalizace za složitost: AIC přičítá 2 za každou veličinu, kterou model odhaduje.

U modelu z lm() se kromě regresních koeficientůČíselné hodnoty odhadnuté z dat definující tvar modelu; v lineárním modelu jsou to intercept a sklon(y). odhaduje ještě jedna veličina: směrodatná odchylkaOdmocnina rozptylu; vyjadřuje průměrnou vzdálenost hodnot od průměru ve stejných jednotkách jako původní data. residuí. Společná přímka proto odhaduje 2 koeficienty a jednu směrodatnou odchylku, celkem 3 veličiny. Ručně AIC počítat nemusíte; následující kód jen ukazuje, že AIC() sčítá právě tyto dvě části.

# Nesoulad s daty: −2 × logaritmus věrohodnosti modelu
nesoulad_spolecny <-
  -2 * as.numeric(logLik(object = mod_spolecny))

# Počet odhadovaných veličin: koeficienty a směrodatná odchylka residuí
pocet_velicin_spolecny <-
  length(coef(object = mod_spolecny)) + 1

# Součet obou částí
nesoulad_spolecny + 2 * pocet_velicin_spolecny
[1] 398.64
# Stejnou hodnotu vrátí funkce AIC()
AIC(object = mod_spolecny)
[1] 398.64

26 Ukazují R²Podíl variability odezvy vysvětlený modelem (0 = model nevysvětluje nic, 1 = model vysvětluje vše)., adjustované R² a AICMíra kvality modelu, která penalizuje složitost - čím nižší AIC, tím lepší poměr mezi přesností modelu a počtem jeho parametrů. na stejný model?

Každá míra zachází se shodou a složitostí jinak. Jejich společná tabulka proto není hlasováním, ale podkladem pro argument.

Tři různé souhrny stejné, předem definované sady kandidátních modelů.
Kandidátní model Počet koeficientů R² Adjustované R² AIC
Společná přímka 2 0,768 0,764 398,64
Posun mezi druhy 4 0,793 0,782 395,44
Různé sklony 6 0,797 0,779 398,27
QuestionČtěte tabulku jako argument

Který model má nejvyšší R²? Který má nejvyšší adjustované R² a nejnižší AIC? Vysvětlete neshodu pomocí toho, jak každá míra zachází se shodou a složitostí, ne jako tři rovnocenné hlasy o tom, který model je „pravdivý“.

Interakční modelSituace, kdy efekt jednoho prediktoru na odezvu závisí na hodnotě jiného prediktoru. má nejvyšší R², protože má nejvíce možností přizpůsobit se datům. Aditivní model má nejvyšší adjustované R² a nejnižší AIC, protože dodatečné sklonyParametr lineárního modelu udávající, o kolik se změní odezva, pokud prediktor vzroste o jednu jednotku (při zachování ostatních prediktorů). interakčního modelu nepřinesly dostatečné zlepšení shody. Žádná z těchto hodnot neudává pravděpodobnost, že je model pravdivý.

27 Stačí dobré skóre k tomu, aby byl model dobrý?

Srovnávací skóre nenahrazuje diagnostiku modeluSoubor grafických a numerických kontrol ověřujících, zda jsou splněny předpoklady modelu: linearita, normalita reziduí, homoskedasticita, absence vlivných bodů.. U kandidáta podporovaného adjustovaným R² a AIC kontrolujeme vztah residuíRozdíl mezi pozorovanou hodnotou odezvy a hodnotou predikovanou modelem: eᵢ = yᵢ − ŷᵢ. k odhadnutým hodnotámHodnota odezvy, kterou fitovaný model přiřadí pozorování na základě jeho hodnot prediktorů; značí se často ŷ., Q–Q grafGraf, který porovnává seřazené hodnoty (typicky residua) s kvantily očekávanými u zvoleného rozdělení, nejčastěji normálního. a vliv jednotlivých pozorováníJeden zaznamenaný případ v datech, který obsahuje hodnoty jedné nebo více proměnných..

Do grafu residuí přidáme vyhlazenou křivku, kterou spočítá funkce lowess(). Křivka v každém místě grafu sleduje, kde residua v okolí v průměru leží. Nic nového neodhaduje, jen pomáhá vidět vzor, který tvoří body.

# Zkontrolujeme, zda residua leží kolem nuly bez vzoru
plot(
  x = fitted(object = mod_aditivni),
  y = residuals(object = mod_aditivni),
  col = vec_barvy_druhu[as.character(data_stromy$druh_stromu)],
  pch = vec_symboly_druhu[as.character(data_stromy$druh_stromu)],
  cex = 1.2,
  cex.axis = 1.2,
  cex.lab = 1.2,
  xlab = "Odhadnutá výška stromu (m)",
  ylab = "Residuum (m)"
)

abline(
  h = 0,
  col = "#2E2E2E",
  lty = 2
)

# Vyhlazená křivka sleduje průměrnou polohu residuí
lines(
  x = lowess(
    x = fitted(object = mod_aditivni),
    y = residuals(object = mod_aditivni)
  ),
  col = "#F3A712",
  lwd = 3
)

Residua aditivního modelu proti odhadnuté výšce s oranžovou vyhlazenou křivkou. Residua nízkých i nejvyšších odhadnutých výšek leží převážně pod nulou, středně vysokých nad nulou, takže křivka tvoří oblouk.

Residua aditivního modelu podle odhadnuté výšky. Oranžová křivka pouze vyhlazuje průběh bodů, aby byl vzor lépe vidět.

Residua neleží kolem nuly náhodně. U stromů s odhadnutou výškou pod 16 m je průměrné residuum −5,9 m, mezi 16 a 32 m +3,1 m a nad 32 m −2,1 m. Residua tak tvoří oblouk: nízké i nejvyšší stromy model nadhodnocuje, středně vysoké podhodnocuje. Přímka tedy nevystihuje tvar vztahu mezi průměrem kmene a výškou; výška s průměrem kmene nejspíš roste stále pomaleji. Ve stejných pásmech mají stejný oblouk i residua společné přímky (průměrná residua −5,7; +3,4 a −2,8 m) a modelu s různými sklony (−5,8; +3,4 a −2,1 m). Oblouk tedy nevyřeší ani druh stromu, ani rozdílné sklony.

# Zkontrolujeme tvar rozdělení residuí
qqnorm(
  y = residuals(object = mod_aditivni),
  pch = 19,
  cex.axis = 1.2,
  cex.lab = 1.2,
  main = "Q–Q graf residuí",
  xlab = "Teoretické kvantily",
  ylab = "Kvantily residuí (m)"
)

qqline(
  y = residuals(object = mod_aditivni),
  col = "#2E2E2E",
  lwd = 2
)

Q–Q graf residuí aditivního modelu: body tvoří mírně esovitou křivku a na obou koncích se odchylují od přímky.

Q–Q graf residuí aditivního modelu.

Body v Q–Q grafu se na obou koncích od přímky odchylují. Část této odchylky může souviset s obloukem: residua, která zanechává nevhodný tvar modelu, nemusí mít rozdělení předpokládané lineárním modelem.

Zbývá otázka, zda některé pozorování model neovlivňuje neobvykle silně. Cookova vzdálenostMíra vlivu jednoho pozorování na model: vyjadřuje, jak moc by se změnily odhadnuté hodnoty, kdybychom toto pozorování vynechali. (Cook’s distance) shrnuje, jak silně by se odhadnuté hodnoty změnily po vynechání jednoho pozorování. Orientační čára \(4/n\) není automatický test; pouze označuje stromy, které si zaslouží bližší kontrolu.

# Vypočítáme vliv jednotlivých pozorování
vec_cookova_vzdalenost <-
  cooks.distance(model = mod_aditivni)

hranice_cook <-
  4 / nobs(object = mod_aditivni)

# Zobrazíme, která pozorování mají největší vliv
plot(
  x = vec_cookova_vzdalenost,
  type = "h",
  lwd = 2,
  cex.axis = 1.2,
  cex.lab = 1.2,
  xlab = "Pořadí stromu v tabulce",
  ylab = "Cookova vzdálenost"
)

abline(
  h = hranice_cook,
  col = "#F3A712",
  lty = 2,
  lwd = 2
)

Svislé čárky Cookových vzdáleností všech stromů v pořadí tabulky s přerušovanou orientační čarou 4/n; několik stromů ji přesahuje.

Cookovy vzdálenosti pro aditivní model. Přerušovaná čára zobrazuje orientační hodnotu 4/n.

Nad orientační čarou leží 4 pozorování. To není důvod je odstranit; je to důvod vrátit se k jejich měření, biologickému významu a vlivu na závěr.

QuestionRozhodnutí po kontrole modelu

Podporují graf residuí, Q–Q graf a Cookovy vzdálenosti závěr ze srovnávací tabulky, nebo vyžadují opatrnější formulaci? Uveďte jeden důvod pro zvolený model a jedno omezení.

Srovnávací tabulka podporuje aditivní model jako nejlepšího ze tří kandidátů: zachytí rozdíly mezi druhy a má nejvyšší adjustované R² i nejnižší AIC. Diagnostika ale vyžaduje opatrnější formulaci. Residua tvoří oblouk, takže žádná z přímek nevystihuje tvar vztahu, a Q–Q graf není přímý. Stromy nad čarou \(4/n\) je vhodné zkontrolovat, ne automaticky vyřadit.

28 Který model lze pro tyto stromy nejlépe obhájit?

Aditivní model s průměrem kmene a druhem stromu představuje pro tato data nejlépe obhajitelný model ze tří posuzovaných kandidátů. Oproti jedné společné přímce zachytí rozdíly mezi druhy. Interakční modelSituace, kdy efekt jednoho prediktoru na odezvu závisí na hodnotě jiného prediktoru. sice dosáhne nejvyššího R²Podíl variability odezvy vysvětlený modelem (0 = model nevysvětluje nic, 1 = model vysvětluje vše)., ale jeho dodatečné sklonyParametr lineárního modelu udávající, o kolik se změní odezva, pokud prediktor vzroste o jednu jednotku (při zachování ostatních prediktorů). nepřinesou dostatečný zisk podle adjustovaného R² ani AICMíra kvality modelu, která penalizuje složitost - čím nižší AIC, tím lepší poměr mezi přesností modelu a počtem jeho parametrů..

Tento závěr zůstává podmíněný. Neříká, že je aditivní model nejlepší ze všech možných modelů. ResiduaRozdíl mezi pozorovanou hodnotou odezvy a hodnotou predikovanou modelem: eᵢ = yᵢ − ŷᵢ. všech tří kandidátů tvoří oblouk, takže přímky nevystihují zakřivený tvar vztahu. Data navíc obsahují omezený počet stromů, Q–Q grafGraf, který porovnává seřazené hodnoty (typicky residua) s kvantily očekávanými u zvoleného rozdělení, nejčastěji normálního. není přímý a pozorovací studie sama nedokládá příčinný efektKvantitativní popis toho, jak se podle modelu mění odezva s prediktorem; zahrnuje směr, velikost a nejistotu odhadu, ale sám o sobě nedokládá příčinu. druhu.

DůležitéOdpověď na hlavní otázku

Dobrý model nepoznáme podle jediného čísla. Obhajoba musí propojit biologickou otázku, shodu s daty, složitost, diagnostikuSoubor grafických a numerických kontrol ověřujících, zda jsou splněny předpoklady modelu: linearita, normalita reziduí, homoskedasticita, absence vlivných bodů., interpretovatelnost a omezení dat.

29 Jak porovnávat modelyPostup výběru nejlepšího modelu z množiny kandidátů pomocí kritérií jako AIC nebo likelihood ratio test. bez automatického hledání?

  1. Položte biologickou otázku.
  2. Prohlédněte a zobrazte data.
  3. Definujte malou sadu biologicky zdůvodněných kandidátů.
  4. Použijte pro všechny kandidáty stejnou odezvuProměnná, jejíž variabilitu se snažíme vysvětlit nebo předpovědět; v notaci modelu y ~ x je odezva y. a stejná pozorováníJeden zaznamenaný případ v datech, který obsahuje hodnoty jedné nebo více proměnných..
  5. Porovnejte odhadnuté vztahy, residuaRozdíl mezi pozorovanou hodnotou odezvy a hodnotou predikovanou modelem: eᵢ = yᵢ − ŷᵢ., R²Podíl variability odezvy vysvětlený modelem (0 = model nevysvětluje nic, 1 = model vysvětluje vše)., adjustované R² a AICMíra kvality modelu, která penalizuje složitost - čím nižší AIC, tím lepší poměr mezi přesností modelu a počtem jeho parametrů..
  6. Zkontrolujte předpoklady a vlivná pozorování.
  7. Obhajte závěr a pojmenujte jeho omezení.
UpozorněníAutomatické hledání nenahrazuje biologickou otázku

Funkce pro automatické přidávání a odebírání členů mohou vytvořit dlouhý seznam modelů, ale samy neurčí, které modely mají biologický smysl. V této lekci proto nepoužíváme krokový výběr ani vyhledávání všech možných kombinací.

30 Co bude následovat dál

Všechny tři kandidáty jsme kreslili jako přímky, a jejich residuaRozdíl mezi pozorovanou hodnotou odezvy a hodnotou predikovanou modelem: eᵢ = yᵢ − ŷᵢ. přesto tvoří oblouk. Problém tedy není jen ve volbě prediktorůProměnná, pomocí níž vysvětlujeme variabilitu odezvy; v notaci y ~ x je prediktor x.: vztah výšky a průměru kmene je nelineárníSituace, kdy vztah mezi prediktorem a odezvou není dobře popsatelný přímkou - má zakřivení nebo jinou nelineární formu.. V následující lekci se naučíme popisovat tvar rozděleníPopis toho, jaké hodnoty proměnná nabývá a jak často se vyskytují; může jít o pozorované rozdělení dat nebo o teoretické pravděpodobnostní rozdělení. hodnot i tvar vztahu a uvidíme, jak může vhodná transformaceMatematická operace použitá na hodnoty proměnné s cílem splnit předpoklady modelu nebo zlepšit linearitu vztahu. proměnných pomoci lineárnímu modelu popsat i zakřivený vztah. Kandidátní tvary vztahu budeme stejně jako v této lekci porovnávat až poté, co je biologicky zdůvodníme.

31 Shrnutí

31.1 Závěrečná otázka

Vyberte si biologickou otázku ze svého oboru. Jaké dva nebo tři kandidátní modely byste sestavili ještě před analýzou a co by vás přesvědčilo, abyste dali přednost jednoduššímu z nich?

Například otázka, jak hmotnost ptáčat závisí na jejich věku a na tom, zda hnízdo leží v lese, nebo ve městě. Kandidáty mohou být jedna společná přímka, rovnoběžné přímky pro les a město a přímky s různými sklony, pokud čekáme, že ptáčata v jednom prostředí přibývají rychleji. Jednoduššímu modelu bychom dali přednost, kdyby složitější model zlepšil shodu jen nepatrně (adjustované R² by kleslo a AIC by nebylo nižší), residuaRozdíl mezi pozorovanou hodnotou odezvy a hodnotou predikovanou modelem: eᵢ = yᵢ − ŷᵢ. jednoduššího modelu nevykazovala vzor a biologická otázka nevyžadovala rozdílné sklony.

Slovníček pojmů

Pojmy použité v těchto materiálech a jejich definice:

term definition
aic Míra kvality modelu, která penalizuje složitost - čím nižší AIC, tím lepší poměr mezi přesností modelu a počtem jeho parametrů.
bodovy-graf Graf vztahu dvou numerických proměnných, v němž každý bod představuje jedno pozorování a jeho dvě hodnoty určují polohu na osách.
cookova-vzdalenost Míra vlivu jednoho pozorování na model: vyjadřuje, jak moc by se změnily odhadnuté hodnoty, kdybychom toto pozorování vynechali.
diagnostika-modelu Soubor grafických a numerických kontrol ověřujících, zda jsou splněny předpoklady modelu: linearita, normalita reziduí, homoskedasticita, absence vlivných bodů.
efekt Kvantitativní popis toho, jak se podle modelu mění odezva s prediktorem; zahrnuje směr, velikost a nejistotu odhadu, ale sám o sobě nedokládá příčinu.
interakce-predikatoru Situace, kdy efekt jednoho prediktoru na odezvu závisí na hodnotě jiného prediktoru.
intercept Parametr modelu: hodnota odezvy predikovaná modelem, když jsou všechny prediktory rovno nule; geometricky jde o úsek na ose y (kde regresní přímka protíná osu y).
linearni-model Statistický model předpokládající, že odezva je lineární funkcí prediktorů plus chybový člen s normálním rozdělením (y = a + b·x + ε).
nejistota Rozsah, v němž nevíme přesnou hodnotu parametru kvůli omezenému a variabilnímu vzorku; kvantifikuje se pomocí intervalů spolehlivosti nebo směrodatných chyb.
nelinearita Situace, kdy vztah mezi prediktorem a odezvou není dobře popsatelný přímkou - má zakřivení nebo jinou nelineární formu.
numericka-promenna Proměnná, jejíž hodnoty jsou čísla se smysluplnou velikostí nebo rozdílem; může být diskrétní, například počet, nebo spojitá, například délka.
odezva Proměnná, jejíž variabilitu se snažíme vysvětlit nebo předpovědět; v notaci modelu `y ~ x` je odezva `y`.
odhadnuta-hodnota Hodnota odezvy, kterou fitovaný model přiřadí pozorování na základě jeho hodnot prediktorů; značí se často ŷ.
parametry-modelu Číselné hodnoty odhadnuté z dat definující tvar modelu; v lineárním modelu jsou to intercept a sklon(y).
porovnani-modelu Postup výběru nejlepšího modelu z množiny kandidátů pomocí kritérií jako AIC nebo likelihood ratio test.
pozorovani Jeden zaznamenaný případ v datech, který obsahuje hodnoty jedné nebo více proměnných.
prediktor Proměnná, pomocí níž vysvětlujeme variabilitu odezvy; v notaci `y ~ x` je prediktor `x`.
promenna Vlastnost zaznamenaná u pozorování, která může mezi pozorováními nabývat různých hodnot, například druh, délka nebo počet.
prumer Součet hodnot vydělený jejich počtem; nejběžnější míra polohy (střední hodnoty).
qq-graf Graf, který porovnává seřazené hodnoty (typicky residua) s kvantily očekávanými u zvoleného rozdělení, nejčastěji normálního.
r2 Podíl variability odezvy vysvětlený modelem (0 = model nevysvětluje nic, 1 = model vysvětluje vše).
residuum Rozdíl mezi pozorovanou hodnotou odezvy a hodnotou predikovanou modelem: eᵢ = yᵢ − ŷᵢ.
rezidualni-smerodatna-odchylka Odhad typické velikosti residuí v jednotkách odezvy; popisuje rozptýlení pozorování kolem hodnot odhadnutých modelem.
rozdeleni Popis toho, jaké hodnoty proměnná nabývá a jak často se vyskytují; může jít o pozorované rozdělení dat nebo o teoretické pravděpodobnostní rozdělení.
sklon Parametr lineárního modelu udávající, o kolik se změní odezva, pokud prediktor vzroste o jednu jednotku (při zachování ostatních prediktorů).
smerodatna-odchylka Odmocnina rozptylu; vyjadřuje průměrnou vzdálenost hodnot od průměru ve stejných jednotkách jako původní data.
soucet-ctvercu-residui Součet druhých mocnin všech residuí; vyjadřuje celkovou čtvercovou odchylku pozorovaných hodnot od hodnot odhadnutých modelem.
transformace Matematická operace použitá na hodnoty proměnné s cílem splnit předpoklady modelu nebo zlepšit linearitu vztahu.
variabilita Obecný termín pro rozsah, v němž se hodnoty proměnné liší od sebe navzájem; kvantifikuje se pomocí rozptylu, SD, IQR nebo rozsahu.