Логарифмические шкалы и степенные законы

Логарифмическая ось распрямляет степенные и экспоненциальные зависимости в прямые линии.

Логарифмическая шкала откладывает не само значение, а его логарифм, так что равные расстояния соответствуют равным отношениям (×10), а не равным разностям. Она нужна для данных, охватывающих много порядков, и для степенных/экспоненциальных законов.

Когда линейная ось бессильна

Если значения меняются от 1 до 1 000 000, на линейной оси всё, что меньше 10 000, сольётся в ноль у начала координат. Логарифмическая ось даёт каждому порядку величины равное место: 1, 10, 100, 1000 отстоят друг от друга одинаково. Так становятся видны и мелкие, и крупные значения одновременно. Это типично для частот, населённостей, доходов, размеров файлов, интенсивностей.

Степенные законы на лог-лог

Главная сила лог-лог графика (логарифм по обеим осям): степенной закон $y = a x^k$ превращается в прямую. Прологарифмируем: $\log y = \log a + k \log x$. Это уравнение прямой в координатах $(\log x, \log y)$ с наклоном, равным показателю степени $k$. Значит, по наклону прямой на лог-лог графике можно прямо прочитать показатель степени закона — мощнейший инструмент в физике, биологии, сетевой науке.

Измеряем показатель по наклону

Сгенерируем данные степенного закона $y = 3 x^2$, прологарифмируем и оценим наклон — он должен получиться около 2.

import math

# степенной закон y = 3 * x^2
xs = [1, 2, 4, 8, 16, 32]
ys = [3 * x**2 for x in xs]

lx = [math.log10(x) for x in xs]
ly = [math.log10(y) for y in ys]

# наклон прямой через крайние точки (в лог-координатах)
slope = (ly[-1] - ly[0]) / (lx[-1] - lx[0])
print("данные y = 3*x^2")
print("наклон на лог-лог =", round(slope, 3), "-> показатель степени k")
print("пересечение 10^b при x=1:", round(10**ly[0], 2), "-> коэффициент a")

Вывод:

данные y = 3*x^2
наклон на лог-лог = 2.0 -> показатель степени k
пересечение 10^b при x=1: 3.0 -> коэффициент a

Наклон ровно 2 — это показатель степени, а значение при $x=1$ даёт коэффициент $a=3$. Лог-лог график «измерил» закон.

Экспонента на полулог

Экспоненциальный рост $y = a\,e^{kx}$ распрямляется на полулогарифмическом графике (лог только по Y): $\ln y = \ln a + k x$ — прямая в координатах $(x, \ln y)$ с наклоном $k$. Так отличают экспоненту (прямая на полулоге) от степенного закона (прямая на лог-логе): достаточно посмотреть, в каких координатах данные спрямляются.

линейная ось:           лог ось (по Y):
1e6|              *      1e6|              *
   |              |         |          *
   |              |      1e3|      *
   |          *   |         |  *
  0|__*__*__*_____|x     1e0|*_____________ x
   всё мелкое слиплось     каждый порядок виден

Как работает под капотом

Логарифм переводит умножение в сложение: $\log(ab) = \log a + \log b$. Поэтому отношения становятся разностями, а степени — множителями ($\log x^k = k\log x$). Именно из-за этого степенные и экспоненциальные кривые, нелинейные в исходных координатах, становятся прямыми в логарифмических. Прямая же — самая легко читаемая форма: глаз мгновенно оценивает её наклон и отклонения от неё.

Степенные законы повсюду

Лог-лог график — рабочий инструмент целых научных областей, потому что степенные законы встречаются на удивление часто. Распределение размеров городов, частота слов в языке (закон Ципфа), число связей у узлов в социальных и биологических сетях, энергия землетрясений (закон Гутенберга–Рихтера), метаболизм животных в зависимости от массы — все они описываются $y \propto x^{k}$ и спрямляются на лог-логе. Увидев прямую на лог-лог графике, исследователь сразу подозревает степенной закон и читает показатель прямо с наклона.

Важная тонкость: прямая на лог-логе — необходимый, но не достаточный признак степенного закона. На малом диапазоне многие функции выглядят «почти прямыми» в логарифмах, и поспешный вывод о степенном законе — частая ошибка. Надёжное заключение требует, чтобы зависимость держалась на нескольких порядках величины и подтверждалась статистически. Поэтому лог-лог график — это инструмент обнаружения гипотезы, которую затем проверяют, а не доказательство само по себе.

Частые ошибки

  • Лог-шкала с нулями или отрицательными значениями — $\log 0$ не определён; нули придётся убрать или сместить.
  • Не подписать, что ось логарифмическая — читатель примет её за линейную и неверно оценит величины.
  • Сравнивать наклоны на лог и линейной осях — наклон на лог-лог это показатель степени, на линейной — нет.
  • Лог-ось без нужды — для данных в пределах одного порядка она только усложняет чтение.

Итог

  • Лог-шкала уравнивает порядки величины и нужна при многопорядковом разбросе.
  • Степенной закон — прямая на лог-логе, её наклон = показатель степени.
  • Экспонента — прямая на полулоге (лог по Y), наклон = темп роста.
  • Всегда подписывайте логарифмическую ось; следите за нулями.
Проверьте себя
1. Когда логарифмическая шкала особенно полезна?
AКогда все значения близки
BКогда данные охватывают много порядков величины или описывают степенной/экспоненциальный закон
CТолько для отрицательных чисел
DНикогда в науке
2. Что означает наклон прямой на лог-лог графике степенного закона y = a·x^k?
AКоэффициент a
BПоказатель степени k
CЧисло точек
DСлучайную величину
3. На каком графике экспонента y = a·e^(kx) выглядит прямой линией?
AНа линейном
BНа полулогарифмическом (логарифм только по оси Y)
CНа лог-лог (логарифм по обеим осям)
DНи на каком