Files
ArtStudies/M1/Monte Carlo Methods/Exercise11.rmd
2024-11-06 16:58:52 +01:00

36 lines
686 B
Plaintext

# Exercise 11 : Importance Sampling, Cauchy Distribution
```{r}
set.seed(110)
n <- 10000
a <- 50
k <- 5
f <- function(x) {
1 / (pi * (1 + x^2))
}
g <- function(x, a, k) {
k * a^k / x^(k + 1) * (x >= a)
}
h <- function(x, a) {
x >= a
}
G_inv <- function(x, a, k) {
a / (1 - x)^(1 / k)
}
# Classical Monte Carlo method
x1 <- rcauchy(n, 0, 1)
p1 <- h(x1, a)
# Importance sampling
x2 <- G_inv(runif(n), a, k)
p2 <- f(x2) / g(x2, a, k) * h(x2, a)
# Results (cat the results and the var of the estimators)
cat(sprintf("Classical Monte Carlo: mean = %f, variance = %f \n", mean(p1), var(p1)))
cat(sprintf("Importance sampling: mean = %f, variance = %f", mean(p2), var(p2)))
```