Hiper elipsoid (sabit Mahalanobis mesafesi) yüzeyinden eşit şekilde nasıl örnek alınır?


12

Gerçek değerli çok değişkenli bir durumda, Mahalanobis'in ortalamasına olan mesafesinin sabit olduğu yüzeyden noktaları eşit bir şekilde örneklemenin bir yolu var mı?

DÜZENLEME: Bu sadece denklemi karşılayan bir hiper-elipsoidin yüzeyinden eşit olarak örnekleme noktalarına kaynar,

(xμ)TΣ1(xμ)=d2.

Daha kesin olmak gerekirse, "eşit olarak", hiper-yüzeyin her alan elemanı aynı olasılık kütlesini şekilde örnek kastediyorum .dA


1
Yanlışsam beni düzeltin: "rastgele bir değişkeni verildiğinde , dan belirli bir Mahalanobis mesafesi olan noktalardan nasıl düzgün bir şekilde örnek alabilirim ?" XcE[X]
Kevin Li

1
Bence uygun bir "tekdüze" tanımına ihtiyacımız olacak. Nedeni şudur: iki boyutta, bu nokta kümesi bir elips boyunca uzanır. Bu elipsten, eşit uzunlukların eşit şansa sahip olacağı veya eşit açıların eşit şansa sahip olduğu veya değişkenlerin standartlaştırıldığı zaman eşit uzunlukların eşit şansa sahip olacağı şekilde mi örneklenmesi gerekiyor ? Bu örneklemenin neyi başarmayı amaçladığını açıklayabilirseniz, bu bize ne sormaya çalıştığınızı bilmek için yeterli bilgi verebilir.
whuber

1
Kürenin yüzeyinden eşit olarak örneklemenin ve ardından elipsoide eşleştirilmesinin elipsoid üzerinde tek tip örnekler vermeyeceğini anlıyorum. Bu yüzden bir elipsoid yüzeyinden düzgün bir şekilde örnek yapan bir yönteme ihtiyacım var.
sachin vernekar

1
Hiper yüzeyin her alan elemanı dA'nın aynı olasılık kütlesini içerdiği için, numunenin bir elipsoidin yüzeyinde üniform olmasını ister misiniz?
Sextus Empiricus

1
Bu tek tip numuneyi neden, nasıl ve nereye uygulayacaksınız? Bu tür bilgiler en iyi / yeterli stratejiyle gelmeye yardımcı olabilir. Örneğin, farklı elipsoid eksenleri çok farklı olmadığında, (1) bir küre üzerinde örnekleme, (2) elipsoide sıkma, (3) yüzey alanının sıkılma oranını hesaplamak için reddetme örneklemesi kullanabilirsiniz. (4) bu oranın tersine göre örnekleri reddetmek.
Sextus Empiricus

Yanıtlar:


4

Farklı elipsoid eksenleri çok farklı olmadığında, reddetme örneklemesi kullanmak mümkündür (büyük farklılıklarla çok daha az reddedebilirsiniz)

  • (1) hiper küredeki örnek
  • (2) hiper elipsoide sıkmak
  • (3) yüzey alanının sıkılma hızını hesaplamak
  • (4) bu orana göre numuneleri reddetmek.

2D örnek

misal

set.seed(1)
#some matrix to transform n-sphere (in this case 2x2)
m <- matrix(c(1, 0.55, 0.55, 0.55), 2)

# sample multinomial with identity covariance matrix
x <- cbind(rnorm(3000, 0, 1), rnorm(3000, 0, 1))
l1 <- sqrt(x[,1]^2 + x[,2]^2)

# perpendicular vector
per <- cbind(x[,2], -x[,1])

# transform x
x <- x %*% m
# transform perpendicular vector (to see how the area transforms)
per2 <- per %*% m

# get onto unit-"sphere"/ellipsoid
x <- x/l1

# this is how the area contracted
contract <- sqrt(per2[,1]^2 + per2[,2]^2) / sqrt(per[,1]^2 + per[,2]^2)

# then this is how we should choose to reject samples 
p <- contract/max(contract)

# rejecting
choose <- which( rbinom(n=length(p), size=1, p=p) == 1)

#plotting
plot(x[1:length(choose), 1], x[1:length(choose), 2],
     xlim=c(-1.2, 1.2), ylim=c(-1.2, 1.2),
     xlab = expression(x[1]), ylab = expression(x[2]),
     bg=rgb(0, 0, 0, 0.01), cex=0.6, pch=21, col=rgb(0, 0, 0, 0.01))
title("squeezed uniform circle \n ")

#plotting
plot(x[choose,1], x[choose,2],
     xlim=c(-1.2, 1.2), ylim=c(-1.2, 1.2),
     xlab = expression(x[1]), ylab = expression(x[2]),
     bg=rgb(0, 0, 0, 0.01), cex=0.6, pch=21, col=rgb(0, 0, 0, 0.01))
title("squeezed uniform circle \n  with rejection sampling")
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.