Многие реальные данные при использовании центральной предельной теоремы (ЦПТ) не сходятся быстро, поэтому не стоит применять её слепо. В этой статье мы разберём наглядные примеры этого и познакомимся с альтернативами для ЦПТ.
На LessWrong есть популярная статья, в которой описывается, насколько быстро центральная предельная теорема приводит к выравниванию исходной формы распределения. В некоторых случаях это верно, но заключение той статьи вызывает у меня беспокойство.
Это объясняет, почему легкомысленные люди порой считают, что можно применить центральную предельную теорему, даже не посмотрев на распределения: схождение реально происходит быстро.
Это утверждение несёт в себе некоторый риск, так как принятие неподходящего теоретического распределения отдаляет ваш анализ от реальности.1
Хотелось, чтобы высказанное в статье утверждение было сделано после тщательного разбора соответствующих свидетельств. Но, к сожалению, оно опирается преимущественно на зрительный анализ и использует специально отобранное множество начальных распределений, которые хорошо себя показывают при повторении.
Реальные данные могут сходиться медленно
Статья на LessWrong была размещена в рубрике «Прогнозирование», значит и мы пойдём в том же направлении, проанализировав её выводы на реальных данных. Поскольку в ней указывается, что 30 единиц чего-либо достаточно для формирования нормального распределения, я буду рассматривать именно такие количества.
▍ Окажется ли множество файлов в моём каталоге documents больше 16 МБ?
Представим, что нам нужно передать 30 файлов из моего каталога documents на носитель, ограниченный 16 МБ, например, какую-нибудь древнюю флешку. Удастся ли нам вместить их все, если мы наперёд не знаем, какие именно 30 файлов будут выбраны?
Средний размер по всем файлам папки составляет 160 КБ при стандартном отклонении 0,9 МБ. Поскольку мы говорим о 30 файлах, то, если верить посту с LessWrong, их сумма будет нормально распределена как:
N(μ=30×0.2, σ=30×0.9)
При таких параметрах показатель z для 16 МБ должен быть равен примерно 2, и мой компьютер услужливо сообщает2 мне, что это значение 2,38, которое в рамках нормального распределения соответствует вероятности 0,8%.
Значит, шанс, что 30 файлов не войдут в 16 МБ, составляет всего 0,8%. Отлично!
Вот только …
… На этом графике нормальная плотность, предполагаемая центральной предельной теоремой, обозначена чёрной линией в то время, как фактические размеры случайных групп из 30 файлов обозначены серыми столбцами.
Здесь нужно обратить внимание на два момента:
- График растягивается до 50 МБ, потому что, когда мы выбираем 30 файлов, одним из правдоподобных результатов будет их суммирование в 50 МБ. Такое бывает. Если же верить нормальному распределению, то этот исход нужно считать невозможным.
- Если мы подсчитаем площадь столбцов до отметки в 16 МБ, то выясним, что фактическая вероятность превышения 30 файлами 16 МБ составляет 4,8%.
Последний пункт самый важный для нашего вопроса. Фактический риск, что файлы не войдут, оказывается в 6 раз выше, чем показала бы нам центральная предельная теорема.
Если следовать гипотезе о нормальном распределении, то мы решим, что можем выбирать 30 файлов ежедневно, и в 16 МБ они не впишутся лишь три раза за год. Если же мы попробуем проделать это в реальности, то окажется, что комбинация файлов, не входящая в 16 МБ, будет встречаться каждые три недели.
▍ Вероятность падения индекса S&P 500 более чем на $1000 в течение месяца
Следуя той же процедуре, но уже с данными биржевого индекса S&P 500, центральная предельная теорема покажет, что падение более чем на $1000, при рассмотрении периода в 30 дней, будет происходить в 0,9% случаев.
Такой результат даже может показаться удачным, но при использовании чисто зрительного анализа легко допустить промах. Если мы посчитаем площадь под столбцами, то обнаружим, что реальная вероятность составит 1,9%, то есть превысит теоретический показатель более чем вдвое. Также обратите внимание — при рассмотрении реальных данных3 мы увидим, что может присутствовать месяц с падением в $3000. Но это противоречит прогнозу нормального распределения.4
▍ Изучение 7000 км² финских озёр
Возможно, это покажется немного запутанным, но представьте, что мы изучаем фауну озёр в Финляндии. В этой стране есть множество озёр, мы же возьмём для изучения выборку из 30. Наш бюджет покрывает изучение лишь 7000 км² — каков риск, что мы его быстро растратим? Согласно центральной предельной теореме, этот риск составит 0,4%, то есть будет вполне терпим.
А вот если обратиться к реальным данным5, то эта вероятность окажется выше более чем в три раза, и составит 1,4%.
Как и в прошлом примере, это может показаться вполне приемлемым показателем, если оценить его чисто визуально. Но тут следует смотреть на хвост, в котором подгонка происходит уже не так хорошо, что впоследствии приведёт к проблемам.
▍ Будут ли следующие 30 вооружённых конфликтов уносить более 250,000 жизней ежегодно?
Если верить ЦПТ, то вероятность, что следующие 30 военных конфликтов будут уносить более 250,000 жизней в год, составляет 2,5%. Если же верить реальным данным6, то этот показатель должен быть равен 4,8%.
Опять же, слепо используя ЦПТ, мы недооцениваем риск почти вдвое. В этом случае нормальное распределение также визуально плохо подгоняется.
По возможности используйте реальные данные
Вот вам моё радикальное предложение: вместо безрассудной подгонки к вашим данным теоретического распределения, используйте реальные данные. Сегодня нам доступны мощные компьютеры, которые отлично справляются с повторным выполнением одной и той же операции — воспользуйтесь этим. Делайте повторную выборку из имеющихся данных.7
Слепое наложение нормального распределения на данные являлось удобным во времена, когда у нас не было быстрых компьютеров, потому что обладает хорошими теоретическими качествами, облегчающими выполнение анализа на бумаге.
Помните о неравенстве Кантелли
Порой у нас нет возможности сделать несколько выборок. Это может быть связано с ситуациями, когда нам нужно что-то оценить в уме прямо сейчас, или когда для выполнения соответствующей программы не хватает заряда батареи телефона.
Если мы вынуждены делать выводы на основе только первых двух критериев (среднее и дисперсия), то для этого есть более надёжные способы, нежели использование нормального распределения. Одна из альтернатив — это неравенство Кантелли, которое гласит, что вероятностная мера, превышающая k стандартных отклонений от среднего, будет не больше:
Например, согласно определению8, не более (1+12)-1= 50% данных могут превышать стандартное отклонение, и не более (1+22)-1= 20% данных могут превышать два стандартных отклонения.
▍ Могут наблюдаться колебания цен в 9 сигм
В связи с финансовым кризисом 2007-2008 годов некоторые руководители компаний жаловались на: «колебания цен, которые могут происходить лишь раз в сотню тысяч лет»9. Похоже, что они моделировали движение цен на основе нормального распределения и наблюдали их изменение в 9 сигм. Если бы им было известно неравенство Кантелли. Но, поскольку оно известно нам, мы можем выяснить, что колебания в 9 сигм могут возникать с частотой четыре раза в год. Обычно этого не происходит, но будет опрометчивым не учитывать такую вероятность.
Вот полезная таблица:
Сигма | Превышение (нормальное), % | Превышение (абсолютное), % |
1 | 16% | 50% |
2 | 2,3% | 20% |
3 | 0,14% | 10% |
4 | 0,003% | 6% |
5 | 0,00003% | 4% |
▍ При необходимости совмещайте неравенство Кантелли с нормальным распределением
Поскольку неравенство Кантелли зачастую верно даже для экстремальных данных, оно является довольно консервативным. В большинстве реальных случаев мы не увидим выхода 4% значений за пределы пяти стандартных отклонений. Здесь я в качестве эвристического приёма иногда предполагаю, что значение находится где-то между гауссовой вероятностью и границей Кантелли. Чем больше у меня есть причин верить, что передо мной распределение Гаусса, тем ближе к его границе я выбираю значение.10
Эти данные были специально отобраны с предположением широких хвостов
Как вы наверняка догадались — я намеренно выбрал именно такой вид данных, поскольку был уверен, что они будут сходиться медленно. Такие явления, как размеры файлов, биржевые колебания, площади водоёмов и тяжесть военных конфликтов, демонстрируют широкие хвосты.*
Это говорит о том, что в них типично обнаруживаются центральные значения, но также на удивление часто встречаются значения, сильно удалённые от хвоста.
*Прим. пер.: под широким хвостом подразумевается медленно убывающий хвост распределения.
Можно было бы углубиться в детали на тему, к каким последствиям ведут данные с широкими хвостами и какими свойствами обладают, но к вопросам нашей статьи это уже не относится. Имейте в виду, что такие данные существуют, и если вы вдруг с ними столкнётесь, не спешите делать вывод, что ЦПТ в их отношении продемонстрирует быстрое схождение.
▍ Широкие хвосты сходятся медленнее, чем можно ожидать
В качестве иллюстрации сходимости данных с широким хвостом мы рассмотрим 1000 свёрток распределений данных о размере файлов.
График постепенно выравнивается, но хвост всё равно отклоняется. Здесь мы наблюдаем довольно сильное отличие результатов от 30 свёрток, предполагаемых в статье с LessWrong.11
▍ Не предполагайте, что перед вами нормальное распределение, только потому что оно на него похоже
Когда звучат слова: «Чем больше у меня есть причин верить, что передо мной распределение Гаусса…», может возникнуть соблазн взглянуть на представленные данные и акцентировать внимание на их кажущемся сходстве с колоколообразной кривой. Это будет ошибкой. Данные с широким хвостом по сравнению с нормальным распределением непропорционально генерируют две вещи:
- Значения, находящиеся далеко в хвосте.
- Центральные значения.
Иными словами, распределение с широким хвостом будет генерировать много центральных значений и выглядеть похожим на идеальную гауссову кривую долго…но не бесконечно. Печально, но чем хуже события в хвосте, тем дольше кривая будет обманчиво походить на гауссову.12
Самый простой способ понять, являются ли данные гауссовыми или же имеют длинный хвост — это проявлять внимательность и взвешенно применять теоретические знания. Всегда по возможности используйте реальные данные.
▍ Распределения с тонкими хвостами
Многие из известных нам теоретических распределений, включая все использованные в статье с LessWrong, классифицируются как имеющие тонкий хвост. Это означает, что их хвост растворяется быстрее или вровень с экспоненциальным распределением, отражающим порог между распределениями с тонкими и широкими хвостами.
Это объясняет, почему автор обнаружил быстрое схождение распределений при использовании центральной предельной теоремы — распределения с тонким хвостом очень хорошо ведут себя при повторении. Вы получаете центральные значения и, возможно, что-то пологое в хвостах, но событие глубоко в хвосте никогда не наблюдается. А ведь именно такие события являются причиной очень медленного схождения распределений с широкими хвостами.
Cноски
1. Использование гипотезы, основанной на теоретическом распределении, позволяет упростить расчёты, но также создаёт картину мира, в которой правдоподобные результаты практически невозможны. Обе этих характеристики теоретических распределений особенно верны, когда речь идёт о гауссовом распределении. ↩
2. Используя чуть более точные числа. ↩
3. Скачаны с Yahoo Finance. ↩
4. С учётом всего сказанного, должен признать, что нормальное распределение подгоняет эти данные ближе, чем я ожидал. Случайные блуждания в финансовой сфере, как известно, происходят скачкообразно и редко сходятся быстро в соответствии с центральной предельной теоремой. Дополнительную информацию по теме читайте у Талеба, Мандельброта и других.
Думаю, есть две причины, по которым данные S&P 500 показывают себя хорошо: 1) они состоят из множества биржевых показателей, то есть мы рассматриваем не 30, а 15000 элементов; 2) рассматриваемые данные относятся к довольно стабильному периоду. Обратите внимание, к чему это ведёт: явно гармоничные данные, которые визуально прекрасно подгоняются, всё равно могут давать 2-кратную ошибку в хвосте. ↩
5. Выборка из Wikipedia. ↩
6. Также из Wikipedia. ↩
7. Чтобы выяснить вероятность того, что 30 файлов не войдут в носитель объёмом 16 МБ, сделайте множество выборок по 30 файлов и постройте распределение их общего размера. Таким образом вы получите хорошее представление о том, сколько из этих множеств окажутся больше 16 МБ. ↩
8. У неравенства Кантелли также есть двухсторонняя версия, называемая неравенством Чебышёва. Если вы знакомы с правилом
68-95-99,7
, которое предполагает нормальное распределение, то вам может быть интересна его вариация по Чебышеву: 0-75-89
, которая верна для любого распределения. Возможно, вас это удивит, но неравенство Чебышёва говорит о том, что бывают распределения, где никакие данные не находятся внутри одного стандартного отклонения. ↩9. Что-то вроде этого. Точно не помню. ↩
10. Этот процесс настолько же ненаучен, насколько звучит, и я думаю, что должна быть возможность извлечь из страницы Wikipedia более удачные эвристические подходы для неравенства Чебышёва. ↩
11. И это результат на основе множества из 560 файлов — если взять фактическое теоретическое распределение, способное генерировать бесчисленное количество разных значений, то схождение будет происходить ещё медленнее. ↩
12. По логике более широкие хвосты говорят о том, что вероятность смещена с плечей распределения к его центру и хвостам, но в целом больше к центру. Для подобающего объяснения тут бы пригодилась анимация, но я не умею их создавать. ↩
Telegram-канал с розыгрышами призов, новостями IT и постами о ретроиграх ????️
Комментарии (14)
thevlad
30.07.2023 11:29+3Чем "тяжелее хвосты" в исходном распределении, тем хуже сходимость к нормальному по ЦПТ. При этом центр распределения, сходится значительно быстрее, а хвосты медленнее. (это очевидно даже по картинкам из статьи). Довольно известный эффект.
tessob
30.07.2023 11:29Осталось только понять как взвесить хвосты на малом объеме данных.
thevlad
30.07.2023 11:29Очевидно, что никак, если данных совсем мало, и нет каких-то априорных моделей их возникновения. Если не совсем мало, очевидно, можно посчитать на коленке, эти хвосты в виде вылета за 4-6 сигм. Или привлечь старшие моменты распределения https://en.wikipedia.org/wiki/Kurtosis
CBET_TbMbI
30.07.2023 11:29+4Как некоторые говорят "нормального распределения в природе не бывает". И с этим можно согласиться. На самом деле очень трудно найти что-то в природе способное изменяться от минус бесконечности до плюс бесконечности с ненулевым (хоть и мизерным) шансом.
Но некоторые распределения похожи на него. И так как им удобно пользоваться (вся математика готова) его и применяют везде, где можно и где нельзя.
Всегда надо помнить, что многие распределения совсем не нормальные. И вообще никакие, а точнее - уникальные. А зачастую и не случайные (про это тоже нельзя забывать). Например, размер рабочих файлов на компьютере конкретного человека сильно зависит от характера его работы.
thevlad
30.07.2023 11:29+1Случайность это про отсутствие детерминированности и не достаток информации, по крайней мере в модели. А не про то что, что-то случайное и это нельзя предсказать. Как раз наоборот, статистические модели нужны, чтобы предсказывать основываясь на неполной информации.
В случае с файлами на компьютере, вы можете к примеру просто поставить камеру которая будет фиксировать все действия(условно), и имея всю полноту информации, посчитать их количество, объем и точное распределение. Статистические модели и теорвер применяются, когда очевидно информация потеряна, либо ее не достаточно из-за сложности реальных явлений или принципиальных ограничений (квантово механические эффекты, да или даже банальный тепловой шум).
dgoncharov
30.07.2023 11:29-1Согласен. Вообще, статья сводится к "Не любые данные имеют нормальное распределение".
Hlad
30.07.2023 11:29+5Насколько помню, центральная предельная теорема работает только для суммы независимых случайных величин одного масштаба. Растягивать её на все возможные ситуации попросту некорректно.
mobi
Можно и пример математического объяснения привести. Во многих случаях (и в ваших примерах тоже) рассматриваемые величины являются положительными, и поэтому их распределения часто ближе к пуассоновским p(x;k)=1/k!xke-x, чем к гауссовым p(x;x0,σ)=(2πσ)-1/2e-(x-x0)2/2σ2. А распределение суммы n пуассоновских распределений также является пуассоновским распределением c k'=n(k+1)-1, поэтому хвост e-x (вместо ожидаемого e-x2) никуда не исчезает, просто на фоне роста основного писка он становится всё менее и менее заметным.
alekseyefremov
Тоже показалось странным, что хоть статья и выражает опасения по поводу слепого применения центральной предельной теоремы, в ней упускается из виду критический недостаток подхода - попытка подогнать нормальное распределение к любым наборам данных с неотрицательными значениями.
Такое допущение может привести к ошибочным выводам, поскольку реальные данные часто имеют асимметричные и ненормальные распределения.
Очень важно выбирать соответствующие распределения, которые отвечают характеру данных.
Ожидал увидеть хотя бы попытку свести логнормальное распределение к нормальному, или использование сопряженных распределений типа бета-распределения, но увы.
Arastas
Простите, я сейчас, наверное, глупый вопрос задам. Если сумма величин с Пуасоновским распределением тоже имеет Пуасоновское распределение, то как быть с ЦПТ, которая говорит, что сумма стремится к нормальному распределению? Там какое-то условие не выполняется?
mobi
Там суть в том, что по мере увеличения k форма кривой стремится к гауссиане (с максимумом в точке x0=σ2=k), а вклад хвоста e-x уменьшается из-за множителя 1/k!, так что все условия выполняются, всё сходится, но нужны достаточно большие значения k.
victor-homyakov
Условия: сумма
достаточно большого количества
слабо зависимых случайных величин,
имеющих примерно одинаковые масштабы (ни одно из слагаемых не доминирует, не вносит в сумму определяющего вклада)
В задаче про файлы может не выполниться третье условие ("ни одно из слагаемых не доминирует"): отдельные файлы могут быть очень большими и вносить определяющий вклад в сумму.
ksbes
Странные условия. Достаточно двух - а) распределение случайно и б) стационарно (не меняется для слагаемых и не зависит от предыстории). И всегда сумма сойдётся к гауссиане - превалирует там что-то или нет. Вопрос только насколько быстро - сколько слагаемых нужно.