Słownik metodologiczny · Wnioskowanie statystyczne

Metoda jackknife – jak oszacować obciążenie i błąd standardowy?

Metoda jackknife liczy statystykę n razy, za każdym razem bez jednej obserwacji, i z tego szacuje obciążenie oraz błąd standardowy. Pokazujemy wzory, przykład w R i ograniczenia.

Strona główna / Słownik / Metoda jackknife
W skrócie: Metoda jackknife oblicza statystykę n razy, za każdym razem bez jednej obserwacji. Z rozrzutu tych oszacowań szacuje błąd standardowy, a z ich średniej – obciążenie. Jest liniowym przybliżeniem bootstrapu i dostarcza przyspieszenia do przedziału BCa.

Co to jest metoda jackknife?

Metoda jackknife (ang. jackknife, dosłownie scyzoryk) szacuje obciążenie i błąd standardowy statystyki, licząc ją n razy, za każdym razem bez jednej obserwacji. Wprowadził ją Quenouille do redukcji obciążenia, a Tukey rozszerzył na szacowanie wariancji i przedziały; przegląd tych prac przedstawił Miller (1974). Efron (1979) pokazał, że jackknife jest liniowym przybliżeniem bootstrapu.

Wzory

Niech θ̂ to oszacowanie z całej próby, θ̂(i) – oszacowanie bez i-tej obserwacji, a θ̄(·) – średnia z tych n oszacowań:

obciążenie = (n − 1)(θ̄(·) − θ̂),   SE = √[(n − 1)/n · Σ(θ̂(i) − θ̄(·))²]

Oszacowanie skorygowane to θ̂ − obciążenie. Czynnik (n − 1) kompensuje to, że oszacowania bez jednej obserwacji są do siebie bardzo podobne. Wartości θ̂(i) służą też do wyznaczenia przyspieszenia w przedziale bootstrapowym BCa.

Przykład

U 25 osób korelacja wyniku skali stresu z długością snu wyniosła r = −.544 (dane symulowane). Jackknife oszacował obciążenie na +0.004, więc korelacja skorygowana to −.548. Błąd standardowy z jackknife wyniósł 0.134, a z 5000 prób bootstrapowych 0.128. Kontrola na wariancji: wersja z dzielnikiem n dała 97.83, a po korekcie jackknife 101.91, czyli dokładnie zwykłą wariancję z dzielnikiem n − 1.

Jak opisać w pracy

Korelacja wyniku skali stresu z długością snu wyniosła r = −.544 (n = 25). Obciążenie oszacowane metodą jackknife było małe (0.004; korelacja skorygowana −.548), a błąd standardowy jackknife wyniósł 0.134.

Na co uważać

  • Statystyki niegładkie. Dla mediany i innych kwantyli jackknife daje niespójny błąd standardowy, bo usunięcie jednej obserwacji zmienia wynik skokowo. Tu lepszy jest bootstrap.
  • Korekta zwiększa zmienność. Oszacowanie skorygowane ma zwykle większą wariancję. Gdy obciążenie jest małe w porównaniu z błędem standardowym, podaj wynik bez korekty.
  • To nie walidacja krzyżowa. Schemat „bez jednej obserwacji” wygląda jak walidacja krzyżowa leave-one-out, ale tamta ocenia błąd predykcji, a jackknife – precyzję i obciążenie statystyki.

Podręcznikowe omówienie obu metod resamplingu dają Efron i Tibshirani (1993).

Przykład reprodukowalny

Jackknife w R

Kod liczy korelację bez kolejnych obserwacji, szacuje obciążenie i błąd standardowy metodą jackknife, porównuje go z bootstrapem i sprawdza korektę na wariancji.

Jackknife dla współczynnika korelacji

Dane wejściowe: dane symulowane z set.seed(3860): 25 osób, wynik skali stresu stres i długość snu sen w godzinach.

Co odczytać: r, obciazenie, r_skorygowane, se_jack i se_boot, a w ostatnim wierszu wariancję z dzielnikiem n przed i po korekcie.

R
suppressPackageStartupMessages(library(boot))
set.seed(3860)
n <- 25
stres <- rnorm(n, 50, 10)                          # wynik skali stresu
sen <- 8 - 0.05 * stres + rnorm(n, 0, 0.6)         # długość snu (h)
r <- cor(stres, sen)
r_i <- sapply(1:n, function(i) cor(stres[-i], sen[-i]))   # n oszacowań bez i-tej osoby
obc <- (n - 1) * (mean(r_i) - r)                   # jackknife: obciążenie
se_jack <- sqrt((n - 1) / n * sum((r_i - mean(r_i))^2))  # jackknife: błąd standardowy
b <- boot(data.frame(stres, sen), function(d, i) cor(d$stres[i], d$sen[i]), R = 5000)
round(c(r = r, obciazenie = obc, r_skorygowane = r - obc,
        se_jack = se_jack, se_boot = sd(b$t[, 1])), 4)
# kontrola: wariancja z dzielnikiem n po korekcie jackknife = var() z dzielnikiem n - 1
v_n <- function(x) mean((x - mean(x))^2)
v_i <- sapply(1:n, function(i) v_n(stres[-i]))
round(c(v_n = v_n(stres), jackknife = n * v_n(stres) - (n - 1) * mean(v_i), var = var(stres)), 3)
Wynik w R
            r    obciazenie r_skorygowane       se_jack       se_boot
      -0.5439        0.0037       -0.5476        0.1343        0.1279
      v_n jackknife       var
   97.830   101.906   101.906

Bibliografia oprogramowania

Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (pakiet boot). W pracy podaj wersje faktycznie użytych pakietów (sessionInfo()).

  1. R: R Core Team. (2026). R: A language and environment for statistical computing (Version 4.5.3) [Computer software]. R Foundation for Statistical Computing. https://www.R-project.org/
  2. boot (wersja 1.3-32): Canty, A., & Ripley, B. (2025). boot: Bootstrap functions (R package version 1.3-32) [Computer software]. https://doi.org/10.32614/CRAN.package.boot

Najczęstsze pytania

Czym jackknife różni się od bootstrapu?

Jackknife tworzy dokładnie n podprób bez jednej obserwacji i daje ten sam wynik przy każdym uruchomieniu. Bootstrap losuje tysiące prób ze zwracaniem. Jackknife jest szybszy i deterministyczny, ale zawodzi dla statystyk niegładkich, takich jak mediana.

Czy jackknife to to samo co walidacja krzyżowa leave-one-out?

Schemat podprób jest ten sam, ale cel inny. Walidacja krzyżowa ocenia błąd predykcji na pominiętej obserwacji, a jackknife – obciążenie i błąd standardowy statystyki liczonej na pozostałych.

Jak policzyć jackknife w R?

Wystarczy pętla: t_i <- sapply(1:n, function(i) statystyka(dane[-i])), a potem obciążenie (n - 1) * (mean(t_i) - t0) i błąd standardowy sqrt((n - 1) / n * sum((t_i - mean(t_i))^2)).

Powiązane hasła

Potrzebujesz wsparcia w analizie danych?

Wybierz ofertę dopasowaną do pracy dyplomowej albo profesjonalnego projektu naukowego.

Wyceń analizęOferta dla studentów

Bibliografia i dalsza literatura naukowa (APA 7)

  1. Efron, B. (1979). Bootstrap methods: Another look at the jackknife. The Annals of Statistics, 7(1), 1–26. https://doi.org/10.1214/aos/1176344552 ● Otwarty dostęp
  2. Efron, B., & Tibshirani, R. J. (1993). An introduction to the bootstrap. Chapman & Hall.
  3. Miller, R. G. (1974). The jackknife—a review. Biometrika, 61(1), 1–15. https://doi.org/10.1093/biomet/61.1.1

Cytowania BibTeX

@article{efron1979bootstrap, author={Efron, Bradley}, title={{Bootstrap methods: Another look at the jackknife}}, journal={The Annals of Statistics}, year={1979}, volume={7}, number={1}, pages={1--26}, doi={10.1214/aos/1176344552}}
@book{efron1993introduction, author={Efron, Bradley and Tibshirani, Robert J.}, title={{An introduction to the bootstrap}}, year={1993}, publisher={Chapman \& Hall}}
@article{miller1974jackknife, author={Miller, Rupert G.}, title={{The jackknife—a review}}, journal={Biometrika}, year={1974}, volume={61}, number={1}, pages={1--15}, doi={10.1093/biomet/61.1.1}}
R