Bagaimana mengukur dispersi dalam data frekuensi kata?

10

Bagaimana saya bisa menghitung jumlah dispersi dalam vektor jumlah kata? Saya mencari statistik yang akan tinggi untuk dokumen A, karena berisi banyak kata berbeda yang jarang terjadi, dan rendah untuk dokumen B, karena berisi satu kata (atau beberapa kata) yang sering muncul.

Lebih umum, bagaimana cara mengukur dispersi atau "menyebar" dalam data nominal?

Apakah ada cara standar untuk melakukan ini di komunitas analisis teks?

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

dB '
sumber

Jawaban:

10

pipia[ln(1/pi)]b

  1. a=0,b=0

  2. a=2,b=01pi21/pi2k1/kpi2=k(1/k)2=1/kk

  3. a=1,b=1Hexp(H)kH=k(1/k)ln[1/(1/k)]=lnkexp(H)=exp(lnk)k

Formulasi ini ditemukan di IJ Good. 1953. Frekuensi populasi spesies dan estimasi parameter populasi. Biometrika 40: 237-264. www.jstor.org/stable/2333344 .

Basis lain untuk logaritma (mis. 10 atau 2) sama-sama mungkin sesuai dengan selera atau preseden atau kenyamanan, dengan hanya variasi sederhana yang tersirat untuk beberapa formula di atas.

Penemuan kembali yang independen (atau reinvention) dari langkah kedua bermacam-macam di beberapa disiplin ilmu dan nama-nama di atas jauh dari daftar lengkap.

Mengikat langkah-langkah umum dalam keluarga tidak hanya menarik secara matematis. Ini menggarisbawahi bahwa ada pilihan ukuran tergantung pada bobot relatif yang diterapkan pada barang langka dan umum, dan dengan demikian mengurangi kesan adhockery yang dibuat oleh sejumlah kecil proposal yang tampaknya sewenang-wenang. Literatur di beberapa bidang dilemahkan oleh kertas dan bahkan buku-buku berdasarkan klaim lemah bahwa beberapa ukuran disukai oleh penulis (s) adalah ukuran terbaik yang harus digunakan semua orang.

Perhitungan saya menunjukkan bahwa contoh A dan B tidak begitu berbeda kecuali pada ukuran pertama:

----------------------------------------------------------------------
          |  Shannon H      exp(H)     Simpson   1/Simpson      #items
----------+-----------------------------------------------------------
        A |      0.656       1.927       0.643       1.556          14
        B |      0.684       1.981       0.630       1.588           9 
----------------------------------------------------------------------

(Beberapa orang mungkin tertarik untuk mencatat bahwa Simpson yang dinamai di sini (Edward Hugh Simpson, 1922-) sama dengan yang dihormati dengan nama Simpson's paradox. Ia melakukan pekerjaan yang sangat baik, tetapi ia bukan yang pertama kali menemukan kedua hal yang karenanya dia dinamai, yang pada gilirannya adalah paradoks Stigler, yang pada gilirannya ....)

Nick Cox
sumber
Ini adalah jawaban yang brilian (dan jauh lebih mudah diikuti daripada makalah 1953;)). Terima kasih!
dB '
7

Saya tidak tahu apakah ada cara umum untuk melakukannya, tetapi bagi saya ini analog dengan pertanyaan ketidaksetaraan di bidang ekonomi. Jika Anda memperlakukan setiap kata sebagai individu dan jumlah mereka sebanding dengan pendapatan, Anda tertarik untuk membandingkan di mana kantong kata berada di antara ekstrem dari setiap kata yang memiliki jumlah yang sama (persamaan lengkap), atau satu kata yang memiliki semua hitungan dan yang lainnya nol. Kerumitannya adalah bahwa "nol" tidak muncul, Anda tidak dapat memiliki kurang dari 1 hitungan dalam sekumpulan kata seperti yang biasanya didefinisikan ...

Koefisien Gini dari A adalah 0,18, dan B adalah 0,43, yang menunjukkan bahwa A lebih "sama" daripada B.

library(ineq)

A <- c(3, 2, 2, rep(1, 11))
B <- c(9, 2, rep(1, 7))
Gini(A)
Gini(B)

Saya tertarik pada jawaban lain juga. Jelas varians kuno dalam hitungan akan menjadi titik awal juga, tetapi Anda harus mengukurnya entah bagaimana membuatnya sebanding dengan tas dengan ukuran yang berbeda dan karenanya jumlah rata-rata yang berbeda per kata.

Peter Ellis
sumber
Panggilan bagus - koefisien Gini adalah pikiran pertama saya juga! Pencarian di google scholar, saya tidak dapat menemukan banyak contoh untuk menggunakannya dengan data teks. Saya ingin tahu apakah komunitas NLP / pencarian teks memiliki ukuran yang lebih standar untuk hal semacam ini ...
dB '
Awas: menurut perhitungan saya Gini telah diberikan sebagai nama untuk setidaknya tiga tindakan berbeda. Sejarah dapat dipertahankan dalam setiap kasus, tetapi orang perlu melihat rumus yang digunakan.
Nick Cox
1
Poin bagus @NickCox - Saya memikirkan yang satu ini, seperti yang digunakan untuk ketidaksetaraan, yang saya pikir adalah penggunaan paling umum: ellisp.github.io/blog/2017/08/05/weighted-gini Saya telah melihat berbagai metode memperkirakan / menghitungnya tetapi semuanya dengan definisi dasar yang sama, dalam konteks ini. Saya tahu orang-orang yang belajar mesin menggunakannya untuk sesuatu yang berbeda tetapi belum melihat alasan mereka ...
Peter Ellis
1
@dB 'Saya menemukan makalah ini menggunakan Gini dalam aplikasi teks: prosiding.mlr.press/v10/sanasam10a/sanasam10a.pdf (saya lebih suka jawaban ini dari yang diterima, hanya karena ia melakukan pekerjaan terbaik untuk membedakan A dan B!)
Darren Cook
5

Artikel ini memiliki ulasan tentang ukuran dispersi standar yang digunakan oleh ahli bahasa. Mereka terdaftar sebagai langkah-langkah dispersi kata tunggal (Mereka mengukur dispersi kata-kata di seluruh bagian, halaman dll) tetapi mungkin dapat digunakan sebagai langkah-langkah dispersi frekuensi kata. Yang statistik standar tampaknya adalah:

  1. maks-mnt
  2. standar deviasi
  3. CV
  4. χ2

Klasiknya adalah:

  1. D=1CVn1
  2. S=N(i=1nni)2n
  3. D2=(log2Ni=1nnilog2niN)/log2(n)
  4. D3=1χ24N

Nnni

Teks juga menyebutkan dua ukuran dispersi lagi, tetapi mereka bergantung pada penempatan spasial kata-kata, jadi ini tidak dapat diterapkan pada model tas kata-kata.

  • Catatan : Saya mengubah notasi asli dari artikel, untuk membuat formula lebih konsisten dengan notasi standar.
Chris Novak
sumber
fxi
vi
1
Mengapa persamaan dari sumber tidak disalin dengan tepat (bukan hanya perubahan label dalam ekspresi tetapi juga perubahan ekspresi, atau setidaknya bukan perubahan label / variabel yang konsisten)?
Sextus Empiricus
@NickCox Terima kasih telah mengetahui hal itu, saya mengoreksi formula untuk memasukkan hanya jumlah yang ditentukan.
Chris Novak
@ MartijnWeterings Anda benar bahwa pada awalnya artikel tersebut membahas metrik dispersi kata tunggal, meskipun mereka tampaknya menggeneralisasi ke frekuensi kata sepele. Kalau-kalau saya memasukkan informasi itu dalam jawaban. Saya mengubah notasi asli agar ini berlaku untuk model kantung kata (mengganti f dengan N dan v_i dengan n_i). Saya menambahkan catatan untuk menandakan ini, tetapi jika Anda berpikir itu masih menyesatkan saya dapat memberikan pembenaran yang lebih lama dalam jawabannya.
Chris Novak
4

Yang pertama saya lakukan adalah menghitung entropi Shannon. Anda dapat menggunakan paket R infotheo, fungsi entropy(X, method="emp"). Jika Anda membungkusnya natstobits(H), Anda akan mendapatkan entropi dari sumber ini dalam bit.

Alexey Burnakov
sumber
3

Salah satu ukuran kesetaraan yang mungkin bisa Anda gunakan adalah skala entropi Shannon . Jika Anda memiliki vektor proporsi maka ukuran ini diberikan oleh:p(p1,...,pn)

H¯(p)pilnpilnn.

Ini adalah ukuran skala dengan rentang dengan nilai ekstrim yang terjadi pada ekstrem kesetaraan atau ketidaksetaraan. Entropi Shannon adalah ukuran informasi, dan versi berskala memungkinkan perbandingan antara kasus dengan jumlah kategori yang berbeda.0H¯(p)1

  • Ketidaksetaraan Ekstrim: Semua hitungan ada dalam beberapa kategori . Dalam hal ini kita memiliki dan ini memberi kita .kpi=I(i=k)H¯(p)=0

  • Kesetaraan Ekstrem: Semua jumlah sama untuk semua kategori. Dalam hal ini kita memiliki dan ini memberi kita .pi=1/nH¯(p)=1

Ben - Pasang kembali Monica
sumber