Bagaimana mengukur "jarak" statistik antara dua distribusi frekuensi?

14

Saya melakukan proyek analisis data yang melibatkan penyelidikan waktu penggunaan situs web sepanjang tahun. Apa yang ingin saya lakukan adalah membandingkan seberapa "konsisten" pola penggunaannya, katakanlah, seberapa dekat mereka dengan suatu pola yang melibatkan penggunaannya selama 1 jam seminggu sekali, atau yang melibatkan penggunaannya selama 10 menit, 6 kali per minggu. Saya mengetahui beberapa hal yang dapat dihitung:

  • Shannon entropy: mengukur seberapa banyak "kepastian" dalam hasil berbeda, yaitu seberapa besar distribusi probabilitas berbeda dari satu yang seragam;
  • Kullback-Liebler divergence: mengukur seberapa besar satu distribusi probabilitas berbeda dari yang lain
  • Divergensi Jensen-Shannon: mirip dengan divergensi KL, tetapi lebih bermanfaat karena mengembalikan nilai yang terbatas
  • Tes Smirnov-Kolmogorov : tes untuk menentukan apakah dua fungsi distribusi kumulatif untuk variabel acak kontinu berasal dari sampel yang sama.
  • Uji Chi-squared: uji good-of-fit untuk memutuskan seberapa baik distribusi frekuensi berbeda dari distribusi frekuensi yang diharapkan.

Yang ingin saya lakukan adalah membandingkan berapa lama durasi penggunaan aktual (biru) berbeda dari waktu penggunaan ideal (oranye) dalam distribusi. Distribusi ini diskrit, dan versi di bawah dinormalisasi menjadi distribusi probabilitas. Sumbu horizontal menunjukkan jumlah waktu (dalam menit) yang telah dihabiskan pengguna di situs web; ini telah dicatat untuk setiap hari dalam setahun; jika pengguna belum masuk ke situs web sama sekali maka ini dianggap sebagai durasi nol tetapi ini telah dihapus dari distribusi frekuensi. Di sebelah kanan adalah fungsi distribusi kumulatif.

Distribusi data penggunaan situs web versus data penggunaan ideal

Satu-satunya masalah saya adalah, meskipun saya bisa mendapatkan JS-divergence untuk mengembalikan nilai yang terbatas, ketika saya melihat pengguna yang berbeda dan membandingkan distribusi penggunaannya dengan yang ideal, saya mendapatkan nilai yang sebagian besar identik (yang karenanya tidak bagus) indikator seberapa besar perbedaannya). Juga, sedikit informasi yang hilang ketika dinormalisasi ke distribusi probabilitas daripada distribusi frekuensi (misalnya seorang siswa menggunakan platform 50 kali, maka distribusi biru harus diskalakan secara vertikal sehingga total panjang bar sama dengan 50, dan bilah oranye harus memiliki ketinggian 50 daripada 1). Bagian dari apa yang kami maksud dengan "konsistensi" adalah apakah seberapa sering seorang pengguna masuk ke situs web memengaruhi seberapa banyak yang mereka dapatkan darinya; jika berapa kali mereka mengunjungi situs web hilang maka membandingkan distribusi probabilitas agak meragukan; bahkan jika distribusi probabilitas durasi pengguna dekat dengan penggunaan "ideal", pengguna itu mungkin hanya menggunakan platform selama 1 minggu selama setahun, yang bisa dibilang tidak sangat konsisten.

Adakah teknik mapan untuk membandingkan dua distribusi frekuensi dan menghitung semacam metrik yang mencirikan seberapa mirip (atau tidak sama) mereka?

omegaSQU4RED
sumber
4
Anda mungkin ingin memulai dengan bertanya pada diri sendiri apa fungsi kerugian Anda (yaitu, dengan cara apa pola penggunaan berbeda dari buruk ideal, dan bagaimana jumlah kejahatan bergantung pada jenis perbedaan apa yang ada), dan merancang metrik Anda sekitar itu.
Akumulasi

Jawaban:

12

Anda mungkin tertarik pada jarak penggerak Bumi , juga dikenal sebagai metrik Wasserstein . Diimplementasikan dalam R (lihat emdistpaket) dan dalam Python . Kami juga memiliki sejumlah utas .

EMD berfungsi untuk distribusi kontinu dan diskrit. The emdistpaket untuk R bekerja pada distribusi diskrit.

χ2

χ2

Stephan Kolassa
sumber
Kenapa jarak tertentu? Tampaknya dirancang untuk distribusi berkelanjutan. OP memiliki distribusi frekuensi, jadi mengapa tidak jarak yang lebih "terpisah" seperti Chi-square?
user2974951
@ user2974951: cukup adil. Lihat hasil edit saya.
Stephan Kolassa
L.hal
L.hal
3

Jika Anda secara acak sampel individu dari masing-masing dua distribusi, Anda dapat menghitung perbedaan di antara mereka. Jika Anda mengulangi ini (dengan penggantian) beberapa kali, Anda dapat menghasilkan distribusi perbedaan yang berisi semua informasi yang Anda cari. Anda dapat merencanakan distribusi ini dan menandainya dengan statistik ringkasan yang Anda inginkan - sarana, median, dll.

mkt - Pasang kembali Monica
sumber
1
Apakah ada nama untuk prosedur seperti itu?
user2974951
4
Saya bertanya-tanya bagaimana orang dapat menjelaskan fakta dasar bahwa distribusi perbedaan untuk distribusi sewenang-wenang dan itu sendiri akan berbeda untuk distribusi sewenang-wenang yang berbeda; berpikir U (0,1) vs dirinya sendiri dibandingkan dengan N (0,1) vs itu sendiri. Oleh karena itu, distribusi perbedaan yang Anda dapatkan dengan membandingkan dua distribusi yang berbeda akan sulit untuk dievaluasi tanpa adanya baseline yang unik. Masalahnya menghilang jika pengamatan dipasangkan, maka garis dasar akan menjadi satuan massa nol.
Richard Hardy
@ user2974951 Saya yakin ada, karena cukup sederhana dan jelas terkait dengan bootstrap. Tapi saya tidak tahu harus menyebutnya apa tepatnya.
mkt - Reinstate Monica
1
@ mkt, terima kasih atas klarifikasi Anda. Tanpa bermaksud untuk berdebat hanya demi hal itu, saya masih berpikir bahwa tanpa garis dasar yang unik kita tidak memiliki penguasa. Tetapi saya akan membiarkannya begitu saja. Ada sesuatu yang baik tentang ide Anda.
Richard Hardy
1
@ RichardHardy Saya menghargai pertukaran di sini, dan Anda mungkin benar. Saya harus memikirkan hal ini lebih jauh.
mkt - Reinstate Monica
0

Salah satu metrik adalah jarak Hellinger antara dua distribusi yang ditandai dengan sarana dan standar deviasi. Aplikasi dapat ditemukan di artikel berikut.

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

user9003011
sumber
Terima kasih untuk itu. Saya telah melihat bahwa ada seluruh keluarga divergensi (f-divergences) yang melakukan apa yang saya inginkan, tetapi dengan cepat menelusuri literatur tampaknya tidak menunjukkan yang terbaik ketika ... apakah Anda tahu ada literatur yang bagus tentang ini?
omegaSQU4RED