Как измерить статистическое «расстояние» между двумя частотными распределениями?

14

Я предпринимаю проект по анализу данных, который включает изучение времени использования веб-сайта в течение года. То, что я хотел бы сделать, это сравнить, насколько «согласованными» являются шаблоны использования, скажем, насколько они близки к шаблону, который предполагает использование его в течение 1 часа один раз в неделю, или к шаблону, который предполагает использование его в течение 10 минут раз, 6 раз в неделю. Я знаю несколько вещей, которые можно рассчитать:

  • Энтропия Шеннона: измеряет, насколько «определенность» в результате отличается, то есть насколько распределение вероятностей отличается от равномерного распределения;
  • Дивергенция Кульбака-Либлера: измеряет, насколько одно распределение вероятностей отличается от другого
  • Дивергенция Дженсена-Шеннона: похожа на KL-дивергенцию, но более полезна, так как возвращает конечные значения
  • Тест Смирнова-Колмогорова : тест для определения того, поступают ли две кумулятивные функции распределения для непрерывных случайных величин из одной и той же выборки.
  • Критерий хи-квадрат: критерий соответствия, позволяющий определить, насколько хорошо распределение частоты отличается от ожидаемого распределения частоты.

Что я хотел бы сделать, это сравнить, насколько фактическая продолжительность использования (синий) отличается от идеального времени использования (оранжевый) в распределении. Эти распределения являются дискретными, и приведенные ниже версии нормализованы, чтобы стать вероятностными. Горизонтальная ось представляет количество времени (в минутах), которое пользователь провел на сайте; это было записано для каждого дня года; если пользователь вообще не заходил на сайт, это считается нулевой продолжительностью, но они были удалены из распределения частот. Справа - накопительная функция распределения.

Распределение данных об использовании веб-сайта и идеальных данных об использовании

Моя единственная проблема в том, что, хотя я могу заставить JS-расхождение возвращать конечное значение, когда я смотрю на разных пользователей и сравниваю их распределение использования с идеальным, я получаю значения, которые в основном идентичны (что, следовательно, не очень хорошо). показатель того, насколько они отличаются). Кроме того, довольно много информации теряется при нормализации по распределению вероятностей, а не по частотным распределениям (скажем, ученик использует платформу 50 раз, тогда распределение синего цвета должно быть масштабировано по вертикали так, чтобы общая длина полос была равна 50, и оранжевая полоса должна иметь высоту 50, а не 1). Часть того, что мы подразумеваем под «согласованностью», заключается в том, влияет ли то, как часто пользователь заходит на веб-сайт, как много он получает от него; если количество посещений веб-сайта будет потеряно, сравнение вероятностей будет сомнительным; даже если распределение вероятностей продолжительности пользователя близко к «идеальному» использованию, этот пользователь мог использовать платформу только в течение 1 недели в течение года, что, вероятно, не очень согласовано.

Существуют ли какие-либо устоявшиеся методы для сравнения двух частотных распределений и вычисления какого-либо показателя, который характеризует их сходство (или различие)?

omegaSQU4RED
источник
4
Возможно, вы захотите начать с того, чтобы спросить себя, какова ваша функция потерь (то есть каким образом шаблон использования отличается от идеального плохого, и как количество плохого зависит от того, какая дивергенция существует) и разработать метрику вокруг этого.
накопление

Ответы:

12

Возможно, вас заинтересует расстояние движения Земли , также известное как метрика Вассерштейна . Это реализовано в R (посмотрите на emdistпакет) и в Python . У нас также есть несколько тем на нем .

EMD работает как для непрерывного, так и для дискретного распределения. emdistПакет R работает на дискретных распределений.

Преимущество над чем-то вроде статистики заключается в том, что EMD дает интерпретируемые результаты. Представьте себе ваше распределение в виде земных бугров, а затем EMD скажет вам, сколько земли вам нужно будет перенести, как далеко, чтобы превратить одно распределение в другое.χ2

Иными словами, два распределения (1,0,0) и (0,1,0) должны быть «более похожими», чем (1,0,0) и (0,0,1). EMD распознает это и назначит меньшее расстояние для первой пары, чем для второй. статистика будет назначать такое же расстояние к обеим парам, так как он не имеет никакого понятия упорядочения в записях распределения.χ2

Стефан Коласса
источник
Почему именно это расстояние? Кажется, он предназначен для любого непрерывного распространения. ОП имеет частотное распределение, так почему бы не использовать более «дискретное» расстояние, например хи-квадрат?
user2974951
@ user2974951: достаточно честно. Смотрите мое редактирование.
Стефан Коласса
если распределения являются 1D, как предлагается в вопросе, тогда запуск и решатель EMD излишни. В этом случае необходимо просто вычислить метрику между эмпирическими квантильными функциями обеих плотностей (по существу, инверсии CDF, представленных в вопросе). стр.31 в arxiv.org/abs/1803.00567 или если вам нужен более подробный отчет, глава 2 math.u-psud.fr/~filippo/OTAM-cvgmt.pdfLп
Марко Кутури
@MarcoCuturi: расстояние безусловно, еще одна возможность. Тем не менее, он снова назначит такое же расстояние между (1,0,0) и (0,1,0), как между (1,0,0) и (0,0,1), что немного не понятно. Стоит ли дополнительной интуитивной привлекательности EMD дополнительная сложность - это вопрос, который ОП может рассмотреть. Lп
Стефан Коласса
3

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

mkt - восстановить монику
источник
1
Есть ли название для такой процедуры?
user2974951
4
Интересно, как можно объяснить тот базовый факт, что распределение различий для произвольного распределения и само по себе будет различным для разных произвольных распределений; думаю, U (0,1) против себя по сравнению с N (0,1) против себя. Следовательно, распределение различий, которое вы получите, сравнивая два разных распределения, будет трудно оценить в отсутствие единой базовой линии. Проблема исчезает, если наблюдения являются парными, тогда базовой линией будет единица массы в нуле.
Ричард Харди
@ user2974951 Я уверен, что так и есть, поскольку это довольно просто и явно связано с начальной загрузкой. Но я не знаю, как это точно назвать.
mkt - Восстановить Монику
1
@mkt, спасибо за разъяснения. Не собираясь спорить просто ради этого, я все же думаю, что без уникальной базовой линии у нас не совсем правителя. Но я оставлю это на этом. В любом случае, в твоей идее есть что-то приятное.
Ричард Харди
1
@RichardHardy Я ценю обмен здесь, и вы вполне можете быть правы. Я должен подумать об этом дальше.
mkt - Восстановить Монику
0

Одним из показателей является расстояние Хеллингера между двумя распределениями, которые характеризуются средними и стандартными отклонениями. Приложение можно найти в следующей статье.

https://www.sciencedirect.com/science/article/pii/S1568494615005104

user9003011
источник
Спасибо за это. Я видел, что существует целое семейство расхождений (f-расхождения), которые делают то, что я хочу, но быстрый просмотр литературы, похоже, не показывает, что лучше, когда ... знаете ли вы какую-либо хорошую литературу по это?
omegaSQU4RED