Я предпринимаю проект по анализу данных, который включает изучение времени использования веб-сайта в течение года. То, что я хотел бы сделать, это сравнить, насколько «согласованными» являются шаблоны использования, скажем, насколько они близки к шаблону, который предполагает использование его в течение 1 часа один раз в неделю, или к шаблону, который предполагает использование его в течение 10 минут раз, 6 раз в неделю. Я знаю несколько вещей, которые можно рассчитать:
- Энтропия Шеннона: измеряет, насколько «определенность» в результате отличается, то есть насколько распределение вероятностей отличается от равномерного распределения;
- Дивергенция Кульбака-Либлера: измеряет, насколько одно распределение вероятностей отличается от другого
- Дивергенция Дженсена-Шеннона: похожа на KL-дивергенцию, но более полезна, так как возвращает конечные значения
- Тест Смирнова-Колмогорова : тест для определения того, поступают ли две кумулятивные функции распределения для непрерывных случайных величин из одной и той же выборки.
- Критерий хи-квадрат: критерий соответствия, позволяющий определить, насколько хорошо распределение частоты отличается от ожидаемого распределения частоты.
Что я хотел бы сделать, это сравнить, насколько фактическая продолжительность использования (синий) отличается от идеального времени использования (оранжевый) в распределении. Эти распределения являются дискретными, и приведенные ниже версии нормализованы, чтобы стать вероятностными. Горизонтальная ось представляет количество времени (в минутах), которое пользователь провел на сайте; это было записано для каждого дня года; если пользователь вообще не заходил на сайт, это считается нулевой продолжительностью, но они были удалены из распределения частот. Справа - накопительная функция распределения.
Моя единственная проблема в том, что, хотя я могу заставить JS-расхождение возвращать конечное значение, когда я смотрю на разных пользователей и сравниваю их распределение использования с идеальным, я получаю значения, которые в основном идентичны (что, следовательно, не очень хорошо). показатель того, насколько они отличаются). Кроме того, довольно много информации теряется при нормализации по распределению вероятностей, а не по частотным распределениям (скажем, ученик использует платформу 50 раз, тогда распределение синего цвета должно быть масштабировано по вертикали так, чтобы общая длина полос была равна 50, и оранжевая полоса должна иметь высоту 50, а не 1). Часть того, что мы подразумеваем под «согласованностью», заключается в том, влияет ли то, как часто пользователь заходит на веб-сайт, как много он получает от него; если количество посещений веб-сайта будет потеряно, сравнение вероятностей будет сомнительным; даже если распределение вероятностей продолжительности пользователя близко к «идеальному» использованию, этот пользователь мог использовать платформу только в течение 1 недели в течение года, что, вероятно, не очень согласовано.
Существуют ли какие-либо устоявшиеся методы для сравнения двух частотных распределений и вычисления какого-либо показателя, который характеризует их сходство (или различие)?
источник
Ответы:
Возможно, вас заинтересует расстояние движения Земли , также известное как метрика Вассерштейна . Это реализовано в R (посмотрите на
emdist
пакет) и в Python . У нас также есть несколько тем на нем .EMD работает как для непрерывного, так и для дискретного распределения.
emdist
Пакет R работает на дискретных распределений.Преимущество над чем-то вроде статистики заключается в том, что EMD дает интерпретируемые результаты. Представьте себе ваше распределение в виде земных бугров, а затем EMD скажет вам, сколько земли вам нужно будет перенести, как далеко, чтобы превратить одно распределение в другое.χ2
Иными словами, два распределения (1,0,0) и (0,1,0) должны быть «более похожими», чем (1,0,0) и (0,0,1). EMD распознает это и назначит меньшее расстояние для первой пары, чем для второй. статистика будет назначать такое же расстояние к обеим парам, так как он не имеет никакого понятия упорядочения в записях распределения.χ2
источник
Если вы случайным образом выберете человека из каждого из двух распределений, вы можете рассчитать разницу между ними. Если вы повторите это (с заменой) несколько раз, вы можете создать распределение различий, которое содержит всю информацию, которую вы ищете. Вы можете составить график этого распределения и охарактеризовать его с помощью любой сводной статистики по вашему желанию - средние значения, медианы и т. Д.
источник
Одним из показателей является расстояние Хеллингера между двумя распределениями, которые характеризуются средними и стандартными отклонениями. Приложение можно найти в следующей статье.
https://www.sciencedirect.com/science/article/pii/S1568494615005104
источник