Если вы посещали занятия по статистике — вы, возможно, проходили тему «общая теория меры». Там могла идти речь о мере и об интеграле Лебега, а так же — об их связи с другими способами интегрирования. Если на ваших занятиях много внимания уделялось математике (так было у меня), то на них вы вполне могли познакомиться с теоремой Каратеодори о продолжении меры и даже с основами теории операторов на гильбертовых пространствах, а так же — с преобразованиями Фурье и много с чем ещё. Большинство этих математических конструкций нацелено на доказательство одной из самых важных теорем, на которой основана огромная часть статистики. Речь идёт о центральной предельной теореме (ЦПТ).
ЦПТ утверждает, что для широкого класса того, что мы называем в математике «случайными величинами» (которые представляют собой результаты проведения некоего эксперимента, включающего в себя элемент случайности), до тех пор, пока они удовлетворяют определённым условиям (как может показаться — простым), их среднее значение сходится к случайной величине определённого типа, который называют «нормальным» или «Гауссовым».
Вот те два условия, которым должны удовлетворять эти величины:
-
Они независимы друг от друга.
-
Они имеют конечную дисперсию.
На обычном языке это означает то, что отдельные случайные измерения (эксперименты) «не знают» ничего друг о друге, и то, что каждое из этих измерений «большую часть времени» пребывает в ограниченном диапазоне значений, так как его практически всегда можно «измерить» с помощью прибора, обладающего конечной шкалой значений. Оба эти предположения выглядят разумными и универсальным. Тут можно быстро заметить то стечение обстоятельств, которое должно привести к появлению распределения Гаусса.
Каждый раз, когда мы имеем дело с большим количеством агентов, показаний приборов, измерений, которые «не связаны друг с другом» — мы выходим на распределение Гаусса. Просто волшебство какое‑то. А как только у нас будет нормальное распределение — мы сможем кое‑что сказать о соответствующих средних показателях. Так как распределение Гаусса полностью определяется лишь двумя числами — математическим ожиданием и дисперсией, мы можем, собрав достаточно данных, довольно точно оценить эти значения. А после того, как мы оценим эти значения — мы можем начинать делать прогнозы относительно, например, вероятности того, что заданная сумма случайных показателей превысит некое значение. Почти всё то, что мы называем «статистикой», основано на этой идее. Речь идёт о различных тестах, о моделях и о прочем подобном. Именно так мы приручаем случайность. На самом деле, часто те, кто завершают курс статистики, думают, что колоколообразная кривая распределения Гаусса — это единственное распределение, которое что‑то значит, и что всё остальное относится к разряду математических курьёзов, которым нет никакого практического применения. Это, как мы скоро выясним, серьёзная ошибка.
Вернёмся к допущениям ЦПТ, которые могут показаться достаточно безобидными: мы предполагаем, что переменные независимы. Но каково точное значение этого понятия? Говоря математическим языком мы просто разводим руками и сообщаем, что вероятность одновременного наступления событий X и Y равна произведению их вероятностей. Если выразить это другими словами, то получится, что распределение вероятности одновременного наступления событий можно разложить на проекции распределений вероятностей наступления отдельных событий. Отсюда следует то, что знание результата X не даёт абсолютно никакой информации о результате Y. Это, кроме прочего, означает, что X никоим образом не воздействует на Y. И, более того, означает, что ничто не действует одновременно на X и на Y. Бывает ли такое хоть когда‑нибудь в реальном мире?
Но дело осложняется ещё и тем, что, в строгом математическом смысле, два физических события, которые, образно выражаясь, «освещают» друг друга, не являются, с технической точки зрения, независимыми. То же самое можно сказать даже и о двух событиях, которые одновременно «освещает» третье событие. Они либо, до некоторой степени, «знают» «друг о друге», либо «знают» о каком‑то другом событии, которое имело место в прошлом и могло повлиять на оба эти события. На практике, конечно, мы это игнорируем. В большинстве случаев эта «информация» или «зависимость» настолько слаба, что это ничуть не мешает отличной работе ЦПТ и даёт статистикам надежду спокойно дожить до следующего дня. Но насколько надёжна ЦПТ в том случае, если события не вполне «независимы»? К сожалению — именно этот вопрос многие курсы по статистике обходят стороной, не давая даже его понимания на интуитивном уровне.
Поэтому устроим небольшой эксперимент. Ниже показаны результаты проведённой мной симуляции, представленные в виде 400×200=80 000 независимых пикселей. Каждый из них принимает случайное значение между нулём и единицей (код можно найти здесь). Я усреднил полученные значения и построил ниже изображения гистограмму. Индивидуальные значения, или результаты эксперимента, отмечены красной вертикальной линией. Тут мы видим ЦПТ в действии. Колоколообразная кривая выглядит именно так, как ожидалось!
Симуляция независимых пикселей
Теперь немного модифицируем этот эксперимент, добавляя к каждому из этих пикселей небольшие случайные значения (в диапазоне -0.012, 0.012). Так мы имитируем слабый внешний фактор, воздействующий на все пиксели. Этот фактор настолько незначителен, что его воздействие на наше поле пикселей почти невозможно заметить. Но, так как ЦПТ аккумулирует данные, даже такие незначительные «общие» отклонения оказывают разрушительное воздействие на эксперимент.
Симуляция пикселей, на которые что-то влияет
Мы сразу же замечаем то, что образцы больше не относятся к распределению Гаусса. Мы регулярно видим отклонения, сильно превышающие 6–10 сигм. Этого, при работе с данными, описываемыми распределением Гаусса, не должно происходить практически никогда. ЦПТ, на самом деле, оказывается очень хрупкой конструкцией в тех случаях, когда между исследуемыми данными имеется хотя бы очень слабая зависимость. Всё это понятно, но… есть ли у этого какие‑то последствия?
Кто‑то может подумать, что это ерунда. Если это — не распределение Гаусса, то, возможно — какое‑то другое, а значит — есть аналогичные инструменты и для такого варианта развития событий. Ну… и да, и нет.
На самом деле — изучены и другие типы распределений вероятностей. Кривая распределения Коши (я писал об этом) выглядит почти так же, как колоколообразная кривая распределения Гаусса. При этом случайная величина, имеющая распределение Коши не имеет математического ожидания и дисперсии. И существуют даже версии «ЦПТ» для распределения Коши, поэтому можно подумать, что это — лишь «менее компактное» распределение Гаусса. Но это — мысль, которая очень и очень далека от истины. Подобные распределения часто называют распределениями с «толстыми хвостами» (это так из‑за того, что в хвост и за пределы «центральной» части распределения попадает гораздо больше «веса»). Такие распределения являют собой странные и проблематичные сущности. Большая часть того, что мы, работая с «Гауссовой» статистикой, принимаем как должное, не действует при работе с другими распределениями. Множество таинственных свойств связывают эти распределения с такими понятиями, как сложность, фракталы, перемежающийся хаос, странные аттракторы, эргодическая динамика. Эти связи нам до сих пор до конца не понятны.
Например, посмотрим на то, как средние значения ведут себя при распределении Гаусса, Коши и Парето.
Обратите внимание на то, что на графиках изображены не образцы, а средние значения, взятые по всё более длинным последовательностям образцов. Значения, описываемые распределением Гаусса, сходятся, как и ожидается, очень быстро. Значения, описываемые распределением Коши, никогда не сходятся, а значения, описываемые распределением Парето, сходятся при alpha=1.5, хотя и гораздо медленнее, чем в случае с распределением Гаусса. Переход от 10 тысяч образцов к миллиону позволяет ярче увидеть происходящее:
Получается, что при использовании распределения Коши значения варьируются так сильно, что среднее, буквально — первый момент распределения — никогда не сходится. Подумайте об этом: после миллионов и миллионов значений появляется ещё одно единственное значение, которое сдвигает всё эмпирическое среднее на серьёзную величину. И неважно то, сколько до этого было значений — даже после квадриллионов значений, уже «усреднённых», появляется всего одно значение, настолько большое, что оно способно сдвинуть всё среднее значение на большую величину. Это — очень и очень странно в сравнении с чем‑либо, связанным с распределением Гаусса.
Хорошо, а имеет ли это какое‑то значение на практике? Скажем — есть ли у этого какие‑то последствия для статистических методов, вроде тех, что используются в нейронных сетях и в искусственном интеллекте? Для того чтобы узнать ответ на этот вопрос — можно провести очень простой эксперимент. Будем выбирать образцы из распределений с центром в значениях -1 и 1. Мы хотим оценить «центральную точку», которая лучше всего разделяет образцы из этих двух распределений, учитывая то, что они могут в некоторой степени перекрываться. Симметрия всей этой конструкции подсказывает нам, что такая вот наилучшая точка, разделяющая распределения — это 0. Но попробуем это выяснить в ходе итеративного процесса, основанного на взятии образцов. Начнём поиск с предположения о наилучшем разделяющем значении и, получая новую информацию, будем, постепенно снижая скорость обучения, приближать его к полученным образцам. Если мы решим использовать одинаковое количество образцов из каждого распределения — тогда мы можем ожидать того, что этот процесс сойдётся к правильному значению.
Мы повторим эксперимент для двух экземпляров распределения Гаусса и распределения Коши, как показано ниже (обратите внимание на то, как, на первый взгляд, похоже выглядят эти распределения).
В случае с распределением Гаусса мы получаем именно такой результат, как ожидали.
А вот в случае с распределением Коши всё выглядит немного сложнее, чем казалось.
Показатель, полученный в ходе итеративного процесса, в итоге сходится, так как мы постоянно снижаем скорость обучения. Но сходится он к совершенно произвольному значению! Мы можем повторить этот эксперимент много раз, и каждый раз будем получать разные значения! Представьте себе, что мы тут наблюдаем то, как сходятся значения весов в глубинах некоей нейронной сети. И даже хотя каждый раз они сходятся к «чему‑то», речь идёт о неких случайных значениях, а не о значениях оптимальных. Если хотите порассуждать об этом, применяя понятия энергетического ландшафта и минимизации ошибок, то получится следующее. Эта ситуация соответствует очень плоскому ландшафту, градиенты на котором практически равны нулю, а итоговое значение параметра зависит в основном от того, куда его завело воздействие образцов, взятых до того, как скорость обучения стала очень маленькой.
С этим мы разобрались. А существуют ли подобные распределения в реальном мире? В конце концов, преподаватель по статистике сказал, что практически всё можно описать с помощью распределения Гаусса. Вернёмся к вопросу о том, почему мы вообще видим распределение Гаусса практически повсюду. Это так исключительно из‑за центральной предельной теоремы и из‑за того факта, что мы наблюдаем что‑то, что является результатом независимого усреднения множества случайных сущностей. Речь может идти о чём угодно: о социологии, о молекулярной физике, о динамике фондового рынка. А из вышеприведённого эксперимента мы знаем о том, что ЦПТ перестаёт работать в том случае, если наблюдения хотя бы немного зависят друг от друга. Как подобные зависимости возникают в реальном мире? Обычно они возникают из‑за пертурбаций, которые приходят в систему из систем другого масштаба. Это может быть что‑то большое, меняющее всё вокруг, или что‑то маленькое, которое, опять же, всё вокруг меняет.
Поэтому, например, молекула газа в воздушной камере будет двигаться, подчиняясь законам распределения Максвелла‑Больцмана (его можно рассматривать как урезанное распределение Гаусса). Но вот — приходит техник и открывает клапан, позволяя газу выйти из камеры в комнату. Это событие полностью изменит то, как двигается молекула газа. Или, в том же примере с газом, в комнате ниже начинается пожар. Камера нагревается, молекулы ускоряются. Или над лабораторией взрывается ядерная бомба, которая испаряет воздушную камеру вместе с её содержимым. Отсюда можно сделать следующий вывод: в сложной, нелинейной реальности, в которой мы живём, явления в определённых системах на некие промежутки времени подчиняются законам распределения Гаусса. Эти спокойные периоды прерываются «вмешательствами», исходящими «снаружи» системы — либо в смысле пространства, либо в смысле масштаба, либо — и в том и в другом сразу.
Поэтому настоящие «толстые хвосты», которые мы видим в реальном мире — это нечто более коварное, чем то, что описывается простыми распределениями Коши или Парето. Они, некоторое время, может — годы или десятилетия, могут вести себя как распределения Гаусса. А затем внезапно «переворачиваются» на 10 сигм и либо впадают в полное безумие, либо снова продолжают вести себя как распределения Гаусса. Это очень хорошо видно на графиках фондовых индексов. В течение длительных периодов времени они представляют собой суммы сравнительно независимых акций и ведут себя как сущности, описываемые распределением Гаусса. А потом какой‑нибудь банк сообщает о банкротстве, инвесторы паникуют и внезапно оказывается, что все акции в индексе нельзя назвать «независимыми». Они, скорее, сильно друг с другом коррелируют. Тот же шаблон применим при описании практически любых явлений: это и погода, и социальные системы, и экосистемы, и движение тектонических плит, и сход лавин. Почти ничто из того, с чем мы сталкиваемся, не находится в «состоянии равновесия». Всё, скорее, находится в процессе поиска псевдостабильного состояния, сначала делая это очень медленно, а в итоге — чрезвычайно быстро.
Живые существа нашли способы ориентироваться в этих постоянных переходах между состояниями (в определённых пределах, конечно). А вот статические артефакты, в особенности — сложные, например — машины, созданные человеком, обычно хорошо чувствуют себя только в очень узком диапазоне условий. Когда условия меняются — машины нуждаются в «подстройке». Общество и рынок, в целом, постоянно проводят такие вод «подстройки», получая обратную связь от самих себя. Мы живём в огромной реке с псевдостабильным течением. Но в реальности единственное, что никогда не меняется — это постоянное стремление к восстановлению нарушенного равновесия и попадание в новые локальные энергетические минимумы.
Вышесказанное может звучать как некие философские рассуждения, но у этого имеются вполне практические последствия. Например — тот факт, что нет такого явления, как «общее умственное развитие» без возможности постоянно и очень быстро обучаться новому и «подстраиваться» под новые условия. Нет такого понятия, как «безопасная компьютерная система» без возможности постоянно её обновлять и устранять уязвимости, так как эти уязвимости находят и используют злоумышленники. Не существует «стабильных экосистем», в которых разные виды живых существ живут рядом друг с другом в полной гармонии. Не бывает «оптимальных рынков», на которых решены все споры между их участниками.
Цель этого поста заключается в том, чтобы рассказать о том, как ограничены чисто статистические методы в мире, состоящем из сложных нелинейных динамических систем. Может — есть другой путь? Конечно есть — и биология являет собой экзистенциальное доказательство этому. А людей сбивает с толку не то, что не всё в биологии подчиняется «статистике». Конечно, до некоторой степени — подчиняется. Людей сбивает с толку следующее: то, что ты изучаешь, означает так же много, как то, как именно ты это изучаешь. Например — возьмём генераторы случайных чисел. Если мы видим массу чисел, как кажется — случайных — можно ли сказать о том, что именно их сгенерировало? Вероятно — нет. А теперь нанесём их на точечный график, сопоставим числа, идущие друг за другом. Иногда это называют спектральным тестом. Сделав это, мы внезапно увидим некую структуру (как минимум — для простых линейных генераторов случайных чисел, основанных на конгруэнтности). Что мы только что сделали? Мы побороли случайность, сделав предположение о том, что за этой последовательностью чисел стоят некие динамические процессы. Мы предположили, что эти числа возникли не из «волшебного чёрного ящика случайности», и что между последовательными числами есть некая динамическая взаимосвязь. Затем мы перешли к обнаружению этой взаимосвязи. Аналогично, если говорить о машинном обучении, можно, например, связать метки со статическими образами. Но этот подход (хотя, как кажется, весьма успешный), похоже, склонен к насыщению и к выдаче «хвоста» из глупых ошибок. Как справиться с этим хвостом? Возможно (здесь я выдвинул эту идею), надо провести нечто вроде «спектрального теста» и исследовать временные отношения между кадрами. В конце концов — люди ведь воспринимают зрением не набор случайных картинок, которые выскакивают у них перед глазами, появляясь из «чёрного ящика». Всё, что мы видим, генерируется физическими процессами. Эти процессы развиваются в соответствии с законами природы.
Подозреваю, что системы, которые «статистически изучают динамику развития мира», по мере их усложнения, будут обладать весьма удивительными возникающими в них свойствами. Это похоже на те свойства, которые возникают в больших языковых моделях, которые, между прочим, пытаются изучить «динамику языка». Я ожидаю, что, например, у таких систем появятся способности к обучению чему‑либо с первого раза. А может — и ещё что‑нибудь интересное. Но это — уже тема для другого материала.
О, а приходите к нам работать? 🤗 💰
Мы в wunderfund.io занимаемся высокочастотной алготорговлей с 2014 года. Высокочастотная торговля — это непрерывное соревнование лучших программистов и математиков всего мира. Присоединившись к нам, вы станете частью этой увлекательной схватки.
Мы предлагаем интересные и сложные задачи по анализу данных и low latency разработке для увлеченных исследователей и программистов. Гибкий график и никакой бюрократии, решения быстро принимаются и воплощаются в жизнь.
Сейчас мы ищем плюсовиков, питонистов, дата-инженеров и мл-рисерчеров.
Автор: mr-pickles