Zadaci 05 (23.12.2011)

Zadatak 06: Napisati funkciju koja generiše slučajne brojeve sa gama raspodelom verovatnoće.

Zadatak 07: Napisati funkciju koja generiše slučajne brojeve sa beta raspodelom verovatnoće.

Rešenja poslati na najkasnije do 11. januara 2012. god.

Napomena: generisanje slučajnih brojeva sa odgovarajućom raspodelom moguće je realizovati primenom sledećih algoritama:

Gama raspodela:

  • parametri: a (početna vrednost), b > 0 (parametar skale), c > 0 (parametar oblika)
  • u zavisnosti od vrednosti parametra c primenjuju se tri različita algoritma:
    • Slučaj 1, c < 1: beta = 1 + c/e
        1. generisati U_1 sa homogenom raspodelom u intervalu (0, 1) i izračunari P = beta U_1. Ako je P > 1 idi na korak iii, u suprotnom idi na korak ii.
        2. Izračunati Y = P^{1/c} i generisati slučajni broj U_2 sa homogenom raspodelom u intervalu (0, 1). Ako je U_2 leq e^{-Y} vratiti vrednost X = Y, u suprotnom vratiti se na korak i.
        3. Izračunati Y = -ln{[(beta - P)/c]} i generisati slučajni broj U_2 sa homogenom raspodelom u intervalu (0, 1). Ako je U_2 leq Y^{c-1} vratiti vrednost X = Y, u suprotnom vratiti se na korak i.
    • Slučaj 2, c = 1
        • U ovom slučaju raspodela postaje eksponencijalna  za parametre (a, b). Za vraćanje vrednosti X pozvati funkciju koja generiše slučajan broj sa odgovarajućom raspodelom.
    • Slučaj 3, c > 1: alpha = 1/sqrt{2c-1}, beta = c - ln 4, q = c + 1/alpha, theta = 4.5, d = 1 + ln theta
        1. generisati U_1 i U_2 sa homogenom raspodelom u intervalu (0, 1).
        2. Izračunati V = alpha ln[U_1 / (1 - U1)], Y = c e^{V}, Z = U_1^{2} U_2, W = beta + q V - Y.
        3. Ako je W + d - theta Z ge 0, vratiti X = Y, u suprotnom ići na korak iv.
        4. Ako je W ge ln Z, vratiti X = Y, u suprotnom vratiti se na korak i.

Beta raspodela:

  • parametri: x_{min}, x_{max} (minimalan i maksimalan slučajan broj), v > 0, w > 0 (parametri oblika raspodele)
  • Algoritam
    1. Generisati dva slučajna broja Y_1Y_2 sa gama raspodelom u intervalu (1, v) i (1, w) koja je definisana parametrima (0, 1, v) i (0, 1, w).
    2. Vratiti X=x_{min}+(x_{max}-x_{min})Y_1/(Y_1 + Y_2) za v ge wX=x_{max}-(x_{max}-x_{min})Y_2/(Y_1+Y_2) za v < w.

Imate pitanje ili komentar?