Закон Кеплера из таблиц Тихо Браге

Тихо Браге двадцать один год записывал, где на небе стоят планеты. Иоганн Кеплер получил эти таблицы в наследство и потратил ещё восемнадцать лет, чтобы вытащить из них закон — руками, сравнивая отношения чисел. Сегодня этот закон достаётся из тех же данных десятью строками кода, и совпадение выходит такое, что не верится: показатель степени 1,4999632 при точном значении 3/2.

Что было в таблицах

К концу XVI века астрономы умели измерять для каждой планеты две величины:

  • период обращения T — за сколько лет планета возвращается в ту же точку звёздного неба;
  • средний радиус орбиты a — большую полуось эллипса.

Браге (1546—1601) наблюдал без телескопа, огромными угломерными инструментами на острове Вен. Положение планет он определял с точностью около одной угловой минуты — это физический предел невооружённого глаза. За двадцать один год он накопил каталог почти в тысячу звёзд и подробную запись движения пяти видимых планет.

После его смерти таблицы достались помощнику — молодому немцу Кеплеру (1571—1630).

Как превратить таблицы в задачу регрессии

Подозреваем степенную связь: T = C\,a^{\beta}. В таком виде параметр сидит в показателе степени, и просто так его не подобрать. Но стоит взять логарифм от обеих частей, и связь становится линейной:

\lg T \;=\; \beta\,\lg a \;+\; \lg C.

Обозначим x_i=\lg a_i, y_i=\lg T_i — и перед нами обычная прямая, которую ищет метод наименьших квадратов. Это типовой приём: логарифмирование спрямляет степенные зависимости, и дальше работают обычные формулы регрессии.

Шесть планет, известных Кеплеру (в современных единицах: астрономические единицы и годы):

Планета a, а. е. T, лет \lg a \lg T
Меркурий 0,3871 0,2408 −0,4122 −0,6183
Венера 0,7233 0,6152 −0,1407 −0,2110
Земля 1,0000 1,0000 0,0000 0,0000
Марс 1,5237 1,8809 +0,1829 +0,2744
Юпитер 5,2034 11,862 +0,7163 +1,0742
Сатурн 9,5371 29,457 +0,9794 +1,4692

Что даёт МНК

import numpy as np

# a — большая полуось (а. е.), T — период обращения (лет)
a = np.array([0.3871, 0.7233, 1.0000, 1.5237, 5.2034, 9.5371])
T = np.array([0.2408, 0.6152, 1.0000, 1.8809, 11.862, 29.457])

x, y = np.log10(a), np.log10(T)
beta, lgC = np.polyfit(x, y, 1)

r2 = 1 - ((y - (beta * x + lgC)) ** 2).sum() / ((y - y.mean()) ** 2).sum()
print(f"beta = {beta:.7f}, lg C = {lgC:.7f}, R^2 = {r2:.9f}")
# beta = 1.4999632, lg C = -0.0000305, R^2 = 0.999999976

Шесть точек, две неизвестные — и ответ:

\hat\beta \;=\; 1{,}4999632, \qquad \widehat{\lg C} \;=\; -0{,}0000305, \qquad R^{2} \;=\; 0{,}999999976.

Наклон совпадает с 3/2 до четвёртого знака после запятой, свободный член неотличим от нуля, то есть C\approx 1. Возвращаясь от логарифмов, получаем третий закон Кеплера ровно в том виде, в каком он записан в учебниках:

T^{2} \;=\; a^{3}.

Слева: период обращения против радиуса орбиты — степенная кривая. Справа: те же шесть точек в двойной логарифмической шкале ложатся на прямую. Наклон прямой МНК и есть показатель 3/2.

Коэффициент детерминации R^{2}=0{,}999999976 означает, что прямая объясняет практически всю изменчивость данных. Для эмпирического закона, полученного из наблюдений невооружённым глазом, это аномально хорошо — и заслуга тут не метода, а Браге с его точностью.

Что на самом деле сделал Кеплер

Метода наименьших квадратов у него не было: Лежандр опубликует его в 1805 году, Гаусс — в 1809-м, через два века после Кеплера. Графиков в логарифмических осях тоже не было.

Кеплер перебирал отношения руками. После многих месяцев проб он заметил, что

\frac{T^{2}_{\text{Юпитер}}}{T^{2}_{\text{Земля}}} \approx 140{,}7, \qquad \frac{a^{3}_{\text{Юпитер}}}{a^{3}_{\text{Земля}}} \approx 140{,}9,

то есть почти одно и то же число. Отсюда он и вытащил T^{2}\sim a^{3} — в 1619 году, в трактате Harmonices Mundi.

Смысл сравнения не в том, что метод сильнее человека. Кеплер сделал главное — угадал, что связь вообще степенная, и не бросил счёт на полпути. МНК не находит идею; он даёт число, когда идея уже есть. Разница в том, что после Лежандра и Гаусса этот подсчёт перестал стоить полжизни.

Важное уведомлениеПочему это первый настоящий закон из данных

До Кеплера физические утверждения были качественными: «планеты движутся по кругам», «тяжёлое падает быстрее». Здесь впервые из таблицы наблюдений извлечено количественное соотношение между двумя измеряемыми величинами, проверяемое на новых планетах.

Проверку закон прошёл на объектах, которых Кеплер не видел. Уран открыли в 1781 году, Нептун — в 1846-м, и оба легли на ту же прямую. Закон предсказывает для них периоды 84,06 и 164,85 года при наблюдаемых 84,011 и 164,79 — промах в 0,06% и 0,04%. Спутники планет подчиняются тому же T^{2}\propto a^{3}, только со своей константой для каждой планеты: она зависит от массы центрального тела — почему, объяснит Ньютон в «Началах» через семьдесят лет после Кеплера.

Тем закон и отличается от подгонки: он работает на данных, которых в выборке не было.

Связи

Наверх