Słownik metodologiczny · Statystyka opisowa

Transformacja logarytmiczna – kiedy ją stosować i jak interpretować wyniki?

Logarytm ściska długi prawy ogon rozkładu i zamienia efekty proporcjonalne w różnice. Pokazujemy, kiedy go użyć, jak czytać współczynniki procentowo i dlaczego po transformacji odwrotnej dostajesz średnią geometryczną.

Strona główna / Słownik / Transformacja logarytmiczna
W skrócie: Transformacja logarytmiczna zastępuje dodatnie wyniki ich logarytmem, zwykle naturalnym, i pomaga przy prawostronnie skośnych czasach czy kwotach. Po transformacji odwrotnej średnia logarytmów staje się średnią geometryczną, a współczynnik b modelu ln(Y) czytasz jako zmianę o 100 × (eb − 1)%.

Co to jest transformacja logarytmiczna?

Transformacja logarytmiczna (ang. log transformation) to zastąpienie dodatnich wyników x ich logarytmem, zwykle naturalnym (ln x). Ściska długi prawy ogon rozkładu, a efekty proporcjonalne („o 20% dłużej”) zamienia w zwykłe różnice. Stosuje się ją przy skośności prawostronnej zmiennych z natury dodatnich: czasów (reakcji, zasypiania), kwot i stężeń. Keene (1995) uważa, że logarytm ma szczególne zalety wobec innych transformacji i że decyzję o nim warto podjąć już przy planowaniu badania, a nie na podstawie danych.

Jak liczyć i interpretować?

W R funkcja log() liczy logarytm naturalny. Przy zerach często stosuje się ln(x + 1), ale stała jest umowna i zmienia wyniki. Średnia logarytmów po transformacji odwrotnej to średnia geometryczna:

Mgeom = exp[(ln x1 + … + ln xn) / n]

Współczynnik b w regresji liniowej czytasz wtedy procentowo:

Interpretacja współczynnika b w modelach z logarytmem
ModelInterpretacja b
ln Y = a + bXX większe o 1 → Y zmienia się o 100 × (eb − 1)%
Y = a + b ln XX większe o 1% → Y zmienia się o ok. b / 100 jednostek
ln Y = a + b ln XX większe o 1% → Y zmienia się o ok. b% (elastyczność)

Model log-log na danych ekonomicznych pokazujemy w poradniku statystyka w pracy z zarządzania i ekonomii.

Przykład

Porównano czas zasypiania 40 osób po treningu relaksacji i 40 osób z grupy kontrolnej (dane symulowane). Po logarytmowaniu skośność reszt spadła z 1.64 do 0.11. Średnie geometryczne wyniosły 22.8 i 32.2 min (arytmetyczne: 27.3 i 35.7 min). Współczynnik grupy w regresji ln(czas) wyniósł b = −0.343, więc eb = 0.709: po treningu czas zasypiania był krótszy o 29.1%.

Jak zapisać w pracy

Ze względu na prawostronną skośność czas zasypiania analizowano po transformacji logarytmicznej (ln); w grupie po treningu relaksacji był on o 29.1% krótszy niż w grupie kontrolnej (iloraz średnich geometrycznych: 0.71, 95% CI [0.56, 0.90]; b = −0.343, t(78) = −2.87, p = .005).

Na co uważać

  • Średnia geometryczna opisana jako zwykła średnia. Wynik przeliczony z logarytmów to średnia geometryczna, a nie arytmetyczna – nazwij go wprost. Feng i in. (2013) znaleźli w publikacjach medycznych wiele błędnych interpretacji analiz na danych zlogarytmowanych.
  • Transformacja zmienia pytanie. Porównujesz ilorazy, a nie różnice w minutach. Lo i Andrews (2015) opisują czasy reakcji, w których surowe dane dawały efekty addytywne, a przekształcone – interakcję; jako alternatywę proponują uogólnione liniowe modele mieszane, które nie wymagają transformacji.
  • Logarytm „na wszelki wypadek”. Założenie normalności dotyczy reszt, a nie surowych wyników (zob. jak sprawdzić normalność rozkładu). Liczebności zwykle lepiej analizować regresją Poissona niż przez ln(x + 1), a przy kilku skrajnych wynikach (wykryjesz je np. regułą z MAD) rozważ metody odporne, np. średnią ucinaną.
Przykład reprodukowalny

Przykład w R

Kod tworzy dane z przykładu, liczy średnie arytmetyczne i geometryczne w grupach, dopasowuje regresję ln(czas) względem grupy i przelicza współczynnik na iloraz średnich geometrycznych z 95% przedziałem ufności.

Regresja na zlogarytmowanej zmiennej w R

Dane wejściowe: czas zasypiania 80 osób w dwóch grupach (minuty; dane symulowane, set.seed(33)).

Co odczytać: średnie geometryczne, b z błędem standardowym, t i p, iloraz eb, zmianę procentową i 95% CI ilorazu.

R
set.seed(33)
grupa <- factor(rep(c("kontrolna", "relaksacja"), each = 40))
czas <- round(c(rlnorm(40, log(30), 0.55), rlnorm(40, log(22), 0.55)), 1)   # minuty
sapply(split(czas, grupa), function(x) round(c(M = mean(x), M_geom = exp(mean(log(x)))), 1))
model <- lm(log(czas) ~ grupa)                     # log() = logarytm naturalny
round(summary(model)$coefficients[2, ], 4)
b <- coef(model)[[2]]
round(c(b = b, iloraz = exp(b), zmiana_proc = 100 * (exp(b) - 1)), 3)
round(exp(confint(model)[2, ]), 2)                 # 95% CI ilorazu średnich geometrycznych
Wynik w R
       kontrolna relaksacja
M           35.7       27.3
M_geom      32.2       22.8
  Estimate Std. Error    t value   Pr(>|t|)
   -0.3433     0.1198    -2.8654     0.0054
          b      iloraz zmiana_proc
     -0.343       0.709     -29.056
 2.5 % 97.5 %
  0.56   0.90 

Bibliografia oprogramowania

Wyniki na tej stronie pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (funkcje pakietu stats). 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/

Najczęstsze pytania

Jak interpretować współczynnik regresji po logarytmowaniu zmiennej zależnej?

W modelu ln(Y) = a + bX wzrost X o jednostkę zmienia Y o 100 × (eb − 1)%. W przykładzie b = −0.343, więc czas zasypiania był krótszy o 29.1%.

Co zrobić z zerami przed logarytmowaniem?

Logarytm zera nie istnieje, dlatego często liczy się ln(x + 1). Stała jest jednak umowna i wpływa na wynik, a przy liczebnościach lepsza bywa regresja Poissona. Wybór zapisz w planie analizy.

Co to jest średnia geometryczna po transformacji logarytmicznej?

To średnia logarytmów przeliczona z powrotem funkcją wykładniczą. Nigdy nie przekracza średniej arytmetycznej, a przy prawostronnej skośności bywa bliska medianie: w grupie kontrolnej 32.2 min wobec 35.7 min (mediana 32.5 min).

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. Feng, C., Wang, H., Lu, N., & Tu, X. M. (2013). Log transformation: Application and interpretation in biomedical research. Statistics in Medicine, 32(2), 230–239. https://doi.org/10.1002/sim.5486
  2. Keene, O. N. (1995). The log transformation is special. Statistics in Medicine, 14(8), 811–819. https://doi.org/10.1002/sim.4780140810
  3. Lo, S., & Andrews, S. (2015). To transform or not to transform: Using generalized linear mixed models to analyse reaction time data. Frontiers in Psychology, 6, Article 1171. https://doi.org/10.3389/fpsyg.2015.01171 ● Otwarty dostęp

Cytowania BibTeX

@article{feng2013log, author={Feng, Changyong and Wang, Hongyue and Lu, Naiji and Tu, Xin M.}, title={{Log transformation: Application and interpretation in biomedical research}}, journal={Statistics in Medicine}, year={2013}, volume={32}, number={2}, pages={230--239}, doi={10.1002/sim.5486}}
@article{keene1995log, author={Keene, Oliver N.}, title={{The log transformation is special}}, journal={Statistics in Medicine}, year={1995}, volume={14}, number={8}, pages={811--819}, doi={10.1002/sim.4780140810}}
@article{lo2015transform, author={Lo, Steson and Andrews, Sally}, title={{To transform or not to transform: Using generalized linear mixed models to analyse reaction time data}}, journal={Frontiers in Psychology}, year={2015}, volume={6}, eid={1171}, doi={10.3389/fpsyg.2015.01171}}
R