Saya memiliki dataset yang merupakan statistik dari forum diskusi web. Saya melihat distribusi jumlah balasan yang diharapkan dimiliki suatu topik. Secara khusus, saya telah membuat dataset yang memiliki daftar jumlah balasan topik, dan kemudian jumlah topik yang memiliki jumlah balasan tersebut.
"num_replies","count"
0,627568
1,156371
2,151670
3,79094
4,59473
5,39895
6,30947
7,23329
8,18726
Jika saya memplot dataset pada plot log-log, saya mendapatkan apa yang pada dasarnya garis lurus:
(Ini adalah distribusi Zipfian ). Wikipedia memberi tahu saya bahwa garis lurus pada log-log plot menyiratkan suatu fungsi yang dapat dimodelkan dengan monomial dari bentuk . Dan sebenarnya saya sudah melihat fungsi seperti itu:
lines(data$num_replies, 480000 * data$num_replies ^ -1.62, col="green")
Bola mata saya jelas tidak seakurat R. Jadi bagaimana saya bisa mendapatkan R agar sesuai dengan parameter model ini bagi saya lebih akurat? Saya mencoba regresi polinomial, tetapi saya tidak berpikir bahwa R mencoba menyesuaikan eksponen sebagai parameter - apa nama yang tepat untuk model yang saya inginkan?
Sunting: Terima kasih atas jawaban semua orang. Seperti yang disarankan, saya sekarang sudah cocok dengan model linier terhadap log data input, menggunakan resep ini:
data <- read.csv(file="result.txt")
# Avoid taking the log of zero:
data$num_replies = data$num_replies + 1
plot(data$num_replies, data$count, log="xy", cex=0.8)
# Fit just the first 100 points in the series:
model <- lm(log(data$count[1:100]) ~ log(data$num_replies[1:100]))
points(data$num_replies, round(exp(coef(model)[1] + coef(model)[2] * log(data$num_replies))),
col="red")
Hasilnya adalah ini, menunjukkan model dengan warna merah:
Itu terlihat seperti perkiraan yang baik untuk tujuan saya.
Jika saya kemudian menggunakan model Zipfian ini (alpha = 1,703164) bersama dengan generator angka acak untuk menghasilkan jumlah total topik yang sama (1400930) seperti dataset terukur asli yang terkandung (menggunakan kode C ini yang saya temukan di web ), hasilnya terlihat seperti:
Poin yang diukur berwarna hitam, yang dihasilkan secara acak sesuai dengan model berwarna merah.
Saya pikir ini menunjukkan bahwa varian sederhana yang dibuat dengan secara acak menghasilkan 1400930 poin ini adalah penjelasan yang baik untuk bentuk grafik asli.
Jika Anda tertarik untuk bermain sendiri dengan data mentah, saya telah mempostingnya di sini .
sumber
Jawaban:
Contoh Anda sangat bagus karena jelas menunjukkan masalah berulang dengan data tersebut.
Dua nama umum adalah fungsi kekuasaan dan hukum kekuasaan. Dalam biologi, dan beberapa bidang lain, orang sering berbicara tentang alometri, terutama setiap kali Anda menghubungkan pengukuran ukuran. Dalam fisika, dan beberapa bidang lain, orang berbicara tentang hukum penskalaan.
Saya tidak akan menganggap monomial sebagai istilah yang baik di sini, karena saya mengaitkannya dengan kekuatan bilangan bulat. Untuk alasan yang sama, ini tidak dianggap sebagai kasus khusus polinomial.
Masalah pemasangan hukum kekuasaan ke ekor distribusi morf menjadi masalah pas hukum kekuasaan untuk hubungan antara dua variabel yang berbeda.
Cara termudah untuk menyesuaikan undang-undang kekuasaan adalah mengambil logaritma dari kedua variabel dan kemudian pas garis lurus menggunakan regresi. Ada banyak keberatan terhadap hal ini setiap kali kedua variabel mengalami kesalahan, seperti yang biasa terjadi. Contoh di sini adalah contoh kasus karena kedua variabel (dan tidak satu pun) dapat dianggap sebagai respon (variabel dependen). Argumen itu mengarah pada metode pemasangan yang lebih simetris.
Selain itu, selalu ada pertanyaan tentang asumsi tentang struktur kesalahan. Sekali lagi, contoh di sini adalah kasus di mana kesalahan jelas heteroscedastic. Itu menunjukkan sesuatu yang lebih seperti kuadrat terkecil tertimbang.
Satu ulasan yang sangat baik adalah http://www.ncbi.nlm.nih.gov/pubmed/16573844
Namun masalah lain adalah bahwa orang sering mengidentifikasi undang-undang kekuasaan hanya atas beberapa rentang data mereka. Pertanyaan-pertanyaan kemudian menjadi ilmiah dan statistik, sampai ke apakah mengidentifikasi hukum kekuasaan hanyalah angan-angan atau hobi amatir yang modis. Sebagian besar diskusi muncul di bawah judul perilaku fraktal dan bebas skala, dengan diskusi terkait mulai dari fisika hingga metafisika. Dalam contoh spesifik Anda, kelengkungan kecil tampak jelas.
Penggemar hukum kekuasaan tidak selalu cocok dengan skeptis, karena para penggemar menerbitkan lebih dari skeptis. Saya menyarankan bahwa sebar plot pada skala logaritmik, meskipun plot alami dan sangat baik yang sangat penting, harus disertai dengan plot sisa dari beberapa jenis untuk memeriksa keberangkatan dari bentuk fungsi kekuasaan.
sumber
Jika Anda berasumsi bahwa kekuatan adalah model yang cocok, maka Anda dapat menggunakan
log(y) ~ log(x)
sebagai model Anda, dan cocok dengan regresi linier menggunakanlm()
:Coba ini:
Cocok dengan model:
Sekarang buat plot:
sumber