Як працює метод зворотного перетворення?


21

Як працює метод інверсії?
Скажімо , у мене випадкову вибірку X1,X2,...,Xn з щільністю f(x;θ)=1θx(1θ)θ над
0<x<1і тому з cdfFX(x)=x1/θon(0,1). Тоді методом інверсії я отримую розподілXякFX1(u)=uθ.

Так само uθ має розподіл X ? Так працює метод інверсії?

u<-runif(n)
x<-u^(theta)

3
Дивіться наші нитки щодо інтегрального перетворення ймовірності .
whuber

1
Так, хоча зазвичай його називають "інтегральним перетворенням ймовірності". Спробуйте вивести функцію розподілу щоб побачити, чому вона працює. F1(U)
dsaxton

Відповіді:


20

Метод дуже простий, тому опишу його простими словами. Спочатку скористайтеся функцією кумулятивного розподілу деякого розподілу, з якого ви хочете взяти вибірку. Функція приймає як вхід деяке значення x і повідомляє вам, яка ймовірність отримання X x . ТакFXxXx

FX(x)=Pr(Xx)=p

Зворотній від такої функції функції, прийме p як вхід, а повертає x . Зверніть увагу , що р «s рівномірно розподілені - це може бути використано для відбору проб з будь-якого F X , якщо ви знаєте , F - 1 X . Метод називається вибіркою зворотного перетворення . Ідея дуже проста: легко відібрати значення рівномірно з U ( 0 , 1 ) , тому якщо ви хочете вибірки з деякого F X , просто візьміть значення u UFX1pxpFXFX1U(0,1)FX і проведіть u через F - 1 X, щоб отримати x 'suU(0,1)uFX1x

FX1(u)=x

або в R (для нормального розподілу)

U <- runif(1e6)
X <- qnorm(U)

Щоб візуалізувати його, подивіться на CDF нижче, як правило, ми думаємо про розподіли з точки зору перегляду ox для ймовірностей значень з x -axis. За допомогою цього методу вибірки ми робимо навпаки і починаємо з "ймовірностей" і використовуємо їх для вибору пов'язаних з ними значень. За допомогою дискретних розподілів ви розглядаєте U як рядок від 0 до 1 і присвоюєте значення залежно від того, де лежить деяка точка u на цій лінії (наприклад, 0, якщо 0 u < 0,5 або 1, якщо 0,5 u 1 для вибірки з eyxU01u00u<0.510.5u1 ).Bernoulli(0.5)

enter image description here

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

Ви також запитуєте, який розподіл . Оскільки F - 1 X є оберненою F X , то F X ( F - 1 X ( u ) ) = u і F - 1 X ( F X ( x ) ) = x , так що так, значення, отримані таким методом, мають таке ж розподіл , як X . Ви можете перевірити це за допомогою простого моделюванняFX1(u)FX1FXFX(FX1(u))=uFX1(FX(x))=xX

U <- runif(1e6)
all.equal(pnorm(qnorm(U)), U)

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

2
Можна використовувати метод зворотного перетворення з нормальним розподілом. Існує чимало реалізацій для нормального зворотного CDF . Наприклад, ви можете записати звичайний зворотний CDF, використовуючи додаткову функцію помилок . Приклад реалізації erfc тут . Не кодуйте erfc самостійно; користуватися бібліотекою. Те, що не існує формули закритої форми, не означає, що ви не можете використовувати числові наближення високої якості.
Меттью Ганн

2

Так, має розподіл XUθX .

Дві додаткові точки щодо інтуїції за методом зворотного перетворення можуть бути корисними

F1

(2) [Будь ласка, просто ігноруйте наступне, якщо це приносить більше плутанини замість ясності]

XF

F(X)Unif(0,1)

XXF(X)

XХ1/θUnif(0,1). Нехай назвемо цю випадкову зміннуU. Так

U=Х1/θ
Повертаючись до свого питання, у вас протилежне завдання: генерувати Х з U. Так, справді
Х=Uθ

PS. Альтернативними назвами методу є інтегральне перетворення ймовірності, вибіркове обернене перетворення, квантильне перетворення та, в деяких джерелах, "фундаментальна теорема моделювання".

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