Как из столбцов чисел добывают закон природы, а не удобную кривую?
Двадцать лет измерений одного астронома стали первым великим датасетом
в истории; из него добыли три закона, которые работают до сих пор. Мы
повторим главный ход Кеплера на его собственном материале, а потом
сделаем то, о чём он не смел мечтать: проверим закон на трёх с половиной
тысячах чужих миров.
Наследство в двадцать лет измерений
В 1601 году в Праге умер Тихо Браге — датский астроном, который четверть
века каждую ясную ночь записывал положения планет. Без телескопа, при
помощи гигантских угломерных инструментов собственной постройки, он
довёл точность измерений до одной-двух угловых минут — втрое-вчетверо
лучше всех предшественников. Его таблицы были сокровищем в самом
буквальном смысле: Браге держал их под замком, выдавал сотрудникам по
листу и завещал наследникам, а его ассистент Иоганн Кеплер получил
доступ к полному массиву только после смерти учителя, и то через спор
с наследниками, который историки называют первым в истории конфликтом
за доступ к данным.
Кеплер потратил на таблицы Марса восемь лет. Результатом стали три закона
движения планет, и сегодняшний урок пройдёт путём третьего из них:
от столбцов чисел к степенному закону, от закона к механизму и к
проверке на данных, которых автор закона не мог даже вообразить. Это
финальный урок модуля о данных, и он собирает весь его арсенал: МНК из
урока о регрессии, логарифмы из
урока о кластеризации, скрытые переменные из
урока о данных и перенос как критерий настоящести из
урока о кластерах.
Восемь минут дуги
Марс не давался Кеплеру дольше всех. Круговая орбита с хитро
подобранным смещением центра описывала таблицы Браге почти идеально —
расхождение составляло всего восемь угловых минут в худших точках.
Почти любой вычислитель той эпохи объявил бы победу: это вчетверо
меньше видимого диаметра Луны, а у предшественников Браге
такова была сама точность измерений.
Кеплер рассудил иначе, и его рассуждение — методологическое ядро всего
нашего курса. Он знал цену данным: Браге не ошибается на восемь минут.
Значит, ошибается модель — и круг пришлось выбросить, после
десятилетия работы. «Эти восемь минут указали путь к обновлению всей
астрономии», — написал он позже; заменой круга стал эллипс, первый
закон Кеплера. Заметьте порядок сил: точность прибора определила выбор
модели. При грубых данных круг был бы честным ответом, и лишь
сверхточные таблицы дали право на более сложную кривую — тот самый
размен, который мы видели в уроке о Галилее и моделях и
увидим строго в уроке о переобучении.
Третий закон: степень, спрятанная в таблице
Нас ждёт третий, тот, что связывает разные планеты между собой.
Вот современная версия таблицы, с которой работал Кеплер: большая
полуось орбиты a в астрономических единицах (расстояние Земля —
Солнце) и период обращения T в годах.
Планета
Меркурий
Венера
Земля
Марс
Юпитер
Сатурн
a, а.е.
0,387
0,723
1,000
1,524
5,203
9,537
T, лет
0,241
0,615
1,000
1,881
11,862
29,457
Дальние планеты обращаются дольше, это видно и без математики. Но как
именно? В десять раз дальше — во сколько раз дольше? Кеплер искал
зависимость десять лет и в 1618 году нашёл: куб расстояния относится к
квадрату периода одинаково у всех планет,
T2a3=const⟺T=a3/2.
Проверьте на Сатурне: 9,5373=867,4 и 29,4572=867,7 —
совпадение до третьего знака. Показатель 3/2 — не подгоночный
коэффициент, а целочисленная в квадратах пропорция, и её странная
точность требовала объяснения ещё семьдесят лет — до Ньютона, к
которому мы вернёмся в конце урока.
Сначала прочувствуйте, что степень 3/2 означает на пальцах. В десять
раз дальше значит в 103/2=31,6 раза дольше: период растёт быстрее
расстояния, потому что дальняя планета не просто проходит более длинный
круг — она ещё и движется по нему медленнее. В сто раз дальше, в
тысячу раз дольше. Двойное замедление — геометрическое и скоростное —
и складывается в полуторную степень; из механизма Ньютона в конце урока
она выпадет сама.
Логарифм выпрямляет степень
Как найти показатель степени, не зная его заранее? Приём мы готовили
два урока подряд: логарифмируем обе части степенного закона
T=Cak,
lnT=lnC+klna,
и в логарифмических осях степенная кривая превращается в прямую: показатель
степени становится наклоном, множитель — свободным членом.
Задача «угадай нелинейный закон» стала задачей «проведи прямую по
точкам», которую мы решаем формулами МНК из
урока о регрессии. Посчитаем по восьми планетам, от
Меркурия до Нептуна:
k^=1,4997,lnC^=0,0001.
Наклон равен трём вторым с точностью до третьего знака, свободный член
нулю, потому что земные единицы (а.е. и год) сами сидят на этой прямой.
Восемь точек, два параметра, и закон, который Кеплер добывал десять
лет, выпадает из двух строк арифметики. Несправедливость этого
сравнения кажущаяся: вся тяжесть была в том, чтобы добыть точные
a и T из угловых измерений с движущейся Земли и догадаться, какую
пару величин связывать. Данные и постановка стоили десяти лет; фит —
двух строк. Пропорция не изменилась и сегодня.
Рис. 11.1. Восемь планет на логарифмической бумаге: степень стала наклоном
Солнечная система в осях lna — lnT. Кривая T=a3/2 стала
прямой с наклоном 1,5; восемь планет держат её от Меркурия до
Нептуна — три порядка по расстоянию, четыре по времени. Логарифмическая
бумага — микроскоп для степенных законов: на ней их видно глазами и
меряют линейкой.
Единицы, в которых закон прост
Свободный член lnC^=0,0001 — не удача, а следствие выбора
единиц: астрономическая единица и год — это полуось и период Земли,
поэтому точка (0,0) лежит на прямой по построению, и вместе с
наклоном 3/2 это прибивает всю формулу. В метрах и секундах закон тот
же, но константа делается громоздкой:
T2a3=4π2GM⊙=3,36⋅1018м3/с2.
Отсюда практическое правило, которое пригодится в каждой задаче урока:
показатель степени — свойство природы, он одинаков в любых единицах;
свободный член — свойство системы отсчёта, он поглощает и единицы, и
массу центрального тела. Перевели периоды из лет в сутки — прямая
сдвинулась на ln365,25 вверх, не изменив наклона. Сменили Солнце
на Юпитер со свитой спутников — та же степень, другая константа. Одна
формула обслуживает планеты, спутники и искусственные аппараты — надо
лишь каждый раз честно пересчитывать свой C.
Закон или подгонка: экзамен переносом
Придирчивый читатель урока о кластерах обязан спросить:
восемь точек, два параметра — не слишком ли легко? Через восемь точек
можно провести полином седьмой степени вообще без ошибки. Чем
T=a3/2 лучше идеально точного полинома?
Ответом служит перенос, и у него в этой истории есть три великих
свидетеля. Уран (1781): предсказан законом с точностью 0,1%. Нептун
(1846): сам открыт на кончике пера из возмущений Урана. И Церера
(1801) в поясе астероидов: при a=2,77 а.е. закон требует
T=2,773/2=4,61 года, наблюдается 4,60. Полином седьмой
степени, идеальный на восьми планетах, внутри их диапазона держится
неплохо — но стоит выйти за Нептун, как он обваливается в бессмыслицу:
в точке Плутона предсказывает минус тринадцать тысяч лет. Мы построим
эту картинку честно на рис. 11.4: она стоит тысячи слов о переобучении
и станет опорной в уроке о полиномах.
Закон отличается тем, что у модели почти нет свободы: один показатель, один
множитель, и тот прибит единицами. Ей негде спрятать шум, поэтому её
успех на новых точках — свидетельство о природе, а не о гибкости
формулы. Чем меньше у модели ручек, тем громче говорит её точность.
Как открывают невидимое
Прежде чем проверять закон на чужих мирах, нужно понять, откуда о них
вообще известно: экзопланету не видно ни в какой телескоп — её свет
тонет в свете звезды, как свет комара рядом с прожектором. Два главных
метода обходят это препятствие, и оба по-кеплеровски выжимают всё из
косвенных измерений.
Транзитный метод караулит затмения. Если орбита планеты повёрнута к нам
ребром, планета регулярно проходит по диску звезды, и блеск звезды
проседает на доли процента — у Юпитера перед Солнцем на один процент, у
Земли на сотую его часть. Расписание провалов даёт период T напрямую,
а полуось из него вычисляет… третий закон Кеплера: массу звезды
оценивают по её спектру, и a=(T2M)1/3. Столбец pl_orbsmax в
каталоге по большей части не измерен, а посчитан формулой этого урока —
помните об этом, когда будете «проверять» закон в задачах: для
транзитных планет вы проверяете не закон, а согласованность каталога, и
честный тест закона дают методы, где a и T измерены независимо.
Доплеровский метод слушает качание. Планета не крутится вокруг
неподвижной звезды — оба тела обращаются вокруг общего центра масс, и
звезда описывает свой маленький круг. По периодическому сдвигу линий её
спектра (эффекту Доплера) видно, как звезда попеременно приближается
и удаляется со скоростью в метры в секунду: скорость пешехода,
прочитанная по свету за сотни световых лет. Период качания равен периоду
планеты; амплитуда выдаёт её массу.
pтранзита≈aR⋆:уa=0,05а.е.p≈9%,уa=1а.е.p≈0,5%.
Формула вероятности транзита при случайной ориентации орбит — ключ к
устройству каталога: тесные планеты транзитят в двадцать раз охотнее
земных близнецов, и каталог набит ими не потому, что их больше во
Вселенной, а потому, что их проще поймать. Это смещение отбора из
урока о статистике в астрономических масштабах, и в
задачах мы измерим его на самом каталоге.
Рис. 11.2. Транзит: планету не видно, но виден её график
Слева планета проходит по диску звезды; справа кривая блеска — доля
света звезды по времени. Глубина провала — квадрат отношения радиусов,
расстояние между провалами — период T. Вся «фотография» экзопланеты —
вот этот прямоугольный провал глубиной в доли процента; остальное
достраивают законы этого урока.
Три с половиной тысячи чужих миров
У Кеплера было шесть планет; у нас — каталог NASA Exoplanet Archive,
открытая сводка всех подтверждённых планет у других звёзд. Копия среза
лежит в репозитории курса: scripts/data/exoplanets.csv, 3562 планеты
с измеренными периодом и большой полуосью, у большинства — с массой
звезды, методом и годом открытия. Прибор другой, логика кеплеровская:
угловые минуты Браге сменились миллионными долями звёздного блеска.
Нанесём на кеплеровскую лог-лог плоскость 416 планет, обращающихся
вокруг звёзд солнечной массы (от 0,95 до 1,05 массы Солнца), — и
посчитаем наклон:
k^экзо=1,4988,lnC^=−0,006.
Прямая Меркурия и Нептуна продолжилась в чужие солнечные системы без
единой поправки: миры на расстояниях в сотни световых лет легли на
линию, проведённую по шести планетам из Праги. Выглядит как перенос
такого масштаба, какого не знает ни одна модель нашего курса, — и
по существу так оно и есть, но у этой безупречности будет второе дно:
прямая держит точки чуть крепче, чем позволили бы честные измерения, и
через три раздела мы устроим каталогу допрос по всем правилам работы с
данными.
Серые точки — 416 экзопланет у звёзд солнечной массы; цветные — восемь
планет Солнечной системы. Одна прямая, наклон 1,4988 против
кеплеровских 1,4997. Большинство экзопланет теснится в левом нижнем
углу — ближе к звезде, чем Меркурий к Солнцу: не потому, что таких
миров больше, а потому, что их проще обнаружить, — смещение отбора из
урока о статистике в астрономических масштабах.
Полином приходит на экзамен
Теперь у нас есть всё, чтобы выполнить обещание из раздела о подгонке:
устроить очную ставку закона и полинома на точках, которых не видел ни
тот, ни другой. Полином седьмой степени проходит через восемь планет
Солнечной системы буквально без ошибки — нуль против пусть крошечных,
но ненулевых остатков закона 3/2. По логике «чем меньше ошибка на
обучении, тем лучше» полином обязан победить:
Рис. 11.4. Полином седьмой степени против закона: нуль ошибки и провал на переносе
Обе модели обучены на одних и тех же восьми планетах (крупные точки).
Внутри обученного диапазона полином терпим: Цереру он предсказывает
почти как закон. Но на первом же шаге наружу рушится: за Нептуном
ныряет в отрицательные периоды, и в точке Плутона выдаёт −13480
лет; левее Меркурия — где живёт большинство экзопланет — снова минус.
Ошибка на восьми точках: у полинома нуль, у закона — доли процента.
Ошибка за их пределами — наоборот, и не на проценты, а на знак. Это
рис. 33.1 будущего урока о переобучении, прожитый на
живых мирах.
Причина провала не в невезении, а в арифметике свободы. У полинома
седьмой степени восемь коэффициентов — по числу обучающих точек, и он
тратит их на то, чтобы пройти через каждую, включая её погрешность;
между точками коэффициенты ещё держат друг друга, но за последней
точкой высшая степень остаётся без присмотра и утаскивает кривую, куда
велит её знак. Интерполяция прощает гибкость, экстраполяция — нет. У
закона параметра два, а после выбора земных единиц — по сути ни одного:
вся его «свобода» ушла в утверждение о природе, и проверить его можно,
но подогнать — нечем. Правило, которое отсюда выросло, вы примените
ещё десятки раз: доверие к модели покупается не малой ошибкой на
известных данных, а малым числом ручек при малой ошибке на новых.
Наклон 1,46: скрытая переменная выходит из тени
Теперь испортим картину поучительным образом: возьмём не только
солнцеподобные звёзды, а все 3562 планеты. Наклон сползает к
1,460, облако толстеет. Закон сломался за пределами Солнечной
системы?
Нет — проявилась переменная, которую малая выборка прятала. Полная
форма третьего закона, которую выведет Ньютон, содержит массу
центральной звезды:
T2M=a3⟺lnT=23lna−21lnM,
в единицах «годы — а.е. — массы Солнца». У тяжёлой звезды хватка
сильнее, и тот же радиус оборачивается быстрее: точки массивных звёзд
лежат ниже прямой, лёгких — выше. Пока все звёзды — Солнце, слагаемое
с массой — константа, и его не видно; смешайте звёзды от красных
карликов до гигантов — и «шум» вокруг прямой окажется упорядоченным
следом второй переменной. Мы встречали этот сюжет в
уроке о данных как смешивающий фактор и в
уроке о кластерах как ось, задавленную метрикой; здесь
он получает самое красивое разрешение: остатки от прямой, нанесённые
против массы звезды, сами выстраиваются в прямую с наклоном
−21 — модель говорит, чего ей не хватает, и говорит формулой.
Рис. 11.5. Остатки от кеплеровской прямой против массы звезды: минус одна вторая
Каждая точка — экзопланета; по горизонтали логарифм массы её звезды, по
вертикали — остаток от прямой lnT=23lna. Остатки не шумят,
а маршируют по прямой: МНК даёт наклон −0,48, вплотную к
−21, который предписывает полная форма закона. Систематический остаток — это недостающая
переменная, представившаяся по имени.
Поправка по имени масса
Раз остатки предсказуемы, их можно вернуть модели. Перенесём слагаемое
с массой влево:
lnT+21lnM=23lna⟺TM=a3/2,
то есть будем откладывать по вертикали не период, а период, домноженный
на корень из массы звезды, — «период, приведённый к солнечной массе».
В этих осях у прямой снова нет причин зависеть от звезды, и все 3562
планеты обязаны собраться на одну линию.
Они и собираются: разброс вокруг прямой падает втрое, наклон
возвращается к 1,50, и облако, которое в смешанной выборке
расползалось на пол-логарифма, сжимается в струну. Это стандартный
приём под разными именами — в астрономии «приведение», в статистике
«контроль ковариаты», в машинном обучении «добавить признак в модель»,
— и рис. 11.6 показывает его в действии: до и после.
Рис. 11.6. До и после поправки на массу: облако сжимается в струну
Слева — все планеты каталога в исходных осях: наклон 1,46, широкое
облако. Справа — те же планеты после замены T↦TM:
наклон 1,50, разброс втрое меньше. Скрытая переменная, впущенная в
модель, перестаёт маскироваться под шум. Приём переносится дословно:
в уроке о данных так вводили возраст в историю с
мороженым, в уроке об A/B-тестах так же поступят со
страной пользователя.
Слишком гладко: допрос каталога
Пора вернуть обещанный долг — второе дно безупречной прямой. Посчитаем
для каждой планеты каталога невязку полного закона:
d=lnT−23lna+21lnM;у76%планет∣d∣<0,01.
Вспомните точность
исходных данных: массы звёзд из спектров известны в лучшем случае с
ошибкой в несколько процентов. Откуда согласие в доли процента там,
где измерения не могут дать лучше нескольких?
Ответ отрезвляет: столбец полуосей по большей части не измерен, а
вычислен — авторы каталога сами получили a из периода и массы звезды
по формуле a=(T2M)1/3, то есть по третьему закону. Нанося
такие планеты на кеплеровскую прямую, мы проверяем не Вселенную, а
арифметику составителей: колонка данных оказалась выходом той самой
модели, которую мы собрались ею проверять. В машинном обучении у этой
ловушки есть имя — утечка: признак, тайно изготовленный из ответа. Урок
на всю жизнь работы с данными: у каждого столбца есть происхождение, и
читать его документацию важнее, чем считать по нему регрессию.
Что же тогда в экзопланетной половине урока настоящее? Немало. Периоды
измерены честно — по расписаниям затмений и качаний. Массы звёзд
добыты независимо от орбит — из спектров и моделей звёзд, и то, что
поправка именно −21lnM с независимо измеренной массой
собирает планеты всех методов на одну прямую, — содержательная
проверка. Наконец, есть системы, где полуось измерена напрямую, — на
снимках у сфотографированных планет и у спутников Юпитера, видимых в
любой школьный телескоп: там закон проверяется без всякой
циркулярности, и он проходит. Прямая на рис. 11.3 правдива; неправдиво
было бы наше представление о том, что именно она доказывает.
Лаборатория: постройте закон сами
От восьми планет к трём тысячам: наклон, масса и перенос
График шире экрана — листайте по горизонтали →
Загружается живая иллюстрация…
Порядок опытов. Начните с восьми планет Солнечной системы и подберите
наклон вручную — почувствуйте, как жёстко восемь точек на трёх порядках
держат показатель. Включите экзопланеты солнцеподобных звёзд и
убедитесь, что ваш наклон пережил перенос. Затем откройте все звёзды и
посмотрите, как облако толстеет; включите поправку −21lnM — и
оно снова сожмётся к прямой. Следите за табло: среднеквадратичная
ошибка на планетах Солнечной системы и отдельно на экзопланетах — это
обучение и перенос из урока об обучающей и тестовой выборках,
сыгранные на небе.
Ньютон: показатель получает механизм
Почему именно три вторых? Через семьдесят лет после Кеплера Ньютон
вывел его закон из двух своих: тяготения и второго закона механики. Для
круговой орбиты вывод умещается в три строки. Тяготение и есть та сила, что удерживает планету на окружности:
a2GMm=amv2,v=T2πa,
подставим скорость и сократим массу планеты m:
T2=GM4π2a3.
Куб и квадрат Кеплера оказались тенью закона обратных квадратов; масса
планеты сократилась — потому все планеты и легли на одну линию, а масса
звезды осталась — потому линии разных звёзд и расходятся. Эмпирический
закон стал следствием механизма, и это разрешение спора, который мы
ведём с урока 02: подгонка описывает данные, механизм
объясняет, почему данные не могли быть другими. Машинное обучение в
этой шкале почти всегда живёт на кеплеровской ступени — точные
закономерности без механизма, — и знать, на какой ступени стоишь,
важнее, чем стыдиться её.
Сборка: чему учит самая старая регрессия
История третьего закона — это конспект всего модуля о данных, прожитый
за четыре века до него. Данные добываются дорого и решают всё: двадцать
лет Браге против двух строк фита. Точность прибора выбирает модель:
восемь минут дуги похоронили круг. Степенной закон линеаризуется
логарифмом, и наклон находится МНК; показатель принадлежит природе,
свободный член — единицам. Настоящесть закона проверяется переносом:
Уран, Церера, спутники Юпитера, а затем чужие миры. Систематика
остатков — не шум, а скрытая переменная, и полная форма закона
принимает её по имени: масса звезды с наклоном минус одна вторая.
Модель без лишних ручек говорит громче гибкой; механизм Ньютона
объясняет, почему показатель не мог быть другим. Согласие точнее
возможностей прибора — такая же улика, как расхождение: у столбца
данных всегда есть происхождение, и его надо знать до того, как
считать. И последнее, самое кеплеровское: между «почти сошлось» и
«сошлось» лежит вся разница между астрономией до и после — уважение к
невязке в восемь минут дуги и есть та привычка, которую весь этот
модуль пытался поставить.