Estimasi efisien mode multivarian secara komputasi

14

Versi singkat: Apa metode yang paling efisien secara komputasi untuk memperkirakan mode set data multidimensi, yang diambil dari distribusi kontinu?

Versi panjang: Saya punya satu set data yang saya perlukan untuk memperkirakan mode. Mode ini tidak sesuai dengan mean atau median. Contoh ditunjukkan di bawah ini, ini adalah contoh 2D, tetapi solusi ND akan lebih baik: masukkan deskripsi gambar di sini

Saat ini, metode saya adalah

  1. Hitung estimasi kepadatan kernel pada grid yang sama dengan resolusi mode yang diinginkan
  2. Cari titik perhitungan terbesar

Jelas, ini menghitung KDE pada banyak titik yang tidak masuk akal, yang sangat buruk jika ada banyak titik data berdimensi tinggi atau saya mengharapkan resolusi yang baik pada mode.

Alternatifnya adalah menggunakan anil simulasi, algoritma genetika, dll untuk menemukan puncak global di KDE.

Pertanyaannya adalah apakah ada metode yang lebih cerdas dalam melakukan perhitungan ini?

tkw954
sumber
Saya tidak tahu jawabannya, tetapi saya pikir ini adalah pertanyaan yang bagus. Sulit bagi saya untuk memikirkan pendekatan yang lebih baik daripada yang telah Anda sebutkan. Saya pikir ada perbedaan antara pendekatan untuk estimasi kernel univariat dibandingkan dengan multivariat. Buku ini oleh David Scott mungkin membantu mengenai pendekatan kernel multivariat, meskipun saya tidak yakin dia membahas perburuan puncak. amazon.com/…
Michael R. Chernick

Jawaban:

7

KKf(x)Kf(x)K

Eksposisi yang sangat rinci pada algoritma juga diberikan dalam entri blog ini .

Sameer
sumber
3
Referensi yang bagus, Larry Wasserman juga baru-baru ini memiliki posting yang lebih pendek yang menggambarkan teknik ini dengan kurang detail, The Amazing Mean Shift Algorithm .
Andy W
1
@AndyW Panggilan bagus! Posting Larry Wasserman (dan blog-nya secara umum) sangat bagus. Menelusuri komentar, saya menemukan referensi ilustrasi ini pada mean-shift, mediod-shift dan varian, QuickShift.
Sameer
2
Terima kasih. Tidak dapat mengatakan apakah itu yang tercepat, tetapi pasti menemukan maksimum lokal. Berikut adalah beberapa plot lintasan dan tingkat pembelajaran pada beberapa data sintetis .
tkw954
9

Jika minat utama Anda adalah masalah 2-Dimensi, saya akan mengatakan bahwa estimasi kepadatan kernel adalah pilihan yang baik karena memiliki sifat asimptotis yang bagus (perhatikan bahwa saya tidak mengatakan bahwa itu adalah yang terbaik). Lihat misalnya

Parzen, E. (1962). Pada estimasi fungsi dan mode kepadatan probabilitas . Catatan Statistik Matematika 33: 1065-1076.

de Valpine, P. (2004). Monte Carlo menyatakan kemungkinan ruang berdasarkan estimasi kepadatan kernel posterior tertimbang . Jurnal Asosiasi Statistik Amerika 99: 523-536.

Untuk dimensi yang lebih tinggi (4+) metode ini sangat lambat karena kesulitan yang terkenal dalam memperkirakan matriks bandwidth optimal, lihat .

Sekarang, masalah dengan perintah ksdalam paket KDEadalah, seperti yang Anda sebutkan, bahwa ia mengevaluasi kepadatan dalam kotak tertentu yang bisa sangat membatasi. Masalah ini dapat diatasi jika Anda menggunakan paket KDEuntuk memperkirakan matriks bandwidth, menggunakan misalnya Hscv, mengimplementasikan penduga kepadatan Kernel dan kemudian mengoptimalkan fungsi ini menggunakan perintah optim. Ini ditunjukkan di bawah ini menggunakan data simulasi dan kernel Gaussian di R.

rm(list=ls())

# Required packages
library(mvtnorm)
library(ks)

# simulated data
set.seed(1)
dat = rmvnorm(1000,c(0,0),diag(2))

# Bandwidth matrix
H.scv=Hlscv(dat)

# [Implementation of the KDE](http://en.wikipedia.org/wiki/Kernel_density_estimation)
H.eig = eigen(H.scv)
H.sqrt = H.eig$vectors %*% diag(sqrt(H.eig$values)) %*% solve(H.eig$vectors)
H = solve(H.sqrt)
dH = det(H.scv)

Gkde = function(par){
return( -log(mean(dmvnorm(t(H%*%t(par-dat)),rep(0,2),diag(2),log=FALSE)/sqrt(dH))))
}

# Optimisation
Max = optim(c(0,0),Gkde)$par
Max

Pengukur bentuk terbatas cenderung lebih cepat, misalnya

Cule, ML, Samworth, RJ dan Stewart, MI (2010). Estimasi kemungkinan maksimum kepadatan log-cekung multi-dimensi . Jurnal Royal Statistical Society B 72: 545–600.

Tetapi mereka terlalu memuncak untuk tujuan ini.

4

Metode lain yang dapat Anda pertimbangkan untuk digunakan adalah: memasang campuran multivariat hingga normals (atau distribusi fleksibel lainnya) atau

Abraham, C., Biau, G. dan Cadre, B. (2003). Perkiraan sederhana dari mode kepadatan multivarian . Jurnal Statistik Kanada 31: 23–34.

Saya harap ini membantu.

Komunitas
sumber
0

Baru-baru ini kami telah menerbitkan makalah yang menyarankan penduga mode cepat yang konsisten.

PS Ruzankin dan AV Logachov (2019). Pengukur mode cepat dalam ruang multidimensi. Statistik & Surat Kemungkinan

O(dn)dn

Saya juga akan menyarankan penduga mode varians minimal baru dari makalah saya baru-baru ini

PS Ruzankin (2020). Kelas penduga mode nonparametrik. Komunikasi dalam Statistik - Simulasi dan Komputasi

O(dn2)nRd

Pavel Ruzankin
sumber