Co to jest średnia harmoniczna?
Średnia harmoniczna (ang. harmonic mean) n dodatnich wartości to n podzielone przez sumę ich odwrotności:
H = n / (1/x₁ + 1/x₂ + … + 1/xn)
Jest więc odwrotnością średniej z odwrotności. Dla tych samych danych zachodzi H ≤ średnia geometryczna ≤ średnia arytmetyczna. Najmniejsze wartości ważą w niej najwięcej.
Kiedy jej użyć
- Wskaźniki „na jednostkę” przy stałym liczniku. Prędkości na odcinkach tej samej długości albo ceny za sztukę przy tej samej wydanej kwocie. Gdy stały jest mianownik (ten sam czas jazdy), właściwa jest zwykła średnia; w innych układach – średnia ważona.
- Liczebności nierównych grup. Test Tukeya dla nierównych grup (Kramer, 1956) modyfikuje błąd standardowy różnicy; odpowiada to użyciu średniej harmonicznej liczebności porównywanej pary. Wybór procedury opisuje wpis Testy post hoc w ANOVA – który wybrać?, a sam test – hasło test Tukeya (HSD).
- Miara F1, czyli średnia harmoniczna precyzji i czułości. Hand i in. (2021) przypominają, że właśnie wybór średniej harmonicznej bywa krytykowany jako mało intuicyjny.
Przykład
Kierowca jedzie 30 km z prędkością 60 km/h i wraca 40 km/h. Średnia prędkość to 48 km/h, a nie 50: cała trasa (60 km) zajęła 1.25 godziny. Grupy w ANOVA liczą 40, 15 i 10 osób: średnia arytmetyczna to 21.67, a harmoniczna 15.65. Dla pary 15 i 10 n harmoniczne wynosi 12, dla pary 40 i 10 – 16.
Jak opisać w pracy
Na co uważać
- Zera i liczby ujemne. Przy zerze średnia nie istnieje, przy wartościach ujemnych nie ma sensu.
- Nie zawyżaj n. Średnia arytmetyczna liczebności przecenia moc przy nierównych grupach.
- Nazwij średnią wprost i podaj, co było stałe – droga czy czas.
Średnia harmoniczna w R
Kod liczy średnią prędkość na trasie tam i z powrotem, n harmoniczne trzech nierównych grup i ich par oraz miarę F1 jako średnią harmoniczną precyzji i czułości.
Prędkość, liczebności grup i miara F1
R
suppressPackageStartupMessages(library(DescTools))
predkosc <- c(tam = 60, z_powrotem = 40) # km/h na tej samej trasie 30 km
c(arytm = mean(predkosc), harm = Hmean(predkosc), z_definicji = 60 / (30/60 + 30/40))
n <- c(kontrolna = 40, terapia_A = 15, terapia_B = 10) # nierówne liczebności grup
round(c(arytm = mean(n), harm = Hmean(n), harm_reczna = length(n) / sum(1 / n)), 2)
round(c(para_A_B = Hmean(n[c("terapia_A", "terapia_B")]), # n harmoniczne pary w teście Tukeya–Kramera
para_K_B = Hmean(n[c("kontrolna", "terapia_B")])), 2)
precyzja <- 0.90; czulosc <- 0.50
round(c(arytm = mean(c(precyzja, czulosc)), F1 = Hmean(c(precyzja, czulosc))), 3)Wynik w R
arytm harm z_definicji
50 48 48
arytm harm harm_reczna
21.67 15.65 15.65
para_A_B para_K_B
12 16
arytm F1
0.700 0.643 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()).
- 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/
- 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
Jak policzyć średnią harmoniczną w R?
W podstawowym R: length(x) / sum(1 / x) albo 1 / mean(1 / x). Pakiet DescTools ma funkcję Hmean(x). Wszystkie wartości muszą być dodatnie.
Co to jest n harmoniczne w ANOVA?
To średnia harmoniczna liczebności grup, używana zamiast jednego n, gdy grupy są nierówne. Jest niższa od średniej arytmetycznej, bo mała grupa bardziej ogranicza precyzję porównań.
Dlaczego miara F1 jest średnią harmoniczną?
Bo nisko ocenia klasyfikator, który ma dobrą tylko jedną z dwóch cech. Przy precyzji .90 i czułości .50 F1 = .643, a średnia arytmetyczna dałaby .700.
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ówBibliografia i dalsza literatura naukowa (APA 7)
- Hand, D. J., Christen, P., & Kirielle, N. (2021). F*: An interpretable transformation of the F-measure. Machine Learning, 110(3), 451–456. https://doi.org/10.1007/s10994-021-05964-1 ● Otwarty dostęp
- Kramer, C. Y. (1956). Extension of multiple range tests to group means with unequal numbers of replications. Biometrics, 12(3), 307–310. https://doi.org/10.2307/3001469
Cytowania BibTeX
@article{hand2021f, author={Hand, David J. and Christen, Peter and Kirielle, Nishadi}, title={{F*: An interpretable transformation of the F-measure}}, journal={Machine Learning}, year={2021}, volume={110}, number={3}, pages={451--456}, doi={10.1007/s10994-021-05964-1}}@article{kramer1956extension, author={Kramer, Clyde Young}, title={{Extension of multiple range tests to group means with unequal numbers of replications}}, journal={Biometrics}, year={1956}, volume={12}, number={3}, pages={307--310}, doi={10.2307/3001469}}