Це правильно ? (породження усіченої норми, багатоваріантної-гауссової)


10

Якщо тобто XRn, XN(0_,σ2I)

fX(x)=1(2πσ2)n/2exp(||x||22σ2)

Я хочу аналогічну версію усіченого-нормального розподілу у багатовимірному випадку.

Точніше, я хочу створити обмежене нормою (до значення ) багатофакторне гауссова st колиaY

fY(y)={c.fX(y), if ||y||a0, otherwise .
c=1Prob{||X||a}

Зараз я спостерігаю таке:

Якщо ,x=(x1,x2,,xn)||x||a

|xn|Tmax(0,(a21n1xi2))

Тому, вибираючи x1,,xn1 як зразки Гаусса, можна обмежити xn як зразок із усіченого нормального розподілу (за гауссовим хвостом T ) розподілу NT(0,σ2) , за винятком знаку, обраного випадковим чином з ймовірністю 1/2 .

Тепер моє запитання таке:

Якщо я генерую кожен зразок вектора (x1,,xn) з (X1,,Xn) як,

х1,,хн-1N(0,σ2)

і

Z 1{ ± 1 мас. 1 / 2 } Z 2 ~ Н Т ( 0 , σ 2 ) Т ( х 1 , ... , х п - 1 ) хн=Z1Z2  де, , , (тобто a усічений-скалярний нормальний RV з Z1{±1 w.p. 1/2}Z2NT(0,σ2)Т(х1,,хн-1)макс(0,(а2-1н-1хi2))

Чи буде обмеженою нормою ( ) багатовимірною гауссовою? (тобто те саме, що визначено вище). Як я повинен перевірити? Будь-які інші пропозиції, якщо це не спосіб?a Y(Х1,Х2,,Хн)aY

Редагувати:

Ось графік розсіяння точок у двовимірному випадку з нормою, прирізаною до значень вище "1" Нормально усічена багатоваріантна гауссова

Примітка. Нижче наведено кілька чудових відповідей, але обґрунтування того, чому ця пропозиція є неправильною, відсутня. Насправді, це головний момент цього питання.


1
@ Xi'an Дякуємо за запит та інтерес. Ось моє міркування до вашої точки зору: Розглянутому алгоритму потрібні RV , які є гауссами та усіченим-гауссом, коли їх бачать на зразок ; більш конкретно, одне з розподілів змінюється для кожної вибірки. Вони не є відповідними маргіналами. Тому що, кожен з'являється у два терміни: та ; і явно змінюється в часі, оскільки поріг укорочення змінюється для кожного зразка. Доказ розкладання, який ви надали, має проблему в точно такому ж сенсі. Маргінали просто недоступні. n - 1 x i , i = 1 , , n - 1 x i x n x nX1Xnn1xi,i=1,,n1xixnxn
Любить ймовірність

Ваш (неправильний) алгоритм генерує а потім задано . Отже, перше покоління - від граничного, а друге - від умовного. Мій доказ показує, що граничне не є (n-1) розмірним гауссовим розподілом. X nN T ( 0 , σ 2 ) X 1 , , X n - 1
X1,,Xn1N(0,σ2)
XnNT(0,σ2)
X1,,Xn1
Сіань

@ Сіань Умовно Гаусса не означає маргінального гаусса !!
Любить ймовірність

@ Xi'an Гаразд, моя думка в цьому. Коли генеруються як гаусси, а пізніші терміни залежать від цих значень, поля не будуть гауссами. Те, що ви сказали, саме таке. Вони можуть бути "умовно гауссовими", але, безумовно, не "незначно гауссовими". Мій попередній коментар означає це. X 1 , , X n - 1X1,,Xn1X1,,Xn1
Любить ймовірність

1
@ Xi'an Дякую за ваші відповіді пацієнта. Нарешті я зрозумів свою помилку з вашим стимулом, і я також написав власну детальну відповідь, пояснивши те саме. Але вибачте, сподіваюся, ви не заперечуєте, я, мабуть, повинен прийняти відповідь Уабера за його детальне пояснення, яке допомагає насправді вирішити проблему.
Любить ймовірність

Відповіді:


11

Багатоваріантний нормальний розподіл сферично симетричний. Ви шукаєте розподілу усікає радіус нижче . Оскільки цей критерій залежить лише від довжини , усічений розподіл залишається сферично симетричним. Оскільки не залежить від сферичного кутаі мають розподіл , то , отже , може генерувати значення з усіченого розподілу всього за кілька простих кроків:ρ = | | X | | 2 a X ρ X / | | X | | ρXρ=||X||2aXρX/||X||χ ( n )ρσχ(n)

  1. Створіть .XN(0,In)

  2. Створіть як квадратний корінь розподілу усічений в .χ 2 ( d ) ( a / σ ) 2Pχ2(d)(a/σ)2

  3. Нехай.Y=σPX/||X||

На етапі 1 отримують у вигляді послідовності незалежних реалізацій стандартної нормальної змінної.дXd

На етапі 2 легко створюється шляхом інвертування квантильної функції розподілу : генерувати однорідну змінну підтримувану в діапазоні (квантилів) між і і задаємо .F - 1 χ 2 ( d ) U F ( ( a / σ ) 2 ) 1 P = PF1χ2(d)UF((a/σ)2)1P=F(U)

Ось гістограма з таких незалежних реалізацій для в вимірах, усічена внизу при . Генерування зайняло близько однієї секунди, що підтверджує ефективність роботи алгоритму. σ P σ = 3 n = 11 a = 7105σPσ=3n=11a=7

Малюнок

Червона крива - це щільність усіченого розподілу, масштабована на . Її близька відповідність гістограмі свідчить про обгрунтованість цієї методики.σ = 3χ(11)σ=3

Щоб отримати інтуїцію для усікання, розглянемо випадок , у вимірах. Ось розсіювач проти (для незалежних реалізацій). На ній чітко видно отвір в радіусі :σ = 1 n = 2 Y 2 Y 1 10 4 aa=3σ=1n=2Y2Y1104a

Малюнок 2

Нарешті, зауважимо, що (1) компоненти повинні мати однакові розподіли (через сферичну симетрію) та (2), за винятком випадків, коли , що спільне розподіл не є нормальним. Справді, як виростає велика, швидке зниження (одновимірний) нормального розподілу викликає більшу частину ймовірності сферически усічений багатовимірне нормальне групуватися поблизу поверхні -сфери (радіуса ). Отже, граничний розподіл повинен наближати масштабований симетричний розподіл Beta зосереджений у інтервалі . Це видно в попередньому розсіювачі, деXia=0an1a((n1)/2,(n1)/2)(a,a)a=3σє вже великим у двох вимірах: точки обмежують кільце ( -сфера) радіусом .213σ

Ось гістограми граничних розподілів з імітації розміру в вимірах з , (для яких апроксимуючий розподіл Beta є рівномірним):1053a=10σ=1(1,1)

Малюнок 3

Оскільки перші поля, описані у питанні, є нормальними (за побудовою), ця процедура не може бути правильною.n1


Наступний Rкод генерував першу цифру. Він сконструйований так, щоб паралельні кроки 1-3 для генерації . Він був змінений , щоб генерувати другу цифру шляхом зміни змінних , , , і , а потім видачі команди ділянку після того, як був створений.Yadnsigmaplot(y[1,], y[2,], pch=16, cex=1/2, col="#00000010")y

Покоління змінюється в коді для більш високого чисельного рішення: код фактично виробляє і використовує для обчислення .U1UP

Той самий прийом моделювання даних згідно з передбачуваним алгоритмом, узагальнення його за допомогою гістограми та накладення гістограми може бути використаний для перевірки методу, описаного у питанні. Це підтвердить, що метод працює не так, як очікувалося.

a <- 7      # Lower threshold
d <- 11     # Dimensions
n <- 1e5    # Sample size
sigma <- 3  # Original SD
#
# The algorithm.
#
set.seed(17)
u.max <- pchisq((a/sigma)^2, d, lower.tail=FALSE)
if (u.max == 0) stop("The threshold is too large.")
u <- runif(n, 0, u.max)
rho <- sigma * sqrt(qchisq(u, d, lower.tail=FALSE)) 
x <- matrix(rnorm(n*d, 0, 1), ncol=d)
y <- t(x * rho / apply(x, 1, function(y) sqrt(sum(y*y))))
#
# Draw histograms of the marginal distributions.
#
h <- function(z) {
  s <- sd(z)
  hist(z, freq=FALSE, ylim=c(0, 1/sqrt(2*pi*s^2)),
       main="Marginal Histogram",
       sub="Best Normal Fit Superimposed")
  curve(dnorm(x, mean(z), s), add=TRUE, lwd=2, col="Red")
}
par(mfrow=c(1, min(d, 4)))
invisible(apply(y, 1, h))
#
# Draw a nice histogram of the distances.
#
#plot(y[1,], y[2,], pch=16, cex=1/2, col="#00000010") # For figure 2
rho.max <- min(qchisq(1 - 0.001*pchisq(a/sigma, d, lower.tail=FALSE), d)*sigma, 
               max(rho), na.rm=TRUE)
k <- ceiling(rho.max/a)
hist(rho, freq=FALSE, xlim=c(0, rho.max),  
     breaks=seq(0, max(rho)+a, by=a/ceiling(50/k)))
#
# Superimpose the theoretical distribution.
#
dchi <- function(x, d) {
  exp((d-1)*log(x) + (1-d/2)*log(2) - x^2/2 - lgamma(d/2))
}
curve((x >= a)*dchi(x/sigma, d) / (1-pchisq((a/sigma)^2, d))/sigma, add=TRUE, 
      lwd=2, col="Red", n=257)

1
Ось чудова відповідь! Але чи можете ви також люб’язно кинути світло на те, чому відповідна пропозиція не вдається? (Відповідь Сіань недостатньо задовільна. Я бачу певну проблему з його аргументом, наприклад, коли він інтегрується)
Любить ймовірність

1
Дуже дякую. Але, можу я також попросити вас відповісти на мій перший коментар вище? Здається, моя пропозиція також дає гарну гістограму досить близько. Я збентежений!! Де помилка? Зауважте, що це головний пункт питання, АКО ПРАВИЛЬНО , метод потребує лише однієї "усіченої-гауссової" вибірки PLUS. Наявність існуючих швидких алгоритмів призводить до величезної економії (уникає поділів і множень, крім уникаючи необхідності відносно більш складного усіченого ChiSquare)
любить ймовірність

2
Наскільки я можу сказати, ви пропонуєте намалювати iid із нормального розподілу та з двостороннього усіченого Normal. Це, очевидно, не усічений розподіл MVN, оскільки розсіювач для легко виявить, що я вважаю, що я не зміг зрозуміти цю частину вашого питання. У більш загальному плані , тягар питань , які задають чому - то робить НЕ роботу на питаю , щоб надати доказ того, що він робить роботу. Можливо, якби ви надали такі докази, характер вашого питання став би зрозумілим. X1,,Xn1Xnn=2
whuber

1
Дякуємо за деталі. Як ви сказали, я додав двовимірний графік розсіювання і виправив кілька речень. До речі, вибачте, що я насправді не мав на увазі передати загальний тягар доказів. Моя пропозиція, здається, працює нормально з усіма простими перевірками, тому мені цікаво, чому її неправильно, що також є основною метою цього питання.
Любить ймовірність

1
Перегляд граничних розподілів - це найпростіший спосіб, який я міг би знайти, щоб проілюструвати відмінності в процедурах. Я додав цифру та деякий код, щоб показати ці маргінали.
whuber

7

Я написав це, припускаючи, що ви не хочете, щоб точки, що мають || y || > а, який є аналогом звичайного одновимірного усічення. Однак ви написали, що хочете зберегти очки, маючи | y || > = а і викиньте інші. Тим не менш, очевидне коригування мого рішення може бути здійснено, якщо ви дійсно хочете зберегти точки, що мають | y || > = а.

Найпростішим способом, який, як правило, є дуже загальним методом, є використання Acceptance-Rejection https://en.wikipedia.org/wiki/Rejection_sampling . Це буде досить швидко, доки Prob (|| X ||> a) буде досить низьким, тому що тоді не буде багато відхилень.

Створіть вибіркове значення x з необмеженої багатоваріантної нормальної (навіть якщо ваша проблема стверджує, що багатоваріантна нормальна сферична, техніку можна застосовувати, навіть якщо її немає). Якщо || x || <= a, прийняти, тобто використовувати x, інакше відхилити його та створити новий зразок. Повторіть цей процес, поки у вас не буде стільки прийнятих зразків, скільки вам потрібно. Ефект застосування цієї процедури полягає в генерації y такої, що її щільність c * f_X (y), якщо || y || <= a, і 0, якщо || y || > a, за моєю корекцією до вступної частини вашого питання. Ніколи не потрібно обчислювати c; це фактично автоматично визначається алгоритмом на основі частоти, з якою відхиляються вибірки.


3
+1 Мені подобається, що ваша пропозиція працює з несферично симетричними MVN, що ви чітко описали обставини, за яких вона буде ефективною, і що ви наголошуєте на необхідності оцінювати коефіцієнт відхилення при вирішенні питання про використання вибірки відхилення.
whuber

2
Так, і також зауважте, що він може працювати для довільно сформованих областей приймання, а не лише 2-норма, що знаходиться вище або нижче порогового рівня, як тут.
Марк Л. Стоун

5

fX(x)1(2πσ2)n/2exp(||x||22σ2)I||x||>a=1(2πσ2)n/2exp(x12++xn22σ2)I||x||>a
fX(x)1(2πσ2)(n1)/2exp(||xn||22σ2)1(2πσ2)1/2exp(xn22σ2)I||x||>a
=1(2πσ2)(n1)/2exp(||xn||22σ2)1(2πσ2)1/2exp(xn22σ2)I||xn||2+xn2>a2
=P(Xn2>a2||xn||2)(2πσ2)(n1)/2exp(||xn||22σ2)
×P(Xn2>a2||xn||2)1(2πσ2)1/2exp(xn22σ2)Ixn2>a||xn||2
fXn(xn)P(Xn2>a2||xn||2)(2πσ2)(n1)/2exp(||xn||22σ2)
xn
  1. XnXn
  2. XnP(Xn2>a2||xn||2)

Єдиний спосіб я бачу, скориставшись цією властивістю, - це запустити пробник Gibbs, один компонент за одним, використовуючи усічені нормальні умовні розподіли.


1
fX(x)

3

Питання випливає з ідеї використання - основної умовно-декомпозиції спільних розподілів - для того, щоб намалювати векторні зразки.

X

Prob(||X||>a)TYX.I||X||>a

fY(y)=1T1(2πσ2)n/2exp(||y||22σ2)I||y||>a=1T1(2πσ2)n/2exp(y12++yn22σ2)I||y||>a=(i=1n112πσ2exp(yi22σ2))(1T12πσ2exp(yn22σ2)I||y||>a)=(i=1n112πσ2exp(yi22σ2))Gaussians(1T12πσ2exp(yn22σ2)Iyn2>(a2y12yn12))Truncated Gaussian??

Найкоротша відповідь полягає в тому, що останній фактор не є усіченим гауссом, (що важливіше), навіть не розподілом.


Ось детальне пояснення того, чому саме зазначена факторизація має певний фундаментальний недолік. В одному реченні: будь-яка умовна факторизація заданого спільного розподілу повинна задовольняти деяким дуже фундаментальним властивостям, і вищевказана факторизація їх не задовольняє (див. Нижче).

fXY(x,y)=fX(x)fY|X(y|x)fX(x)XfY|X(y|x)Y

  1. f(x,y)fX(x)
  2. fY|X(y|x)x

Yn|(Y1Yn1)

(Y1Yn1)


Така пропозиція алгоритму, ймовірно, є наслідком наступного помилкового уявлення: Після того, як розподіл природним чином виходить із спільного розподілу (наприклад, у гауссів вище), це призводить до умовної факторизації. ---- Це не так! ---- Інший (другий) фактор також повинен бути хорошим.


Примітка: Раніше @whuber є чудовою відповіддю, яка фактично вирішує проблему генерування багатовимірної гауссової норми усіченою нормою. Я приймаю його відповідь. Ця відповідь лише для того, щоб уточнити та поділитися власним розумінням та генезисом питання.


2
+1 Дякую за те, що поділилися своїми думками: вони додають цінні відомості в цю тему.
whuber
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.