1626435387-5d0ec7dd22f55dfcc65f3209f497fb0b (844202), страница 8
Текст из файла (страница 8)
также подраздел 2.7 и замечание 2.10).Таким образом, технология Б весьма эффективна для конструированияпримеров плотностей, для которых применим метод интегральной суперпозиции (такие примеры здесь и в дальнейшем индексируются символами«В.1») – см.
далее подраздел 14.4.ПРИМЕР 3.1 (В.1; 2 балла; [13]). Пусть требуется построить алгоритм численного моделирования выборочного значения ξ0 случайнойвеличины ξ, распределенной согласно плотностиZfξ (u) = 2π/2v cos v cos uv dv, 0 < u < 1.043Рассмотрим случайный вектор (ξ, η) с совместной плотностью распределенияp(u, v) = 2v cos v cos uv, 0 < u < 1, 0 < v < π/2.(3.5)Рассмотрим разложение (2.6), (2.7) для плотности (3.5):Z1fη (v) =Zp(u, v) du =0fξ (u|v) =12v cos v cos uv du = sin 2v, 0 < v <0p(u, v)2v cos v cos uvv cos uv==, 0 < u < 1.fη (v)2 cos v sin vsin vπ;2(3.6)Полученные одномерные плотности являются элементарными.Выведем формулу метода обратной функции распределения для выборочного значения η0 случайной компоненты η. Решаем соответствующий аналог уравнения (2.16) и последовательно получаем η0Z η0arccos(1 − 2α1 )− cos 2v .sin 2v dv = α1 , = α1 и, наконец, η0 =2200(3.7)Проверка 2.1 для формулы (3.7) при α1 = 0 дает η0 = [arccos(1 − 2××0)]/2 = 0, а при α1 = 1 имеем η0 = [arccos(1 − 2 × 1)]/2 = π/2.Поставим полученное значение η0 в условную плотность (3.6) и выведем формулу метода обратной функции распределения для выборочного значения ξ0 компоненты ξ.
Решаем соответствующий аналог уравнения (2.16) и последовательно получаемZ0ξ0η0 cos(η0 u) du= α2 ,sin η0и, наконец, ξ0 = ξ0sin(η0 u) = α2sin η0 0arcsin(α2 sin η0 ).η0(3.8)Проверка 2.1 для формулы (3.8) при α2 = 0 дает ξ0 = [arcsin(0×× sin η0 )]/η0 = 0, а при α2 = 1 имеем ξ0 = [arcsin(1 × sin η0 )]/η0 = 1.Последовательное применение формул (3.7) и (3.8) дает требуемыйалгоритм метода интегральной суперпозиции (алгоритм 3.1) для получения выборочного значения ξ0 случайной величины ξ. Описание примера 3.1 закончено.443.2.
Введение случайных параметров. В задачах численногостатистического моделирования часто целесообразным является увеличение числа случайных параметров, описывающих исследуемую численную модель того или иного прикладного процесса.Как правило, для такой модели требуется численно аппроксимировать значение среднегоZhiq(λ, v)fξ (2) (v; λ) dv, V ⊆ Rm ,Iˆ = q (2) (λ) = Eξ (2) q λ, ξ (2) =V(3.9)где λ = (λ(1) , . . . , λ(k) ) – набор фиксированных (не случайных) параметров, а ξ (2) = η (1) , .
. . , η (m) – исходный набор m случайных параметров,распределенных в области V ⊆ Rm . При этом можно использовать следующий аналог алгоритма 1.2 метода Монте-Карло:n1 X (2)(2)(2) ζi ; ζi = q λ, ξ i ,Iˆ ≈n i=1(2)где выборочные значения ξ 1 , . . . , ξ (2)n численно моделируются согласноплотности fξ (2) (v; λ).Для модификации модели часто полезно предположить, что векторλ является случайно распределенным в области U ⊆ Rk . В этом случаевместо λ можно ввести случайный вектор ξ (1) = ξ (1) , . . . , ξ (k) , распределенный согласно плотности fξ (1) (u); при этом актуальным становитсявычисление величиныZ ZI = Eq(ξ) =q(u, v) fξ (u, v) du dv =UV= Eξ (1) q (2) ξ (1) =Zq (2) (u)fξ (1) (u) du.(3.10)Здесь ξ = ξ (1) , ξ (2) = ξ (1) , . . .
, ξ (k) , ξ (k+1) = η (1) , ..., ξ (d) = η (m) – этоd-мерный случайный вектор (d = k + m), распределенный в областиX = U × V ⊆ Rd согласно плотности fξ (u, v) = fξ (1) (u) × fξ (2) (v|u), приэтом fξ (2) (v|u) = fξ (2) (v; u).Отдельно отметим, что здесь и далее можно рассматривать не«прямоугольные», а «криволинейные» области X ⊆ Rd , для которыхзапись X = U × V не совсем корректна. Все рассуждения данного раздела переносятся и на этот «криволинейный» случай (см., в частности,45пример 3.2).
Однако для простоты изложения в формулах здесь мыбудем рассматривать «прямоугольный» случай X = U × V .По аналогии с формулами (2.5) имеемZfξ (u, v)fξ (1) (u) =fξ (u, v) dv, fξ (2) (v|u) =.(3.11)fξ (1) (u)VДля вычисления величины (3.10) можно применить алгоритм методаМонте-Карло (в точности совпадающий с алгоритмом 1.2):nI≈1Xζi ; ζi = q(ξ i ).n i=1(3.12)3.3. Метод условного математического ожидания длявычисления интеграла как один из методов уменьшениядисперсии весового оценивателя. Соображения этого пункта являются в каком-то смысле «обратными» к рассуждениям из предыдущегоподраздела.Речь пойдет о методе уменьшения дисперсии оценивателя (монтекарловской оценки) ζ = q(ξ) = q ξ (1) , ξ (2) интегралаZZZ ZI=g(x) dx =q(x)fξ (x) dx =q(u, v) fξ (u, v) du dv = Eζ.XXUV(3.13)Здесь q(x) = g(x)/fξ (x); функция fξ (x) является плотностью распределения случайного вектора ξ;x = x(1) , .
. . , x(d) = (u, v); u = x(1) , . . . , x(k) ; v = x(k+1) , . . . , x(d) .Метод Монте-Карло для приближения величины (3.13) имеет вид(3.12) (см. также алгоритм 1.2).Учитывая соотношение (3.11) и выделяя в переменной x первые kкомпонентR (как в соотношении (3.13)), положим, что функцияq (2) (u) = V q(u, v)fξ (2) (v|u) dv (см. также соотношение (3.9)) для каждого u может быть вычислена аналитически. Тогда можно рассмотреть следующую модификацию стандартного алгоритма (3.12).АЛГОРИТМ 3.2 (см., например, [9]). Численно приближаем интеграл I следующим образом:Zn1 X (1)(1)(1) ζi ; ζi = q (2) ξ i , (3.14)I=q (2) (u)fξ (1) (u) du = Eζ (1) ≈nUi=146где случайный векторn(случайнаявеличина) ξ (1) и соответствующиеo(1)выборочные значения ξ iраспределены согласно плотности fξ (1) (u)(см. соотношение (3.11)).Алгоритм 3.2 называется методом условного математического ожидания.
Этот алгоритм строится для вычисления k-мерного интеграла (3.10) (кратность которого на m меньше, чем размерность dравного ему исходного интеграла (3.13)). Поэтому иногда алгоритм 3.2иногда называют методом уменьшения кратности интегрирования.УТВЕРЖДЕНИЕ 3.1 (см., например, [9]). Верна следующая формула – формула полной дисперсииDζ = Dξ (1) ζ (1) + Eξ (1) Dξ (2) q(ξ)ξ (1) .(3.15)Иными словами, полная дисперсия равна сумме дисперсииусловного математического ожидания и математическогоожидания условной дисперсии.ДОКАЗАТЕЛЬСТВО. Заметим, чтоZDζ = Eζ 2 − (Eζ)2 =q 2 (x)fξ (x) dx − I 2 .(3.16)XИспользуя соотношения (3.11), (3.14), получаемZ ZZ 2Dζ−Dξ (1) ζ (1) =q 2 (u, v)fξ (u, v) du dv−q (2) (u) fξ (1) (u) du =U VU"Z #Z Z2=UVq 2 (u, v)fξ (2) (v|u) dv −Vq(u, v)fξ (2) (v|u) dvfξ (1) (u) du == Eξ (1) Dξ (2) q(ξ)ξ (1) .Утверждение 3.1 доказано.Из соотношения (3.15) следует, что дисперсия Dξ (1) ζ (1) весового оценивателя (монте-карловской оценки) ζ (1) метода условного математического ожидания не превосходит дисперсию Dζ оценивателя ζстандартного метода (3.12).Тем не менее, имеются примеры ситуаций, в которых подсчет функции q (2) (u) в точке сложнее вычисления функции q(u, v), и выигрышалгоритма 3.1 у алгоритма 1.2 (или (3.12)) по трудоемкости S = t × Dζможет не достигаться.47ПРИМЕР 3.2 [5, 9].
Рассмотрим тестовую задачу вычисления интегралаZdu dvI=,(3.17)vXгде двумерная область X представляет собой треугольник, ограниченный прямыми u = 2, v = 1 и u = v (рис. 3.1).Здесь и далее тестовой называется задача с известным решением,на примере которой изучаются те или иные особенности рассматриваемых алгоритмов.Рис. 3.1. Область интегрирования X в примере 3.2Интегрируя по частям, несложно подсчитать, что величина (3.17)равнаZ 2 Z udvI== 2 ln 2 − 1 ≈ 0, 3863.duv11Реализуем алгоритм 3.1 (формулу (3.12)) для вычисления интеграла(3.17).В качестве функции fξ (u, v) рассмотрим fξ (u, v) ≡ 2 при (u, v) ∈ X;это плотность равномерного распределения случайной точки ξ = (ξ, η)в треугольнике X.48ТогдаI = Eζ = Eq(ξ), где q(ξ) =1.2ηR2Найдем плотность fη (v) = v fξ (u, v) du = 2(2 − v); 1 < v < 2.
Длячисленного моделирования выборочного значения η0 случайной величины η применяем метод обратной функции распределения (с учетомтого, что 1 < η0 < 2):Z η0√Fη (η0 ) =(4 − 2v) dv = α00 или η0 = 2 − α0 , α0 = 1 − α00 ,1и тогдаnI≈11 X√ .2n i=1 2 − αi(3.18)Дисперсия случайной величины ζ = q(ξ) равнаZDζ =2Zdu11u21dv − I 2 = (1 − ln 2) − (2 ln 2 − 1)2 ≈ 0, 0043.(2v)22Теперь Rрассмотрим алгоритм 3.2.
Интегрируя по v, получаем, чтоufξ (u) = 1 2 dv = 2(u − 1); 1 < u < 2, и, следовательно,21fη (v|u) = 2(u−1)= u−1; 1 < v < u, иq (2) (u) =Zu111×2v u − 1dv =ln u.2(u − 1)ФункцияраспределенияслучайнойвеличиныξравнаFξ (u) = (u − 1)2 и моделирующая формула метода обратной функции√распределения (с учетом того, что 1 < ξ0 < 2) имеет вид ξ0 = 1 + α0 .Следовательно, алгоритм 3.2 имеет видI≈√n1 X ln(1 + αi ).√2n i=1αi(3.19)Дисперсия случайной величины ζ (1) = q (2) (ξ) меньше дисперсии Dζ:Dζ (1) = Dq1 (ξ) =Z12ln2 udu − I 2 ≈ 0, 0010.u−149Однако, сравнивая формулы (3.18), (3.19), можно убедиться, что реализация одного выборочного значения случайной величины(1)ζi = q (2) (ξi ) является более трудоемкой, чем реализация одного значения ζi = q(ξ i ).
Таким образом, вопрос о соотношении трудоемкостейалгоритмов 1.2 и 3.2 требует здесь отдельного численного исследования.Окончательный вывод о целесообразности использования алгоритма 3.2вместо алгоритма 1.2 зависит, в частности, от того, как реализовано вданном языке программирования вычисление элементарных функций– логарифма и корня квадратного – из формул (3.18), (3.19).
Описаниепримера 3.2 закончено.3.4. Метод расщепления и его оптимизация. Алгоритм 3.2 основан на возможности избежать моделирования «хвоста» ξ (2) случайного вектора ξ из-за наличия удобной для вычисленийаналитической формы функции q (2) (u) = Eξ (2) q(ξ)|ξ (1) = u .Напротив, следующий способ уменьшения трудоемкости S = t×Dζстандартного метода Монте-Карло (3.12), использующий представление интеграла в видеZZ ZI=g(x) dx =q(u, v)fξ (1) (u)fξ (2) (v|u) du dv(3.20)XUV(см. соотношение (3.13)), основан на моделировании дополнительных (2) выборочных значений ξ kдля приближенного вычисления соответствующих значений функции q (2) (u) методом Монте-Карло.АЛГОРИТМ 3.3 (см., например, [9]).
Численно моделируем n неза (1) висимых выборочных значений ξ iслучайного вектора (случайной(1)(1)величины) ξ согласно плотности fξ (1) (u); u ∈ U . Для каждого ξ i(1)получаем K ξ iнезависимых компьютерных реализацийno(2)(1) ξ i,k ; k = 1, ..., K ξ iслучайного вектора (случайной величины) ξ (2) согласно плотности (1) fξ (2) vξ i ; v ∈ V .Вычисляем приближенно интеграл (3.20) по формуле(1)K ξinXX11(1) (2) q ξ i , ξ i,k ,I = Eζ (K) ≈n i=1 K ξ (1)k=1i50(3.21)Kгде ζ (K) =1K ξ(1)ξ (1)X(2) q ξ (1) , ξ kk=1(2)ξkи– независимые, одинаково распределенные (как ξ (2) ) случайныевекторы (величины).Алгоритм 3.3 называетсяметодом расщепления.Заметим, что если K ξ (1) ≡ 1 (то есть «расщепление» отсутствует),то алгоритм 3.3 превращается в стандартный алгоритм метода МонтеКарло (3.12) (см.