dtgpd_log: internal In mgpd: mgpd: Functions for multivariate generalized Pareto distribution (MGPD of Type II)

Description

internal use only

Usage

 `1` ```dtgpd_log(x, y, z, mar1 = c(0, 1, 0.1), mar2 = c(0, 1, 0.1), mar3 = c(0, 1, 0.1), dep = 1.5) ```

Arguments

 `x` `y` `z` `mar1` `mar2` `mar3` `dep`

Details

internal use only

Value

internal use only

Note

internal use only

P. Rakonczai

References

internal use only

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77``` ```##---- Should be DIRECTLY executable !! ---- ##-- ==> Define data, use random, ##-- or do help(data=index) for the standard data sets. ## The function is currently defined as function (x, y, z, mar1 = c(0, 1, 0.1), mar2 = c(0, 1, 0.1), mar3 = c(0, 1, 0.1), dep = 1.5) { error = FALSE hxyz = NULL param = as.numeric(c(mar1, mar2, mar3, dep)) mux = param[1] muy = param[4] muz = param[7] sigx = param[2] sigy = param[5] sigz = param[8] gamx = param[3] gamy = param[6] gamz = param[9] alpha = param[10] if (gamx > 0) { epx1 = mux - sigx/gamx epx2 = Inf } else { epx1 = -Inf epx2 = mux - sigx/gamx } if (gamy > 0) { epy1 = muy - sigy/gamy epy2 = Inf } else { epy1 = -Inf epy2 = muy - sigy/gamy } if (gamz > 0) { epz1 = muz - sigz/gamz epz2 = Inf } else { epz1 = -Inf epz2 = muz - sigz/gamz } if ((min(x) < epx1) | (max(x) > epx2)) { error = T } if ((min(y) < epy1) | (max(y) > epy2)) { error = T } if ((min(z) < epz1) | (max(z) > epz2)) { error = T } if (sigx < 0 | sigy < 0 | sigz < 0 | alpha < 1) { error = T } if (!error) { hxyz = NA tx = tr(x, gamx, mux, sigx) ty = tr(y, gamy, muy, sigy) tz = tr(z, gamz, muz, sigz) tx0 = tr(0, gamx, mux, sigx) tz0 = tr(0, gamy, muy, sigy) ty0 = tr(0, gamz, muz, sigz) dtx = dtr(x, gamx, mux, sigx) dty = dtr(y, gamy, muy, sigy) dtz = dtr(z, gamz, muz, sigz) c0 = -1/mulog(tx0, ty0, tz0, alpha = alpha) dddpsimu = d123mulog(tx, ty, tz, alpha = alpha) Jc = dtx * dty * dtz null = (1 - ((tx < tx0) * (ty < ty0) * (tz < tz0))) hxyz = c0 * dddpsimu * null * Jc } else print("invalid parameter(s)") hxyz } ```