Cara menghitung standar deviasi 2D, dengan 0 mean, dibatasi oleh batas


10

Masalah saya adalah sebagai berikut: Saya menjatuhkan 40 bola sekaligus dari titik tertentu, beberapa meter di atas lantai. Bola bergulir, dan beristirahat. Menggunakan visi komputer, saya menghitung pusat massa di bidang XY. Saya hanya tertarik pada jarak dari pusat massa ke setiap bola, yang dihitung menggunakan geometri sederhana. Sekarang, saya ingin tahu standar deviasi sepihak dari pusat. Jadi, saya bisa tahu bahwa sejumlah bola berada dalam radius satu std, lebih banyak bola dalam radius 2 * std dan sebagainya. Bagaimana cara menghitung standar deviasi satu sisi? Pendekatan normal akan menyatakan bahwa setengah dari bola berada di "sisi negatif" dari rata-rata 0. Ini tentu saja tidak masuk akal dalam percobaan ini. Apakah saya harus memastikan bahwa bola sesuai dengan distribusi standar? Terima kasih atas bantuannya.

Jawaban:


13

Untuk mengkarakterisasi jumlah dispersi 2D di sekitar centroid, Anda hanya ingin (root) jarak kuadrat,

σ^=RMS=1ni((xix¯)2+(yiy¯)2).

Dalam rumus ini, adalah titik koordinat dan centroid mereka (titik rata-rata) adalah(xi,yi),i=1,2,,n(x¯,y¯).


Pertanyaannya menanyakan distribusi jarak. Ketika bola memiliki distribusi bivariat isotropik Normal di sekitar centroid mereka - yang merupakan asumsi standar dan secara fisik masuk akal - jarak kuadrat sebanding dengan distribusi chi-kuadrat dengan dua derajat kebebasan (satu untuk setiap koordinat). Ini adalah konsekuensi langsung dari satu definisi dari distribusi chi-squared sebagai jumlah kuadrat dari variabel normal standar independen, karena adalah kombinasi linear dari normal independen dengan ekspektasi Menulis varian umum dari

xix¯=n1nxiji1nxj
E[xix¯]=n1nE[xi]ji1nE[xj]=0.
xisebagai , Asumsi anisotropi adalah bahwa memiliki distribusi yang sama dengan dan independen dari mereka, sehingga hasil yang identik berlaku untuk distribusi . Ini menetapkan konstanta proporsionalitas: kuadrat jarak memiliki distribusi chi-kuadrat dengan dua derajat kebebasan, diskalakan oleh .σ2
E[(xix¯)2]=Var(xix¯)=(n1n)2Var(xi)+ji(1n)2Var(xj)=n1nσ2.
yjxi(yjy¯)2n1nσ2

Tes paling parah dari persamaan ini adalah kasus , karena fraksi berbeda paling banyak dari . Dengan mensimulasikan percobaan, baik untuk dan , dan terlalu banyak menempatkan histogram jarak kuadrat dengan distribusi chi-kuadrat skala (merah), kita dapat memverifikasi teori ini.n=2n1n1n = 40n=2n=40

Angka

Setiap baris menunjukkan data yang sama: di sebelah kiri sumbu x adalah logaritmik; di sebelah kanan itu menunjukkan jarak kuadrat yang sebenarnya. Nilai sebenarnya dari untuk simulasi ini ditetapkan ke .1σ1

Hasil ini untuk 100.000 iterasi dengan dan 50.000 iterasi dengan . Kesepakatan antara histogram dan kepadatan chi-squared sangat baik.n = 40n=2n=40


Meskipun tidak diketahui, ia dapat diperkirakan dengan berbagai cara. Misalnya, jarak kuadrat rata-rata harus kali rata-rata dari , yaitu . Dengan , misalnya, perkirakan sebagai kali jarak kuadrat rata-rata. Jadi estimasi akan menjadi kali jarak RMS. Dengan menggunakan nilai kita dapat mengatakan bahwa:n - 1σ2χ 2 2 2n=40σ240n1nσ2χ222n=40σ2σ4039/2σ χ 2 240/78χ22

  • Sekitar 39% jarak akan kurang dari , karena 39% dari kurang dari . χ 2 2 139/40σ^χ221

  • Sekitar 78% jarak akan kurang dari kali , karena 78% dari kurang dari .3 χ 2 2 339/40σ^χ223

Dan seterusnya, untuk beberapa kelipatan yang ingin Anda gunakan sebagai pengganti atau . Sebagai tanda centang, dalam simulasi untuk diplot sebelumnya, proporsi aktual dari jarak kuadrat kurang dari kali adalah3 n = 40 1 , 2 , , 10 n - 113n=401,2,,10n1nσ^2

0.3932 0.6320 0.7767 0.8647 0.9178 0.9504 0.9700 0.9818 0.9890 0.9933

Proporsi teoritisnya adalah

0.3935 0.6321 0.7769 0.8647 0.9179 0.9502 0.9698 0.9817 0.9889 0.9933

Perjanjian itu luar biasa.


Berikut ini adalah Rkode untuk melakukan dan menganalisis simulasi.

f <- function(n, n.iter, x.min=0, x.max=Inf, plot=TRUE) {
  #
  # Generate `n.iter` experiments in which `n` locations are generated using
  # standard normal variates for their coordinates.
  #
  xy <- array(rnorm(n*2*n.iter), c(n.iter,2,n))
  #
  # Compute the squared distances to the centers for each experiment.
  #
  xy.center <- apply(xy, c(1,2), mean)
  xy.distances2 <- apply(xy-array(xy.center, c(n.iter,2,n)), c(1,3), 
                         function(z) sum(z^2))
  #
  # Optionally plot histograms.
  #
  if(plot) {
    xy.plot <- xy.distances2[xy.distances2 >= x.min & xy.distances2 <= x.max]

    hist(log(xy.plot), prob=TRUE, breaks=30,
         main=paste("Histogram of log squared distance, n=", n),
         xlab="Log squared distance")
    curve(dchisq(n/(n-1) * exp(x), df=2) * exp(x) * n/(n-1), 
          from=log(min(xy.plot)), to=log(max(xy.plot)), 
          n=513, add=TRUE, col="Red", lwd=2)

    hist(xy.plot, prob=TRUE, breaks=30,
         main=paste("Histogram of squared distance, n=", n),
         xlab="Squared distance")
    curve(n/(n-1) * dchisq(n/(n-1) * x, df=2), 
          from=min(xy.plot), to=max(xy.plot), 
          n=513, add=TRUE, col="Red", lwd=2)  
  }
  return(xy.distances2)
}
#
# Plot the histograms and compare to scaled chi-squared distributions.
#
par(mfrow=c(2,2))
set.seed(17)
xy.distances2 <- f(2, 10^5, exp(-6), 6)
xy.distances2 <- f(n <- 40, n.iter <- 50000, exp(-6), 12)
#
# Compare the last simulation to cumulative chi-squared distributions.
#
sigma.hat <- sqrt((n / (2*(n-1)) * mean(xy.distances2)))
print(cumsum(tabulate(cut(xy.distances2, 
                    (0:10) * (n-1)/n * sigma.hat^2))) / (n*n.iter), digits=4)
print(pchisq(1:10, df=2), digits=4)

2
Terima kasih atas jawaban yang sangat komprehensif. Saya tidak begitu mengerti bagaimana rumus RMS dapat menggambarkan standar deviasi tanpa membaginya dengan jumlah bola. Jika Anda membandingkannya dengan http://en.wikipedia.org/wiki/Root-mean-square_deviation_(bioinformatics mereka telah membagi jumlahnya dengan N. Jika jumlahnya dibagi dengan N atau N-1 (karena 40 bola hanyalah sebuah seleksi dari populasi bola?)
K_scheduler

Setelah melakukan perhitungan lagi, sepertinya sqrt (SDx ^ 2 + SDy ^ 2) adalah apa yang saya cari. Ini akan memberi saya radius untuk lingkaran yang berisi semua bola dengan probabilitas 65%, bukan?
K_scheduler

Itu rumus yang setara untuk RMS, tetapi nilai 65% salah, seperti yang dijelaskan dalam jawaban ini.
whuber

2
@ nali Semua poin itu jelas dibuat dalam jawaban saya di sini.
whuber

4
@nali Posting Anda di sini melampaui batas kesopanan dalam kekasaran dan serangan ad hominem mereka . Meskipun saya tidak khawatir dianggap bodoh atau bodoh, sebagai moderator situs ini saya harus khawatir tentang menjaga wacana tetap sopan dan oleh karena itu tidak dapat mentolerir kekosongan yang Anda posting. Karenanya, saya telah menghapus komentar terakhir Anda. Jika saya melihat komentar dari Anda yang sama kasarnya terhadap siapa pun, saya akan menghapusnya tanpa pemberitahuan lebih lanjut dan saya (atau moderator lainnya) akan mengambil langkah segera untuk membatasi interaksi Anda di situs ini.
whuber

4

Saya pikir Anda memiliki beberapa hal yang agak membingungkan. Memang benar bahwa jarak tidak boleh negatif, tetapi itu tidak mempengaruhi perhitungan standar deviasi. Walaupun itu berarti distribusi jarak tidak bisa persis normal, itu bisa tetap dekat; tetapi bahkan jika itu jauh dari normal, masih ada standar deviasi.

Juga, tidak ada standar deviasi "satu sisi" - Anda mungkin memikirkan tes hipotesis (yang bisa satu sisi atau dua sisi). Dalam judul Anda, Anda mengatakan rata-rata adalah 0, tetapi jarak rata-rata tidak akan 0 (kecuali bola berada di tumpukan 40 bola tinggi!) Dan Anda mengatakan ada batas - mungkin ada batas, jika bola dijatuhkan di sebuah ruangan maka mereka tidak bisa lebih jauh dari pusat daripada jarak ke dinding terdekat. Tetapi kecuali beberapa bola memantul ke dinding, itu tidak akan mempengaruhi hal-hal.

Jadi, setelah Anda memiliki 40 jarak Anda menghitung deviasi standar (dan rata-rata, median, rentang interkuartil, dll) menggunakan metode standar. Anda juga dapat membuat plot jarak (mis. Plot normal kuantil, plot kotak) untuk melihat apakah plot tersebut terdistribusi normal (jika itu menarik).


Terima kasih Peter, saya tidak mengekspresikan diri dengan benar. Biarkan saya mencoba mengklarifikasi: Bayangkan pemandangan dari atas. Anda menghitung jarak rata-rata, itu akan digambarkan sebagai lingkaran di sekitar pusat massa (jarak rata-rata = jari-jari). Sekarang, +/- deviasi std dari ini akan menghasilkan lingkaran yang lebih kecil dan lingkaran yang lebih besar. Saya tidak ingin tahu standar deviasi dari jarak rata-rata ke pusat massa, tetapi lebih dari standar deviasi dari pusat massa ke luar. Dengan kata lain, dalam radius apa dari pusat massa adalah 68,2% (satu standar deviasi) dari bola yang terletak.
K_scheduler

Oh oke. Maka saya pikir ini bukan masalah statistik tetapi masalah matematika; menemukan di mana 68,2% akan jatuh diketahui ... Saya lupa jawabannya tetapi melibatkan . π
Peter Flom

Anda mungkin benar dalam jawaban pertama Anda. Dari apa yang saya temukan, menggunakan standar deviasi radial harus melakukan trik. RSD = sqrt (SDx ^ 2 + SDy ^ 2)
K_scheduler

1

Sudah lama sejak ini ditanyakan, tetapi jawaban atas pertanyaan adalah bahwa ini adalah distribusi 2D bernama distribusi Rayleigh. Di sini asumsinya adalah bahwa faktor bentuk Rayleigh sama dengan standar deviasi koordinat X dan Y. Dalam praktiknya nilai faktor bentuk akan dihitung dari rata-rata kumpulan standar deviasi X dan Y.

dimulai dengan , dan

XN(μx,σx2)
YN(μy,σy2)

gunakan distribusi normal bivariat.

f(x,y)=12πσxσy1ρ2exp(12(1ρ2)[(xμx)2σx2+(yμy)2σy22ρ(xμx)(yμy)σxσy])

terjemahkan ke titik dan anggap .

(μx,μy)
ρ=0

Juga asumsikan bahwa jadi ganti keduanya dengan

σx2=σy2
σ2

kemudian distribusi 2-D dinyatakan sebagai jari-jari di sekitar titik yang dikenal sebagai distribusi Rayleigh .

(μx,μy)

PDF(r;σ)=rσ2exp(r22σ2)
mana dan
σ=σx=σy
ri=(xiμx)2+(yiμy)2

CDF(r;σ)=1exp(r22σ2)

Tentu saja ini untuk distribusi berkelanjutan. Untuk sampel hanya 40 bola tidak ada solusi yang tepat. Anda harus melakukan Analisis Monte Carlo dengan sampel 40 bola. Taylor, MS & Grubbs, Frank E. (1975). "Perkiraan Distribusi Probabilitas untuk Penyebaran Ekstrim" menemukan perkiraan untuk distribusi Chi dan log-normal untuk yang sesuai dengan distribusi sampel.


Sunting - Meskipun Wuber ragu, proporsi teoretis yang dia hitung adalah:

0.3935 0.6321 0.7769 0.8647 0.9179 0.9502 0.9698 0.9817 0.9889 0.9933

Dari fungsi CDF, nilai-nilai Sigma kumulatif untuk r (dalam sigmas) sama dengan rentang dari:

0-1, 0-2, 0-3, ..., 0-10

adalah:

0,3935, 0,6321, 0,7769, 0,8647, 0,9179, 0,9502, 0,9698, 0,9817, 0,9889, 0,9933


Terima kasih telah memberi nama distribusi. Namun, dengan (1) tidak membedakan antara parameter distribusi dan perkiraan parameter yang berasal dari data, (2) tidak menyatakan asumsi (kuat) yang diperlukan tentang distribusi bola, dan (3) dengan menjadi kabur, Anda berisiko pembaca yang menyesatkan. Memang, tidak jelas apa referensi Anda "ini" adalah: apakah itu distribusi lokasi bola? (Tidak.) Distribusi pusat massa? (Ya, tetapi dengan parameter skala yang berbeda dari standar deviasi bola.) Apakah Anda ingin memperjelas jawaban Anda?
whuber

mengisi kekosongan ....
MaxW

Terima kasih atas klarifikasi, Max. Sebagai pemeriksaan sederhana atas kebenaran jawaban Anda, mari kita pertimbangkan satu bola, bukan . Jawaban Anda tampaknya mengklaim distribusi jarak antara bola ini dan pusat massa semua bola adalah distribusi Rayleigh. Sayangnya, dalam hal ini jarak itu selalu nol. (Pertanyaan secara khusus menggambarkannya sebagai "jarak dari pusat massa ke setiap bola, yang dihitung menggunakan geometri sederhana.") Itu menunjukkan bahwa jawaban Anda mungkin salah dalam setiap kasus, termasuk untuk bola. 404040
whuber

Distribusi adalah tentang pusat massa.
MaxW

CDF diatur untuk satu bola saja. Dari CDF 39% bola akan jatuh dalam lingkaran jari-jari σ, 86% dalam 2σ, dan 99% dalam 3σ.
MaxW

-1

Distribusi normal, baik nilai positif maupun negatif, masuk akal jika Anda mengetahui bahwa distribusi normal ini adalah untuk jari-jari atau "distance from centroid". Variabel lainnya, sudut, adalah acak dan didistribusikan secara seragam dari 0-pi


Jari-jari, yang tidak pernah bisa negatif, pasti tidak akan memiliki distribusi normal!
whuber
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.