Tugas Praktikum 10 - Pemrograman Statistika
Soal 1
Diketahui pdf ( probability density function ) dari distribusi Kumaraswamy adalah sebagai berikut: \[ f(x|a,b) = abx^{a-1}(1-x^{(a)})^{b-1} \] di mana \(x \in (0,1)\)
Jika diketahui \(a=5\) dan \(b=3\)
Manual
Hitunglah \(E(X)\) dengan menggunakan metode Trapezoida untuk \(n=4\), Simpson untuk \(n=4\) dan four-point Gauss Quadrature tanpa menggunakan software apapun.
Jawab:
Metode Trapezoida
Terlebih dahulu melakukan substitusi nilai \(a\) dan \(b\). \[ f(x|a,b) = abx^{a-1}(1-x^{(a)})^{b-1} \] \[ f(x|5,3) = (5) \cdot (3) \cdot (x)^{5-1}(1-x^{(5)})^{3-1} \] \[ f(x|a,b) = 15x^{4}(1-x^{(5)})^{2} \]
Menghitung panjang setiap sub interval Diketahui bahwa \(x \in (0,1)\) dan \(n=4\), maka nilai \(h\) adalah: \[h = \frac{b-a}{n}\] \[h = \frac{1-0}{4} = \frac{1}{4}\]
Selanjutnya, menghitung nilai \(E(X)\) pada masing-masing nilai \(X_i\) \[ E(X) = x \cdot f(x|a,b) \] \[ E(X) = x \cdot 15x^{4}(1-x^{(5)})^{2} \] \[ E(X) = 15x^{5}(1-x^{(5)})^{2} \] Untuk \(X_0\): \[ E(X_0) = E(a+ih) = E(0+(0)\left(\frac{1}{4}\right) = E(0) \] \[ E(0) = 15 (0)^{5}(1-(0)^{(5)})^{2} = 15(0)(1) = 0 \] Untuk \(X_1\): \[ E(X_1) = E(a+ih) = E(0+(1)\left(\frac{1}{4}\right) = E\left(\frac{1}{4}\right) \] \[ E\left(\frac{1}{4}\right) = 15\left(\frac{1}{4}\right) ^{5}\left(1-\left(\frac{1}{4}\right)^{(5)}\right)^{2} = 15(0.000977)(0.998048) = 0.01462 \] Untuk \(X_2\): \[ E(X_2) = E(a+ih) = E(0+(2)\left(\frac{1}{4}\right) = E\left(\frac{1}{2}\right) \] \[ E\left(\frac{1}{2}\right) = 15\left(\frac{1}{2}\right) ^{5}\left(1-\left(\frac{1}{2}\right)^{(5)}\right)^{2} = 15(0.03125)(0.938477) = 0.439911 \] Untuk \(X_3\): \[ E(X_3) = E(a+ih) = E(0+(3)\left(\frac{1}{4}\right) = E\left(\frac{3}{4}\right) \] \[ E\left(\frac{3}{4}\right) = 15\left(\frac{3}{4}\right) ^{5}\left(1-\left(\frac{3}{4}\right)^{(5)}\right)^{2} = 15(0.237305)(0.581704) = 2.070617 \] Untuk \(X_4\): \[ E(X_4) = E(a+ih) = E(0+(4)\left(\frac{1}{4}\right) = E(1) \] \[ E(1) = 15(1) ^{5}\left(1-(1)^{(5)}\right)^{2} = 15(1)(0) = 0 \]
Bentuk Trapezoida untuk \(n=4\) \[T_4 = \left( \frac{h}{2} \right) \left[ E(X_0) + 2 E(X_1) + 2 E(X_2) + 2 E(X_3) + E(X_4) \right]\] \[T_4 = \left( \frac{\frac{1}{4}}{2} \right) \left[ 0 + 2 (0.01462) + 2 (0.439911) + 2 (2.070617) + 0 \right]\] \[T_4 = \left( \frac{1}{8} \right) (5.050295)\] \[T_4 = 0.631287\] Jadi, \[ \int_{0}^{1} 15x^{5}(1-x^{(5)})^{2} = 0.631287 \] ### Metode Simpson
Terlebih dahulu melakukan substitusi nilai \(a\) dan \(b\). \[ f(x|a,b) = abx^{a-1}(1-x^{(a)})^{b-1} \] \[ f(x|5,3) = (5) \cdot (3) \cdot (x)^{5-1}(1-x^{(5)})^{3-1} \] \[ f(x|a,b) = 15x^{4}(1-x^{(5)})^{2} \]
Menghitung panjang setiap sub interval Diketahui bahwa \(x \in (0,1)\) dan \(n=4\), maka nilai \(h\) adalah: \[h = \frac{b-a}{n}\] \[h = \frac{1-0}{4} = \frac{1}{4}\]
Selanjutnya, menghitung nilai \(E(X)\) pada masing-masing nilai \(X_i\) \[ E(X) = x \cdot f(x|a,b) \] \[ E(X) = x \cdot 15x^{4}(1-x^{(5)})^{2} \] \[ E(X) = 15x^{5}(1-x^{(5)})^{2} \] Untuk \(X_0\): \[ E(X_0) = E(a+ih) = E(0+(0)\left(\frac{1}{4}\right) = E(0) \] \[ E(0) = 15 (0)^{5}(1-(0)^{(5)})^{2} = 15(0)(1) = 0 \] Untuk \(X_1\): \[ E(X_1) = E(a+ih) = E(0+(1)\left(\frac{1}{4}\right) = E\left(\frac{1}{4}\right) \] \[ E\left(\frac{1}{4}\right) = 15\left(\frac{1}{4}\right) ^{5}\left(1-\left(\frac{1}{4}\right)^{(5)}\right)^{2} = 15(0.000977)(0.998048) = 0.01462 \] Untuk \(X_2\): \[ E(X_2) = E(a+ih) = E(0+(2)\left(\frac{1}{4}\right) = E\left(\frac{1}{2}\right) \] \[ E\left(\frac{1}{2}\right) = 15\left(\frac{1}{2}\right) ^{5}\left(1-\left(\frac{1}{2}\right)^{(5)}\right)^{2} = 15(0.03125)(0.938477) = 0.439911 \] Untuk \(X_3\): \[ E(X_3) = E(a+ih) = E(0+(3)\left(\frac{1}{4}\right) = E\left(\frac{3}{4}\right) \] \[ E\left(\frac{3}{4}\right) = 15\left(\frac{3}{4}\right) ^{5}\left(1-\left(\frac{3}{4}\right)^{(5)}\right)^{2} = 15(0.237305)(0.581704) = 2.070617 \] Untuk \(X_4\): \[ E(X_4) = E(a+ih) = E(0+(4)\left(\frac{1}{4}\right) = E(1) \] \[ E(1) = 15(1) ^{5}\left(1-(1)^{(5)}\right)^{2} = 15(1)(0) = 0 \]
Bentuk Simpson untuk \(n=4\) \[S_4 = \left( \frac{h}{3} \right) \left[ E(X_0) + 4 E(X_1) + 2 E(X_2) + 4 E(X_3) + E(X_4) \right]\] \[S_4 = \left( \frac{\frac{1}{4}}{3} \right) \left[ 0 + 4 (0.01462) + 2 (0.439911) + 4 (2.070617) + 0 \right]\] \[S_4 = \left( \frac{1}{12} \right) (9.220768)\] \[S_4 = 0.768397\] Jadi, \[ \int_{0}^{1} 15x^{5}(1-x^{(5)})^{2} = 0.768397 \]
four-point Gauss Quadrature
Dari kedua jawaban sebelumnya, telah diketahui fungsi \(f(x)\) yang dalam hal ini adalah nilai \(E(X)\). \[ E(X) = 15x^{5}(1-x^{(5)})^{2} \]
Melakukan transormasi sehingga domain integral menjadi \((-1,1)\). \[ x = \frac{1}{2} [t(b-a)+a+b]\] \[ x = \frac{1}{2} [t(1-0)+0+1] \] \[ x = \frac{1}{2} [t(1)+1] \] \[ x = \frac{t+1}{2} \] dan \[ dx = \frac{1}{2} (b-a) dt \] \[ dx = \frac{1}{2} (1-0) dt \] \[ dx = \frac{1}{2} dt \] Sehingga, integralnya menjadi: \[ \int_{0}^{1} 15x^{5}(1-x^{(5)})^{2} = \int_{-1}^{1} \left(\frac{1}{2}\right) 15\left(\frac{t+1}{2}\right)^{5}\left(1-\left(\frac{t+1}{2}\right)^{(5)}\right)^{2}\]
Nilai Bobot \(C_i\) dan titik gauss \(x_i\) untuk \(n=4\) adalah:
\(C_1 = 0.3478548\); \(x_1 = -0.86113631\)
\(C_2 = 0.6521452\); \(x_2 = -0.33998104\)
\(C_3 = 0.6521452\); \(x_3 = 0.33998104\)
\(C_4 = 0.3478548\); \(x_4 = 0.86113631\)
Selanjutnya, melakukan integrasi dengan menggunakan persamaan berikut: \[\int_{0}^{1} f(x)dt \approx C_1 \cdot f(x_1) + C_2 \cdot f(x_2) + C_3 \cdot f(x_3) + C_4 \cdot f(x_4)\] Karena dalam hal ini fungsi \(f(x)\) adalah nilai \(E(X)\), maka terlebih dahulu dihitung nilai Ekspektasi untuk setiap \(X_i\):
Untuk \(E(X_1)\) \[ E(-0.86113631) = \frac{15}{2} \left( \frac{-0.86113631 + 1} {2}\right)^5 \left(1 - \left(\frac{-0.86113631+1}{2} \right)^{(5)}\right)^2\] \[ = \left( \frac{15}{2} \right) (1.61359 \cdot 10^{-6}) (0.999997) = 1.21019 \cdot 10^{-5}\] Untuk \(E(X_2)\) \[ E(-0.33998104) = \frac{15}{2} \left( \frac{-0.33998104 + 1} {2}\right)^5 \left(1 - \left(\frac{-0.33998104+1}{2} \right)^{(5)}\right)^2\] \[ = \left( \frac{15}{2} \right) (0.003914101) (0.992187) = 0.029126408\] Untuk \(E(X_3)\) \[ E(0.33998104) = \frac{15}{2} \left( \frac{0.33998104 + 1} {2}\right)^5 \left(1 - \left(\frac{0.33998104+1}{2} \right)^{(5)}\right)^2\] \[ = \left( \frac{15}{2} \right) (0.135002959) (0.74822) = 0.757589236\] Untuk \(E(X_4)\) \[ E(0.86113631) = \frac{15}{2} \left( \frac{0.86113631 + 1} {2}\right)^5 \left(1 - \left(\frac{0.86113631+1}{2} \right)^{(5)}\right)^2\] \[ = \left( \frac{15}{2} \right) (0.697816015) (0.091315) = 0.477908863\] Setelah didapatkan nilai ekspektasi untuk setiap \(X_i\), maka dapat dilakukan integrasi pada persamaan sebelumnya. \[\int_{0}^{1} f(x)dt \approx C_1 \cdot f(x_1) + C_2 \cdot f(x_2) + C_3 \cdot f(x_3) + C_4 \cdot f(x_4)\] \[\approx (0.3478548 \cdot 1.21019 \cdot 10^{-5}) + (0.6521452 \cdot 0.029126408 + \] \[ (0.6521452 \cdot 0.757589236) + (0.3478548 \cdot 0.477908863)) \] \[ \approx 4.2097 \cdot 10^{-6} + 0.01899465 + 0.49405818 + 0.16624289\] \[ \approx 0.67929993 \] Jadi, \[ \int_{0}^{1} 15x^{5}(1-x^{(5)})^{2} = 0.67929993 \]
Menggunakan R
Jika diketahui nilai exact dari \(E(X) = \frac{b \Gamma(1 + \frac {1}{a}) \Gamma (b)} {\Gamma (1+ \frac{1}{a} + b)}\), metode mana yang paling mendekati untuk menghitung nilai \(E(X)\) dengan toleransi \(0.0001\)? Gunakan R!
Jawab:
Metode Trapezoida
trapezoid <- function(ftn, a, b, x) {
t <- data.frame(n=NULL, hasil=NULL, error=NULL) #hasil trapezoid
e = 1 #nilai error
n = 4
exact <- integrate(ftn, a, b) #nilai exact
while (e>x){
h <- (b-a)/n
x.vec <- seq(a, b, by = h)
f.vec <- sapply(x.vec, ftn) # ftn(x.vec)
trpzd <- h*(f.vec[1]/2 + sum(f.vec[2:n]) + f.vec[n+1]/2)
e <- abs(trpzd - exact$value)
t <- rbind(t, data.frame(n=n, hasil=trpzd, error=e))
n = n + 1
}
t
}Metode Simpson
simpson <- function(ftn, a, b, x) {
s <- data.frame(n=NULL, hasil=NULL, error=NULL) #hasil simpson
e = 1 #nilai error
n = 4
exact <- integrate(ftn, a, b) #nilai exact
while (e>x){
nb <- max(c(2*(n %/% 2), 4))
h <- (b-a)/nb
x.vec1 <- seq(a+h, b-h, by = 2*h) #ganjil
x.vec2 <- seq(a+2*h, b-2*h, by = 2*h) #genap
f.vec1 <- sapply(x.vec1, ftn) #ganjil
f.vec2 <- sapply(x.vec2, ftn) #genap
smpsn <- h/3*(ftn(a) + ftn(b) + 4*sum(f.vec1) + 2*sum(f.vec2))
e <- abs(smpsn - exact$value)
s <- rbind(s, data.frame(n=n, hasil=smpsn, error=e))
n = n+1
}
s
}Metode four-point Gauss Quadrature
library(pracma)
fpgauss <- gaussLegendre(n=4,a=-1,1)
data.frame(i = c(1:4), C_i = fpgauss[[2]], x_i = fpgauss[[1]])## i C_i x_i
## 1 1 0.3478548 -0.8611363
## 2 2 0.6521452 -0.3399810
## 3 3 0.6521452 0.3399810
## 4 4 0.3478548 0.8611363
fpgaussianq <- function(ftn, a, b, x) {
g <- data.frame(n=NULL, hasil=NULL, error=NULL) #hasil gaussian
e = 1 #nilai error
n = 2
exact <- integrate(ftn, a, b) #nilai exact
while (e>x){
Lq <- gaussLegendre(n, a, b)
xi = Lq$x
wi = Lq$w
gaussian <- sum(wi * ftn(xi))
e <- abs(gaussian - exact$value)
g <- rbind(g, data.frame(n=n, hasil=gaussian, error=e))
n = n + 1
}
g
}Perbandingan
EX <- function(x){
15*x^5*(1-x^5)^2
} #fungsi f(x) yang dalam hal ini adalah nilai E(X)
a <- 0
b <- 1
x <- 1*10^{-4} #nilai toleransi
MT <- trapezoid(EX, a, b, x)
MS <- simpson(EX, a, b, x)
MG <- fpgaussianq(EX, a, b, x)
comparison <- cbind(
Metode = c('Metode Trapezoid', 'Metode Simpson', 'Metode Gauss Quadrature'),
rbind(tail(MT, n=1), tail(MS, n=1), tail(MG, n=1), make.row.names = F)
)
comparison## Metode n hasil error
## 1 Metode Trapezoid 23 0.7101278 9.950361e-05
## 2 Metode Simpson 34 0.7103096 8.227772e-05
## 3 Metode Gauss Quadrature 6 0.7101422 8.504999e-05
Terlihat bahwa metode Simpson memiliki nilai error yang paling kecil dibandingkan kedua metode lainnya, sehingga dapat kita simpulkan bahwa metode terbaik untuk menghitung nilai ekspektasi dari distribusi Kumaraswamy adalah dengan menggunakan metode Simpson.
Soal 2
Diketahui pdf ( probability density function ) dari distribusi Eksponensial adalah sebagai berikut: \[ f(x|a,b)= \lambda e^{-\lambda x}\] di mana \(x \in (0, \infty)\)
Jika diketahui \(\lambda = 2\). Hitunglah CDF dari distribusi exponensial tersebut untuk \(x=4\), dengan menggunakan metode Trapezoida, Simpson, Gauss Quadrature dan Monte Carlo dengan R. Metode mana yang paling baik? Silakan tentukan toleransi, n dan m sendiri.
Jawab:
Telah diketahui bahwa \(\lambda = 2\), maka untuk pdf dari distribusi Eksponensial adalah: \[ f(x|a,b)= 2 e^{-2x}\] Sebelum membandingkan keempat metode, terlebih dahulu akan dihitung secara manual.
Untuk mencari cdf dari pdf tersebut, akan dicari integral dari fungsi tersebut dengan batas \(x=4\). \[ \int_{0}^{4} 2 e^{-2x} dx\] Misalkan \(u=-2x\), maka \(\frac{du}{dx} = -2\). Sehingga menjadi: \[ - \int_{0}^{4} e^{u} du = - e^{u} \] Kembalikan bentuk \(u\) ke bentuk semula, sehingga hasilnya menjadi: \[ \int_{0}^{4} 2 e^{-2x} dx = - e^{-2x} |_0^{4} \approx 0.9996645373720975\] Selanjutnya, akan dibandingkan hasil keempat metode tersebut. Pada soal sebelumnya, telah dibentuk fungsi untuk 3 metode (Trapezoida, Simpson, dan Gauss Quadrature), sehingga dalam soal ini, akan dibentuk fungsi untuk metode Monte Carlo
Metode Monte Carlo
monte_carlo <- function(ftn, a, b, m){
x <- runif(m,a,b) #membangkitkan x yang menyebar uniform (a,b)
Gx <- ftn(x) #menghitung nilai rata-rata dari fungsi yang dibangkitkan
Gx_m <- mean(Gx)
theta_duga <- (b-a)*Gx_m
return(theta_duga)
}Comparison
Dalam membandingkan keempat metode untuk menentukan metode terbaik yang paling mendekati hasil integrasi di atas, akan digunakan nilai toleransi dan nilai \(n\) sebesar \(10^{-10}\). Untuk random sample akan digunakan sebanyak \(10^{5}\).
exponent <- function(x){2*exp(-2*x)}
a <- 0 #batas bawah
b <- 4
tolerance <- 1*10^{-7}
m <- 1*10^{5}
trpzd_2 <- trapezoid(exponent, a, b, tolerance)
smpsn_2 <- simpson(exponent, a, b, tolerance)
gaussian_2 <- fpgaussianq(exponent, a, b, tolerance)
mcarlo <- monte_carlo(exponent, a, b, m)
exact_2 <- integrate(exponent, a, b)
comparison_2 <- cbind(
Methods = c('Trapezoida', 'Simpson', 'Gaussian Quadrature', 'Monte Carlo'),
rbind(tail(trpzd_2, n=1), tail(smpsn_2, n=1), tail(gaussian_2, n=1), c("-",mcarlo, abs(mcarlo-exact_2$value)),make.row.names = F)
)
comparison_2## Methods n hasil error
## 1 Trapezoida 7302 0.99966463736504 9.99929423706192e-08
## 2 Simpson 124 0.999664633542145 9.61700472590366e-08
## 3 Gaussian Quadrature 7 0.99966448380689 5.35652073807569e-08
## 4 Monte Carlo - 0.998145886330864 0.00151865104123372
Terlihat bahwa metode Gaussian Quadrature memiliki nilai error yang paling kecil dibandingkan ketiga metode lainnya, sehingga dapat kita simpulkan bahwa metode terbaik untuk menghitung nilai ekspektasi_Cumulative Distribution Function dari distribusi eksponensial adalah dengan menggunakan metode Gaussian Quadrature.