Вы можете переписать выражение для θ, исключив экспоненциальное распределение.
θ = 0 ∫ ∞ (x 4.5 / 2) (2 e -2x) dx
Здесь (2 e -2x) - экспоненциальное распределение со скоростью = 2, которое подсказывает, как интегрировать его с помощью Монте-Карло.
- Пример случайных значений из экспоненты
- Вычислить функцию (x 4.5 / 2) при выборочных значениях
- Среднее значение этих вычисленных значений будет интегралом, вычисленным M-C.
Код, R 4.0.3 x64, Win 10
set.seed(312345)
n <- 10000
x <- rexp(n, rate = 2.0)
f <- 0.5*x**4.5
mean(f)
отпечатки
[1] 1.160716
Вы даже можете оценить статистическую ошибку как
sd(f)/sqrt(n)
который печатает
[1] 0.1275271
Таким образом, оценка M-C вашего интеграла θ составляет 1,160716∓0,1275271.
Здесь реализовано следующее, например http://www.math.chalmers.se/Stat/Grundutb/CTH/tms150/1112/MC.pdf, 6.1.2, где g (x) - наша степенная функция (x 4.5 / 2), а f (x) это наше экспоненциальное распределение.
ОБНОВИТЬ
Просто чтобы прояснить одну вещь - не существует единого канонического способа разделить выражение под интегралом на выборку PDF f (x) и вычислимую функцию g (x), среднее значение которой было бы нашим интегралом.
Например, я мог бы написать
θ = 0 ∫ ∞ (x 4.5 e -x) (e -x sup >) dx
e -x будет PDF f (x). Простая экспонента со скоростью = 1 и g (x) как имеет экспоненциальную оставшуюся часть. Подобный код
set.seed(312345)
n <- 10000
f <- rexp(n, rate = 1.0)
g <- f**4.5*exp(-f)
print(mean(g))
print(sd(g)/sqrt(n))
дало целое значение 1,148697∓0,02158325. Это немного лучший подход, потому что статистическая ошибка меньше.
Вы даже можете написать это как
θ = Γ (5.5) 0.5 5.5 0 ∫ ∞ 1 G (x | shape = 5.5, scale = 0.5) dx
где Γ (x) - гамма-функция, а G (x | shape, scale) - гамма-распределение. Таким образом, вы можете выбрать из гамма-распределения и g (x) = 1 для любого выбранного x. Таким образом, это даст вам точный ответ. Код
set.seed(312345)
f <- rgamma(n, 5.5, scale=0.5)
g <- f**0.0 # g is equal to 1 for any value of f
print(mean(g)*gamma(5.5)*0.5**5.5)
print(sd(g)/sqrt(n))
дало интегральное значение 1,156623∓0.
person
Severin Pappadeux
schedule
28.11.2020