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

Наследство в двадцать лет измерений

В 1601 году в Праге умер Тихо Браге — датский астроном, который четверть века каждую ясную ночь записывал положения планет. Без телескопа, при помощи гигантских угломерных инструментов собственной постройки, он довёл точность измерений до одной-двух угловых минут — втрое-вчетверо лучше всех предшественников. Его таблицы были сокровищем в самом буквальном смысле: Браге держал их под замком, выдавал сотрудникам по листу и завещал наследникам, а его ассистент Иоганн Кеплер получил доступ к полному массиву только после смерти учителя, и то через спор с наследниками, который историки называют первым в истории конфликтом за доступ к данным.

Кеплер потратил на таблицы Марса восемь лет. Результатом стали три закона движения планет, и сегодняшний урок пройдёт путём третьего из них: от столбцов чисел к степенному закону, от закона к механизму и к проверке на данных, которых автор закона не мог даже вообразить. Это финальный урок модуля о данных, и он собирает весь его арсенал: МНК из урока о регрессии, логарифмы из урока о кластеризации, скрытые переменные из урока о данных и перенос как критерий настоящести из урока о кластерах.

Восемь минут дуги

Марс не давался Кеплеру дольше всех. Круговая орбита с хитро подобранным смещением центра описывала таблицы Браге почти идеально — расхождение составляло всего восемь угловых минут в худших точках. Почти любой вычислитель той эпохи объявил бы победу: это вчетверо меньше видимого диаметра Луны, а у предшественников Браге такова была сама точность измерений.

Кеплер рассудил иначе, и его рассуждение — методологическое ядро всего нашего курса. Он знал цену данным: Браге не ошибается на восемь минут. Значит, ошибается модель — и круг пришлось выбросить, после десятилетия работы. «Эти восемь минут указали путь к обновлению всей астрономии», — написал он позже; заменой круга стал эллипс, первый закон Кеплера. Заметьте порядок сил: точность прибора определила выбор модели. При грубых данных круг был бы честным ответом, и лишь сверхточные таблицы дали право на более сложную кривую — тот самый размен, который мы видели в уроке о Галилее и моделях и увидим строго в уроке о переобучении.

Третий закон: степень, спрятанная в таблице

Нас ждёт третий, тот, что связывает разные планеты между собой. Вот современная версия таблицы, с которой работал Кеплер: большая полуось орбиты aa в астрономических единицах (расстояние Земля — Солнце) и период обращения TT в годах.

ПланетаМеркурийВенераЗемляМарсЮпитерСатурн
aa, а.е.0,3870,7231,0001,5245,2039,537
TT, лет0,2410,6151,0001,88111,86229,457

Дальние планеты обращаются дольше, это видно и без математики. Но как именно? В десять раз дальше — во сколько раз дольше? Кеплер искал зависимость десять лет и в 1618 году нашёл: куб расстояния относится к квадрату периода одинаково у всех планет,

a3T2=constT=a3/2.\frac{a^{3}}{T^{2}}=\mathrm{const} \quad\Longleftrightarrow\quad T=a^{3/2} .

Проверьте на Сатурне: 9,5373=867,49{,}537^{3}=867{,}4 и 29,4572=867,729{,}457^{2}=867{,}7 — совпадение до третьего знака. Показатель 3/23/2 — не подгоночный коэффициент, а целочисленная в квадратах пропорция, и её странная точность требовала объяснения ещё семьдесят лет — до Ньютона, к которому мы вернёмся в конце урока.

Сначала прочувствуйте, что степень 3/23/2 означает на пальцах. В десять раз дальше значит в 103/2=31,610^{3/2}=31{,}6 раза дольше: период растёт быстрее расстояния, потому что дальняя планета не просто проходит более длинный круг — она ещё и движется по нему медленнее. В сто раз дальше, в тысячу раз дольше. Двойное замедление — геометрическое и скоростное — и складывается в полуторную степень; из механизма Ньютона в конце урока она выпадет сама.

Логарифм выпрямляет степень

Как найти показатель степени, не зная его заранее? Приём мы готовили два урока подряд: логарифмируем обе части степенного закона T=CakT=C\,a^{k},

lnT=lnC+klna,\ln T=\ln C+k\,\ln a ,

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

k^=1,4997,lnC^=0,0001.\hat k=1{,}4997, \qquad \ln\hat C=0{,}0001 .

Наклон равен трём вторым с точностью до третьего знака, свободный член нулю, потому что земные единицы (а.е. и год) сами сидят на этой прямой. Восемь точек, два параметра, и закон, который Кеплер добывал десять лет, выпадает из двух строк арифметики. Несправедливость этого сравнения кажущаяся: вся тяжесть была в том, чтобы добыть точные aa и TT из угловых измерений с движущейся Земли и догадаться, какую пару величин связывать. Данные и постановка стоили десяти лет; фит — двух строк. Пропорция не изменилась и сегодня.

Рисунок шире экрана — проведите по немуОткрыть целиком ↗
Планеты Солнечной системы в логарифмических осях расстояние-период лежат на прямой с наклоном три вторых; подписаны все восемь планет
Рис. 11.1. Восемь планет на логарифмической бумаге: степень стала наклоном

Солнечная система в осях lna\ln alnT\ln T. Кривая T=a3/2T=a^{3/2} стала прямой с наклоном 1,51{,}5; восемь планет держат её от Меркурия до Нептуна — три порядка по расстоянию, четыре по времени. Логарифмическая бумага — микроскоп для степенных законов: на ней их видно глазами и меряют линейкой.

Единицы, в которых закон прост

Свободный член lnC^=0,0001\ln\hat C=0{,}0001 — не удача, а следствие выбора единиц: астрономическая единица и год — это полуось и период Земли, поэтому точка (0,0)(0,0) лежит на прямой по построению, и вместе с наклоном 3/23/2 это прибивает всю формулу. В метрах и секундах закон тот же, но константа делается громоздкой:

a3T2=GM4π2=3,361018 м3/с2.\frac{a^{3}}{T^{2}} =\frac{G M_{\odot}}{4\pi^{2}} =3{,}36\cdot 10^{18}\ \text{м}^{3}/\text{с}^{2} .

Отсюда практическое правило, которое пригодится в каждой задаче урока: показатель степени — свойство природы, он одинаков в любых единицах; свободный член — свойство системы отсчёта, он поглощает и единицы, и массу центрального тела. Перевели периоды из лет в сутки — прямая сдвинулась на ln365,25\ln 365{,}25 вверх, не изменив наклона. Сменили Солнце на Юпитер со свитой спутников — та же степень, другая константа. Одна формула обслуживает планеты, спутники и искусственные аппараты — надо лишь каждый раз честно пересчитывать свой CC.

Закон или подгонка: экзамен переносом

Придирчивый читатель урока о кластерах обязан спросить: восемь точек, два параметра — не слишком ли легко? Через восемь точек можно провести полином седьмой степени вообще без ошибки. Чем T=a3/2T=a^{3/2} лучше идеально точного полинома?

Ответом служит перенос, и у него в этой истории есть три великих свидетеля. Уран (1781): предсказан законом с точностью 0,1%. Нептун (1846): сам открыт на кончике пера из возмущений Урана. И Церера (1801) в поясе астероидов: при a=2,77a=2{,}77 а.е. закон требует T=2,773/2=4,61T=2{,}77^{3/2}=4{,}61 года, наблюдается 4,604{,}60. Полином седьмой степени, идеальный на восьми планетах, внутри их диапазона держится неплохо — но стоит выйти за Нептун, как он обваливается в бессмыслицу: в точке Плутона предсказывает минус тринадцать тысяч лет. Мы построим эту картинку честно на рис. 11.4: она стоит тысячи слов о переобучении и станет опорной в уроке о полиномах.

Закон отличается тем, что у модели почти нет свободы: один показатель, один множитель, и тот прибит единицами. Ей негде спрятать шум, поэтому её успех на новых точках — свидетельство о природе, а не о гибкости формулы. Чем меньше у модели ручек, тем громче говорит её точность.

Как открывают невидимое

Прежде чем проверять закон на чужих мирах, нужно понять, откуда о них вообще известно: экзопланету не видно ни в какой телескоп — её свет тонет в свете звезды, как свет комара рядом с прожектором. Два главных метода обходят это препятствие, и оба по-кеплеровски выжимают всё из косвенных измерений.

Транзитный метод караулит затмения. Если орбита планеты повёрнута к нам ребром, планета регулярно проходит по диску звезды, и блеск звезды проседает на доли процента — у Юпитера перед Солнцем на один процент, у Земли на сотую его часть. Расписание провалов даёт период TT напрямую, а полуось из него вычисляет… третий закон Кеплера: массу звезды оценивают по её спектру, и a=(T2M)1/3a=(T^{2}M)^{1/3}. Столбец pl_orbsmax в каталоге по большей части не измерен, а посчитан формулой этого урока — помните об этом, когда будете «проверять» закон в задачах: для транзитных планет вы проверяете не закон, а согласованность каталога, и честный тест закона дают методы, где aa и TT измерены независимо.

Доплеровский метод слушает качание. Планета не крутится вокруг неподвижной звезды — оба тела обращаются вокруг общего центра масс, и звезда описывает свой маленький круг. По периодическому сдвигу линий её спектра (эффекту Доплера) видно, как звезда попеременно приближается и удаляется со скоростью в метры в секунду: скорость пешехода, прочитанная по свету за сотни световых лет. Период качания равен периоду планеты; амплитуда выдаёт её массу.

pтранзитаRa:у a=0,05 а.е.    p9%,у a=1 а.е.    p0,5%.p_{\text{транзита}}\approx\frac{R_{\star}}{a}: \qquad \text{у }a=0{,}05\text{ а.е.}\;\;p\approx 9\%, \qquad \text{у }a=1\text{ а.е.}\;\;p\approx 0{,}5\% .

Формула вероятности транзита при случайной ориентации орбит — ключ к устройству каталога: тесные планеты транзитят в двадцать раз охотнее земных близнецов, и каталог набит ими не потому, что их больше во Вселенной, а потому, что их проще поймать. Это смещение отбора из урока о статистике в астрономических масштабах, и в задачах мы измерим его на самом каталоге.

Рисунок шире экрана — проведите по немуОткрыть целиком ↗
Схема транзитного метода: планета проходит по диску звезды, и на кривой блеска появляется периодический прямоугольный провал; подписаны период и глубина провала
Рис. 11.2. Транзит: планету не видно, но виден её график

Слева планета проходит по диску звезды; справа кривая блеска — доля света звезды по времени. Глубина провала — квадрат отношения радиусов, расстояние между провалами — период TT. Вся «фотография» экзопланеты — вот этот прямоугольный провал глубиной в доли процента; остальное достраивают законы этого урока.

Три с половиной тысячи чужих миров

У Кеплера было шесть планет; у нас — каталог NASA Exoplanet Archive, открытая сводка всех подтверждённых планет у других звёзд. Копия среза лежит в репозитории курса: scripts/data/exoplanets.csv, 3562 планеты с измеренными периодом и большой полуосью, у большинства — с массой звезды, методом и годом открытия. Прибор другой, логика кеплеровская: угловые минуты Браге сменились миллионными долями звёздного блеска.

Нанесём на кеплеровскую лог-лог плоскость 416 планет, обращающихся вокруг звёзд солнечной массы (от 0,95 до 1,05 массы Солнца), — и посчитаем наклон:

k^экзо=1,4988,lnC^=0,006.\hat k_{\text{экзо}}=1{,}4988 , \qquad \ln\hat C=-0{,}006 .

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

Рисунок шире экрана — проведите по немуОткрыть целиком ↗
Сотни экзопланет у солнцеподобных звёзд в логарифмических осях ложатся на ту же прямую с наклоном три вторых, что и планеты Солнечной системы, отмеченные крупными точками
Рис. 11.3. Чужие миры на прямой Кеплера

Серые точки — 416 экзопланет у звёзд солнечной массы; цветные — восемь планет Солнечной системы. Одна прямая, наклон 1,49881{,}4988 против кеплеровских 1,49971{,}4997. Большинство экзопланет теснится в левом нижнем углу — ближе к звезде, чем Меркурий к Солнцу: не потому, что таких миров больше, а потому, что их проще обнаружить, — смещение отбора из урока о статистике в астрономических масштабах.

Полином приходит на экзамен

Теперь у нас есть всё, чтобы выполнить обещание из раздела о подгонке: устроить очную ставку закона и полинома на точках, которых не видел ни тот, ни другой. Полином седьмой степени проходит через восемь планет Солнечной системы буквально без ошибки — нуль против пусть крошечных, но ненулевых остатков закона 3/23/2. По логике «чем меньше ошибка на обучении, тем лучше» полином обязан победить:

T=c0+c1a+c2a2++c7a7,ошибка на восьми планетах=0.T=c_{0}+c_{1}a+c_{2}a^{2}+\dots+c_{7}a^{7}, \qquad \text{ошибка на восьми планетах}=0 .
Рисунок шире экрана — проведите по немуОткрыть целиком ↗
В логарифмических осях полином седьмой степени точно проходит через восемь планет, но выделывает петли между ними и уходит от экзопланет за пределами обучающего диапазона, тогда как прямая с наклоном три вторых продолжает описывать все точки
Рис. 11.4. Полином седьмой степени против закона: нуль ошибки и провал на переносе

Обе модели обучены на одних и тех же восьми планетах (крупные точки). Внутри обученного диапазона полином терпим: Цереру он предсказывает почти как закон. Но на первом же шаге наружу рушится: за Нептуном ныряет в отрицательные периоды, и в точке Плутона выдаёт 13480-13\,480 лет; левее Меркурия — где живёт большинство экзопланет — снова минус. Ошибка на восьми точках: у полинома нуль, у закона — доли процента. Ошибка за их пределами — наоборот, и не на проценты, а на знак. Это рис. 33.1 будущего урока о переобучении, прожитый на живых мирах.

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

Наклон 1,46: скрытая переменная выходит из тени

Теперь испортим картину поучительным образом: возьмём не только солнцеподобные звёзды, а все 3562 планеты. Наклон сползает к 1,4601{,}460, облако толстеет. Закон сломался за пределами Солнечной системы?

Нет — проявилась переменная, которую малая выборка прятала. Полная форма третьего закона, которую выведет Ньютон, содержит массу центральной звезды:

T2M=a3lnT=32lna12lnM,T^{2}\,M=a^{3} \quad\Longleftrightarrow\quad \ln T=\tfrac{3}{2}\ln a-\tfrac{1}{2}\ln M ,

в единицах «годы — а.е. — массы Солнца». У тяжёлой звезды хватка сильнее, и тот же радиус оборачивается быстрее: точки массивных звёзд лежат ниже прямой, лёгких — выше. Пока все звёзды — Солнце, слагаемое с массой — константа, и его не видно; смешайте звёзды от красных карликов до гигантов — и «шум» вокруг прямой окажется упорядоченным следом второй переменной. Мы встречали этот сюжет в уроке о данных как смешивающий фактор и в уроке о кластерах как ось, задавленную метрикой; здесь он получает самое красивое разрешение: остатки от прямой, нанесённые против массы звезды, сами выстраиваются в прямую с наклоном 12-\tfrac12 — модель говорит, чего ей не хватает, и говорит формулой.

Рисунок шире экрана — проведите по немуОткрыть целиком ↗
Отклонения периодов экзопланет от прямой с наклоном три вторых, нанесённые против логарифма массы звезды, образуют нисходящую прямую с наклоном минус половина
Рис. 11.5. Остатки от кеплеровской прямой против массы звезды: минус одна вторая

Каждая точка — экзопланета; по горизонтали логарифм массы её звезды, по вертикали — остаток от прямой lnT=32lna\ln T=\tfrac32\ln a. Остатки не шумят, а маршируют по прямой: МНК даёт наклон 0,48-0{,}48, вплотную к 12-\tfrac12, который предписывает полная форма закона. Систематический остаток — это недостающая переменная, представившаяся по имени.

Поправка по имени масса

Раз остатки предсказуемы, их можно вернуть модели. Перенесём слагаемое с массой влево:

lnT+12lnM=32lnaTM=a3/2,\ln T+\tfrac12\ln M=\tfrac32\ln a \quad\Longleftrightarrow\quad T\sqrt{M}=a^{3/2} ,

то есть будем откладывать по вертикали не период, а период, домноженный на корень из массы звезды, — «период, приведённый к солнечной массе». В этих осях у прямой снова нет причин зависеть от звезды, и все 3562 планеты обязаны собраться на одну линию.

Они и собираются: разброс вокруг прямой падает втрое, наклон возвращается к 1,501{,}50, и облако, которое в смешанной выборке расползалось на пол-логарифма, сжимается в струну. Это стандартный приём под разными именами — в астрономии «приведение», в статистике «контроль ковариаты», в машинном обучении «добавить признак в модель», — и рис. 11.6 показывает его в действии: до и после.

Рисунок шире экрана — проведите по немуОткрыть целиком ↗
Две панели: слева все экзопланеты в исходных логарифмических осях образуют широкое облако вокруг прямой, справа после умножения периода на корень из массы звезды облако сжимается к прямой с наклоном ровно три вторых
Рис. 11.6. До и после поправки на массу: облако сжимается в струну

Слева — все планеты каталога в исходных осях: наклон 1,461{,}46, широкое облако. Справа — те же планеты после замены TTMT\mapsto T\sqrt{M}: наклон 1,501{,}50, разброс втрое меньше. Скрытая переменная, впущенная в модель, перестаёт маскироваться под шум. Приём переносится дословно: в уроке о данных так вводили возраст в историю с мороженым, в уроке об A/B-тестах так же поступят со страной пользователя.

Слишком гладко: допрос каталога

Пора вернуть обещанный долг — второе дно безупречной прямой. Посчитаем для каждой планеты каталога невязку полного закона:

d=lnT32lna+12lnM;у 76% планет  d<0,01.d=\ln T-\tfrac32\ln a+\tfrac12\ln M ; \qquad \text{у }76\%\text{ планет }\ |d|<0{,}01 .

Вспомните точность исходных данных: массы звёзд из спектров известны в лучшем случае с ошибкой в несколько процентов. Откуда согласие в доли процента там, где измерения не могут дать лучше нескольких?

Ответ отрезвляет: столбец полуосей по большей части не измерен, а вычислен — авторы каталога сами получили aa из периода и массы звезды по формуле a=(T2M)1/3a=(T^{2}M)^{1/3}, то есть по третьему закону. Нанося такие планеты на кеплеровскую прямую, мы проверяем не Вселенную, а арифметику составителей: колонка данных оказалась выходом той самой модели, которую мы собрались ею проверять. В машинном обучении у этой ловушки есть имя — утечка: признак, тайно изготовленный из ответа. Урок на всю жизнь работы с данными: у каждого столбца есть происхождение, и читать его документацию важнее, чем считать по нему регрессию.

Что же тогда в экзопланетной половине урока настоящее? Немало. Периоды измерены честно — по расписаниям затмений и качаний. Массы звёзд добыты независимо от орбит — из спектров и моделей звёзд, и то, что поправка именно 12lnM-\tfrac12\ln M с независимо измеренной массой собирает планеты всех методов на одну прямую, — содержательная проверка. Наконец, есть системы, где полуось измерена напрямую, — на снимках у сфотографированных планет и у спутников Юпитера, видимых в любой школьный телескоп: там закон проверяется без всякой циркулярности, и он проходит. Прямая на рис. 11.3 правдива; неправдиво было бы наше представление о том, что именно она доказывает.

Лаборатория: постройте закон сами

От восьми планет к трём тысячам: наклон, масса и перенос

Загружается живая иллюстрация…

Порядок опытов. Начните с восьми планет Солнечной системы и подберите наклон вручную — почувствуйте, как жёстко восемь точек на трёх порядках держат показатель. Включите экзопланеты солнцеподобных звёзд и убедитесь, что ваш наклон пережил перенос. Затем откройте все звёзды и посмотрите, как облако толстеет; включите поправку 12lnM-\tfrac12\ln M — и оно снова сожмётся к прямой. Следите за табло: среднеквадратичная ошибка на планетах Солнечной системы и отдельно на экзопланетах — это обучение и перенос из урока об обучающей и тестовой выборках, сыгранные на небе.

Ньютон: показатель получает механизм

Почему именно три вторых? Через семьдесят лет после Кеплера Ньютон вывел его закон из двух своих: тяготения и второго закона механики. Для круговой орбиты вывод умещается в три строки. Тяготение и есть та сила, что удерживает планету на окружности:

GMma2=mv2a,v=2πaT,\frac{G M m}{a^{2}} =\frac{m\,v^{2}}{a}, \qquad v=\frac{2\pi a}{T} ,

подставим скорость и сократим массу планеты mm:

T2=4π2GMa3.T^{2} =\frac{4\pi^{2}}{G M}\,a^{3} .

Куб и квадрат Кеплера оказались тенью закона обратных квадратов; масса планеты сократилась — потому все планеты и легли на одну линию, а масса звезды осталась — потому линии разных звёзд и расходятся. Эмпирический закон стал следствием механизма, и это разрешение спора, который мы ведём с урока 02: подгонка описывает данные, механизм объясняет, почему данные не могли быть другими. Машинное обучение в этой шкале почти всегда живёт на кеплеровской ступени — точные закономерности без механизма, — и знать, на какой ступени стоишь, важнее, чем стыдиться её.

Сборка: чему учит самая старая регрессия

История третьего закона — это конспект всего модуля о данных, прожитый за четыре века до него. Данные добываются дорого и решают всё: двадцать лет Браге против двух строк фита. Точность прибора выбирает модель: восемь минут дуги похоронили круг. Степенной закон линеаризуется логарифмом, и наклон находится МНК; показатель принадлежит природе, свободный член — единицам. Настоящесть закона проверяется переносом: Уран, Церера, спутники Юпитера, а затем чужие миры. Систематика остатков — не шум, а скрытая переменная, и полная форма закона принимает её по имени: масса звезды с наклоном минус одна вторая. Модель без лишних ручек говорит громче гибкой; механизм Ньютона объясняет, почему показатель не мог быть другим. Согласие точнее возможностей прибора — такая же улика, как расхождение: у столбца данных всегда есть происхождение, и его надо знать до того, как считать. И последнее, самое кеплеровское: между «почти сошлось» и «сошлось» лежит вся разница между астрономией до и после — уважение к невязке в восемь минут дуги и есть та привычка, которую весь этот модуль пытался поставить.

Задачи