Słownik metodologiczny · Statystyka opisowa

Entropia Shannona – jak zmierzyć zróżnicowanie odpowiedzi w kategoriach?

Entropia Shannona opisuje, jak bardzo rozproszone są odpowiedzi między kategoriami zmiennej nominalnej. Pokazujemy wzór, jednostki (bity i naty), równomierność, efektywną liczbę kategorii, przykład w R i opis do pracy.

Strona główna / Słownik / Entropia Shannona
W skrócie: Entropia Shannona (H) mierzy zróżnicowanie rozkładu zmiennej kategorialnej: H = −Σpi log pi. Wynosi 0, gdy wszyscy wybrali tę samą kategorię, i osiąga maksimum log k, gdy k kategorii jest równie częstych.

Co to jest entropia Shannona?

Entropia Shannona (ang. Shannon entropy, H) to miara niepewności, czyli zróżnicowania, rozkładu zmiennej kategorialnej. Pochodzi z teorii komunikacji Shannona (1948), a w ekologii jest znana jako indeks Shannona–Wienera. Dla zmiennych na skali nominalnej nie da się policzyć odchylenia standardowego ani współczynnika zmienności, a dominanta mówi tylko, która kategoria wygrała. Entropia opisuje cały rozkład jedną liczbą.

Wzór, jednostki i maksimum

H = −Σ pi log pi, gdzie pi to odsetek obserwacji w kategorii i. Przy logarytmie o podstawie 2 wynik jest w bitach, przy naturalnym – w natach. H = 0, gdy wszystkie obserwacje są w jednej kategorii, a maksimum log k osiąga przy k kategoriach równie częstych. Stąd dwie pochodne miary: równomierność H/log k (od 0 do 1) i efektywna liczba kategorii exp(H). Jost (2006) pokazuje, że to ta druga, a nie surowa entropia, zachowuje się jak miara różnorodności: dwa razy więcej równie częstych kategorii daje dwa razy większą liczbę.

Przykład

Dwie grupy po 200 osób wskazały środek dojazdu na urlop z pięciu (dane symulowane). W grupie A 139 osób jeździ autem i H = 1.402 bita (0.972 nata), w grupie B wybory są rozproszone i H = 2.268 bita. Maksimum dla pięciu kategorii to log2 5 = 2.322, więc równomierność wynosi .604 i .977, a efektywna liczba kategorii 2.64 i 4.82. Dane z ankiet turystycznych analizuje wpis Statystyka w pracy z turystyki i rekreacji.

Jak opisać w pracy

Wybory środka dojazdu były w grupie B bardziej zróżnicowane niż w grupie A: entropia Shannona wyniosła 2.27 wobec 1.40 bita (maksimum dla pięciu kategorii: 2.32), równomierność .98 wobec .60, a efektywna liczba kategorii 4.8 wobec 2.6.

Na co uważać

  • Podstawa logarytmu. Bez niej liczba jest nieporównywalna z innymi badaniami.
  • Liczba kategorii. Scalanie lub dzielenie kategorii zmienia H; porównuj grupy przy tym samym k.
  • Małe próby zaniżają entropię, bo rzadkie kategorie mogą się w nich nie pojawić.
  • To nie jest nierówność wielkości. Rozkład kwoty między jednostki opisuje indeks Giniego, a różnicę składu dwóch prób – indeks Braya–Curtisa.
Przykład reprodukowalny

Entropia Shannona w R

Kod symuluje odpowiedzi dwóch grup na pytanie z pięcioma kategoriami i liczy entropię w bitach i natach, równomierność oraz efektywną liczbę kategorii.

Zróżnicowanie odpowiedzi w pytaniu nominalnym

Dane wejściowe: środek dojazdu na urlop (5 kategorii) w dwóch grupach po 200 osób (dane symulowane, set.seed(3690)).

Co odczytać: tabelę liczebności, wiersze H_bity i H_naty, równomierność rownosc, efektywna_liczba oraz maksimum log2 5.

R
suppressPackageStartupMessages(library(DescTools))
set.seed(3690)
srodki <- c("auto", "pociąg", "autokar", "samolot", "rower")
a <- factor(sample(srodki, 200, replace = TRUE, prob = c(.70, .12, .08, .06, .04)), levels = srodki)
b <- factor(sample(srodki, 200, replace = TRUE, prob = c(.28, .24, .20, .16, .12)), levels = srodki)
tab <- rbind(grupa_A = table(a), grupa_B = table(b)); tab   # dojazd na urlop, dane symulowane
H_bity <- apply(tab, 1, Entropy, base = 2)                  # entropia Shannona w bitach
H_naty <- apply(tab, 1, Entropy, base = exp(1))             # to samo w natach (log naturalny)
round(rbind(H_bity, H_naty,
            rownosc = H_bity / log2(ncol(tab)),             # H / H_max (równomierność Pielou)
            efektywna_liczba = 2^H_bity), 3)                # exp(H): liczba „równoważnych” kategorii
Entropy(c(40, 40, 40, 40, 40), base = 2)                    # maksimum dla 5 kategorii = log2(5)
Wynik w R
        auto pociąg autokar samolot rower
grupa_A  139     32       9      15     5
grupa_B   63     36      35      33    33
                 grupa_A grupa_B
H_bity             1.402   2.268
H_naty             0.972   1.572
rownosc            0.604   0.977
efektywna_liczba   2.644   4.817
[1] 2.321928

Bibliografia oprogramowania

Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (pakiet DescTools). 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. DescTools (wersja 0.99.60): Signorell, A. (2025). DescTools: Tools for descriptive statistics (R package version 0.99.60) [Computer software]. https://doi.org/10.32614/CRAN.package.DescTools

Najczęstsze pytania

W jakich jednostkach podaje się entropię Shannona?

Zależy to od podstawy logarytmu: log2 daje bity, ln – naty, log10 – dity. Wartości różnią się stałym mnożnikiem, np. 1.402 bita = 0.972 nata. Zawsze podaj użytą podstawę.

Co to jest efektywna liczba kategorii?

To exp(H) dla logarytmu naturalnego albo 2H dla bitów: liczba równie częstych kategorii, która dałaby tę samą entropię. H = 1.402 bita odpowiada 2.64 kategorii.

Czy entropię Shannona można porównywać przy różnej liczbie kategorii?

Surowej entropii nie, bo jej maksimum log k rośnie z liczbą kategorii. Porównuj równomierność H/log k albo efektywną liczbę kategorii i podaj k.

Powiązane hasła

Poradniki, w których użyjesz tego pojęcia

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. Jost, L. (2006). Entropy and diversity. Oikos, 113(2), 363–375. https://doi.org/10.1111/j.2006.0030-1299.14714.x
  2. Shannon, C. E. (1948). A mathematical theory of communication. Bell System Technical Journal, 27(3), 379–423. https://doi.org/10.1002/j.1538-7305.1948.tb01338.x

Cytowania BibTeX

@article{jost2006entropy, author={Jost, Lou}, title={{Entropy and diversity}}, journal={Oikos}, year={2006}, volume={113}, number={2}, pages={363--375}, doi={10.1111/j.2006.0030-1299.14714.x}}
@article{shannon1948mathematical, author={Shannon, Claude E.}, title={{A mathematical theory of communication}}, journal={Bell System Technical Journal}, year={1948}, volume={27}, number={3}, pages={379--423}, doi={10.1002/j.1538-7305.1948.tb01338.x}}
R