Meminimalkan Jumlah Deviasi Absolut ( Jarak

15

Saya memiliki kumpulan data x1,x2,...,xk dan ingin mencari parameter m sedemikian sehingga meminimalkan jumlah

saya=1k|m-xsaya|.
itu adalah

minmsaya=1k|m-xsaya|.
mayenew
sumber
2
Bisakah Anda menguraikan sedikit?
Geoff Oxberry
Dalam hal itu, bukankah solusinya akan menjadi titik tengah antara nilai maksimum dan minimum?
Paul
@ Paul median dapat meminimalkan jumlah tetapi ingin tahu bagaimana hal itu dapat dilakukan secara analitis, khususnya l1-minimisasi
mayenew
@adu itu benar, median adalah solusinya. Menghitung median secara analitik adalah sepele; hanya mengurutkan dan kemudian mengambil nilai tengah.
David Ketcheson

Jawaban:

22

Mungkin Anda meminta bukti bahwa median memecahkan masalah? Nah, ini bisa dilakukan seperti ini:

Tujuannya adalah linear sedikit demi sedikit dan karenanya dapat dibedakan kecuali untuk poin . Apa kemiringan tujuan adalah beberapa titik m x i ? Nah, kemiringan adalah jumlah dari lereng pemetaan m | m - x j | dan ini adalah baik + 1 (untuk m > x j ) atau - 1 (untuk m < x j ). Oleh karena itu, kemiringan menunjukkan berapa x i lebih kecil dari mm=ximxim|mxj|+1m>xj1m<xjxim. Anda melihat bahwa kemiringan adalah nol jika ada banyak lebih kecil dan lebih besar dari m (untuk dan bahkan jumlah x i ). Jika ada ganjil x i 's maka lereng adalah - 1 kiri 'middlest' satu dan + 1 kanan itu, maka middlest satu adalah minimum.ximxixi1+1

Beladau
sumber
16

Generalisasi masalah ini ke beberapa dimensi disebut masalah median geometris . Seperti yang ditunjukkan David, median adalah solusi untuk kasus 1-D; di sana, Anda bisa menggunakan algoritme seleksi penemuan-median , yang lebih efisien daripada penyortiran. Mengurutkan adalah sedangkan algoritma seleksi adalah O ( n ) ; pengurutan hanya lebih efisien jika beberapa pilihan diperlukan, dalam hal ini Anda dapat mengurutkan (mahal) satu kali, dan kemudian berulang kali memilih dari daftar yang diurutkan.O(nlogn)O(n)

Tautan ke masalah median geometris menyebutkan solusi untuk kasus multidimensi.

Geoff Oxberry
sumber
6

Solusi eksplisit dalam hal median benar, tetapi dalam menanggapi komentar oleh mayenew, berikut adalah pendekatan lain.

Telah diketahui bahwa masalah minimalisasi secara umum, dan masalah yang diposting khususnya, dapat diselesaikan dengan pemrograman linier.1

Formulasi LP berikut akan dilakukan untuk latihan yang diberikan dengan tidak diketahui :zi,m

sedemikian rupa sehingga: z im - x i z ix i - m

minzi
zimxi
zixim

Jelas harus sama | x i - m | minimal, jadi ini meminta jumlah nilai absolut kesalahan untuk diminimalkan.zi|xim|

hardmath
sumber
2

Cara analisis cembung bertenaga lebih untuk menunjukkan ini hanya mengambil subgradien. Sebenarnya ini setara dengan alasan yang digunakan dalam beberapa jawaban lain yang melibatkan lereng.

|m-xsaya|

m<xsaya

m=xsaya

m>xsaya

mx1,...xk

cjordan1
sumber
0

argminmsaya=1N|m-xsaya|

d|x|dx=tanda(x)L.1
saya=1Ntanda(m-xsaya)
m=median{x1,x2,,xN}

Orang harus memperhatikan bahwa mediankelompok diskrit tidak didefinisikan secara unik.
Selain itu, tidak harus item dalam grup.

Royi
sumber