Логарифмические шкалы и степенные законы
Логарифмическая ось распрямляет степенные и экспоненциальные зависимости в прямые линии.
Логарифмическая шкала откладывает не само значение, а его логарифм, так что равные расстояния соответствуют равным отношениям (×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), наклон = темп роста.
- Всегда подписывайте логарифмическую ось; следите за нулями.