Bagaimana cara mengukur ketidakseragaman suatu distribusi?

28

Saya mencoba membuat metrik untuk mengukur ketidaksamaan distribusi untuk percobaan yang saya jalankan. Saya memiliki variabel acak yang harus didistribusikan secara seragam dalam banyak kasus, dan saya ingin dapat mengidentifikasi (dan mungkin mengukur tingkat) contoh kumpulan data di mana variabel tidak terdistribusi secara seragam dalam margin tertentu.

Contoh tiga seri data masing-masing dengan 10 pengukuran yang mewakili frekuensi kemunculan sesuatu yang saya ukur mungkin kira-kira seperti ini:

a: [10% 11% 10%  9%  9% 11% 10% 10% 12%  8%]
b: [10% 10% 10%  8% 10% 10%  9%  9% 12%  8%]
c: [ 3%  2% 60%  2%  3%  7%  6%  5%  5%  7%]   <-- non-uniform
d: [98% 97% 99% 98% 98% 96% 99% 96% 99% 98%]

Saya ingin dapat membedakan distribusi seperti c dari yang seperti a dan b, dan mengukur deviasi c dari distribusi yang seragam. Sama halnya, jika ada metrik untuk seberapa seragam suatu distribusi (std. Deviasi mendekati nol?), Saya mungkin dapat menggunakannya untuk membedakan yang dengan varian tinggi. Namun, data saya mungkin hanya memiliki satu atau dua outlier, seperti contoh c di atas, dan saya tidak yakin apakah itu akan mudah dideteksi dengan cara itu.

Saya dapat meretas sesuatu untuk melakukan ini dalam perangkat lunak, tetapi saya sedang mencari metode / pendekatan statistik untuk membenarkan ini secara formal. Saya mengikuti kelas bertahun-tahun yang lalu, tetapi statistik bukanlah bidang saya. Ini sepertinya sesuatu yang harus memiliki pendekatan terkenal. Maaf jika semua ini benar-benar berkepala tebal. Terima kasih sebelumnya!

JJC
sumber

Jawaban:

18

Jika Anda tidak hanya memiliki frekuensi tetapi jumlah sebenarnya, Anda dapat menggunakan goodness-of-fit untuk setiap seri data. Secara khusus, Anda ingin menggunakan tes untuk distribusi seragam diskrit . Ini memberi Anda tes yang baik , yang memungkinkan Anda untuk mengetahui seri data mana yang mungkin tidak dihasilkan oleh distribusi seragam, tetapi tidak memberikan ukuran keseragaman.χ2

Ada beberapa pendekatan lain yang mungkin, seperti menghitung entropi dari setiap seri - distribusi seragam memaksimalkan entropi, jadi jika entropi itu curiga rendah Anda akan menyimpulkan bahwa Anda mungkin tidak memiliki distribusi seragam. Itu berfungsi sebagai ukuran keseragaman dalam beberapa hal.

Saran lain adalah menggunakan ukuran seperti divergensi Kullback-Leibler , yang mengukur kesamaan dua distribusi.

MånsT
sumber
Saya punya beberapa pertanyaan mengenai jawaban Anda: 1. Mengapa Anda menyatakan bahwa chi-square tidak memberikan ukuran keseragaman? Bukankah tes kecocokan dengan distribusi seragam merupakan ukuran keseragaman? 2. Bagaimana kita tahu kapan kita harus menggunakan chi-square atau entropi?
kanzen_master
@kanzen_master: Saya kira statistik chi-kuadrat dapat dilihat sebagai ukuran keseragaman, tetapi memiliki beberapa kelemahan, seperti kurangnya konvergensi, ketergantungan pada nampan yang ditempatkan secara sewenang-wenang, bahwa jumlah yang diharapkan dihitung dalam kebutuhan sel. menjadi cukup besar, dll. Pengukuran / tes apa yang digunakan adalah masalah selera, dan entropi juga bukan tanpa masalah (khususnya, ada banyak penaksir yang berbeda dari entropi distribusi). Bagi saya, entropi sepertinya tindakan yang kurang sembarangan dan lebih mudah untuk ditafsirkan.
MånsT
8

Selain ide bagus @MansT, Anda bisa membuat langkah lain, tetapi itu tergantung pada apa yang Anda maksud dengan "ketidakseragaman". Agar sederhana, mari kita lihat 4 level. Keseragaman yang sempurna mudah untuk didefinisikan:

25 25 25 25

tetapi mana dari yang berikut ini yang lebih tidak seragam?

20 20 30 30 atau 20 20 25 35

atau apakah mereka sama-sama tidak seragam?

jika Anda berpikir mereka sama-sama tidak seragam, Anda bisa menggunakan ukuran berdasarkan jumlah nilai absolut dari penyimpangan dari normal, diskalakan dengan kemungkinan maksimum. Maka yang pertama adalah 5 + 5 + 5 + 5 = 20 dan yang kedua adalah 5 + 5 + 0 + 10 = 20. Tetapi jika Anda berpikir yang kedua lebih tidak seragam, Anda bisa menggunakan sesuatu berdasarkan penyimpangan kuadrat dalam hal mana pertama mendapat 25 + 25 + 25 + 25 = 100 dan yang kedua mendapat 25 + 25 + 0 + 100 = 150.

Peter Flom - Pasang kembali Monica
sumber
1
Anda tampaknya menafsirkan "didistribusikan secara seragam" sebagai "setara", Peter. Apakah itu maksud OP adalah poin yang valid untuk diajukan, tetapi harus benar-benar muncul sebagai komentar terhadap pertanyaan.
whuber
Hi @whuber Sepertinya itu maksudnya, dari pertanyaan. Apa lagi artinya?
Peter Flom - Reinstate Monica
2
"Sama" berarti CDF adalah untuk x μ , F ( x ) = 0 untuk x < μ sedangkan "seragam" berarti F ( x ) = ( x - α ) / θ untuk x [ α , α + θ ] . Anda mendefinisikan "keseragaman sempurna" dalam arti pertama sedangkan arti statistik standar adalah yang kedua.F(x)=1xμF(x)=0x<μF(x)=(xα)/θx[α,α+θ]
whuber
@whuber, menurut saya hal pertama yang lebih dekat dengan apa yang dimaksudkan oleh poster aslinya adalah "seragam". Melihat lagi, sepertinya dia menggunakan "seragam" yang berarti "varian rendah".
Makro
Hanya itu, Makro: kita tidak bisa mengatakannya. Pertanyaannya perlu klarifikasi sebelum layak mendapat jawaban, IMHO. Jawaban yang diterima menunjukkan OP menggunakan "seragam" dalam arti statistik standar.
whuber
6

Berikut ini adalah heuristik sederhana: jika Anda mengasumsikan elemen dalam jumlah vektor apa pun ke (atau cukup menormalkan setiap elemen dengan jumlah untuk mencapai ini), maka keseragaman dapat diwakili oleh norma L2, yang berkisar dari 11 ke1, dengandmenjadi dimensi vektor.1d1d

Batas bawah sesuai dengan keseragaman dan batas atas kevektor1-hot.1d1

Untuk skala ini ke skor antara dan 1 , Anda dapat menggunakan n 01, dengannadalah norma L2.nd1d1n

Contoh dimodifikasi dari Anda dengan elemen menjumlahkan ke dan semua vektor dengan dimensi yang sama untuk kesederhanaan:1

0.10    0.11    0.10    0.09    0.09    0.11    0.10    0.10    0.12    0.08
0.10    0.10    0.10    0.08    0.12    0.12    0.09    0.09    0.12    0.08
0.03    0.02    0.61    0.02    0.03    0.07    0.06    0.05    0.06    0.05

Berikut ini akan menghasilkan , 0,0051 , dan 0,4529 untuk baris:0.00280.00510.4529

d=size(m,2); 
for i=1:size(m); 
    disp( (norm(m(i,:))*sqrt(d)-1) / (sqrt(d)-1) ); 
end
pengguna495285
sumber
1
Lp
@whuber bahwa saya tidak tahu dan saya tidak tahu ada penelitian tentang ini. Pada dasarnya ini adalah sesuatu yang saya gunakan sebagai heuristik yang mungkin sesuai dengan apa yang diinginkan OP, dan saya tidak benar-benar mengklaimnya sebagai pendekatan yang lebih disukai.
user495285
@whuber - Bisakah Anda mengetahui secara teoritis mengapa ini bekerja dengan sangat baik? Saya perlu mengutip ini.
Ketan
@ user495285 - Ini sepertinya bekerja secara langsung dengan nilai, dan bukan hanya frekuensi. Dalam pengalaman Anda, apakah lebih baik menggunakannya hanya dengan frekuensi atau tidak apa-apa untuk menggunakannya langsung pada vektor.
Ketan
L2χ2
0

Stumbled atas ini baru-baru ini, dan untuk menambah jawaban dari @ user495285, sejauh yang saya mengerti:

RnLppRnp

L2p

nd1d1
nL2d

Saya percaya bahwa kegunaan langkah-langkah geometrik berlaku ketika setiap posisi (dimensi) dari ruang yang dijelaskan diasumsikan diukur pada skala ekuivalen, misalnya semua jumlah distribusi yang berpotensi sama. Asumsi yang sama yang mendasari perubahan basis seperti PCA / SVD mungkin serupa di sini. Tapi sekali lagi saya bukan ahli matematika, jadi saya akan membiarkan itu terbuka untuk lebih banyak informasi.

Lakinsm
sumber
Kedengarannya bermanfaat. Bisakah Anda memberi saya beberapa referensi, sehingga saya bisa mengerti ini lebih baik? Saya sebenarnya perlu mengutip ini.
Ketan
Anda bisa mengutip teks aljabar linier apa pun yang mencakup norma Lp; ini adalah subjek yang sangat umum dalam geometri: cara menghitung jarak antara dua titik dalam ruang dimensi-N. Anda bahkan tidak perlu mengutipnya tergantung pada bidang Anda.
lakinsm