Description Usage Arguments Details Value Examples

The R implementation to get the elements necessary for calculations for general *a* and *b*.

1 2 3 4 5 6 7 8 9 10 11 12 | ```
get_elts_ab(
hdx,
hpdx,
x,
a,
b,
setting,
centered = TRUE,
profiled_if_noncenter = TRUE,
scale = "",
diagonal_multiplier = 1
)
``` |

`hdx` |
A matrix, |

`hpdx` |
A matrix, |

`x` |
An |

`a` |
A number, must be strictly larger than |

`b` |
A number, must be >= 0. |

`setting` |
A string that indicates the distribution type. Returned without being checked or used in the function body. |

`centered` |
A boolean, whether in the centered setting (assume |

`profiled_if_noncenter` |
A boolean, whether in the profiled setting ( |

`scale` |
A string indicating the scaling method. Returned without being checked or used in the function body. Default to |

`diagonal_multiplier` |
A number >= 1, the diagonal multiplier. |

Computes the *Γ* matrix and the *g* vector for generalized score matching.

Here, *Γ* is block-diagonal, and in the non-profiled non-centered setting, the *j*-th block is composed of *Γ_{KK,j}*, *Γ_{Kη,j}* and its transpose, and finally *Γ_{ηη,j}*. In the centered case, only *Γ_{KK,j}* is computed. In the profiled non-centered case,

*Γ_j=Γ_{KK,j}-Γ_{Kη,j}Γ_{ηη,j}^(-1)Γ_{Kη}'.*

Similarly, in the non-profiled non-centered setting, *g* can be partitioned *p* parts, each with a *p*-vector *g_{K,j}* and a scalar *g_{η,j}*. In the centered setting, only *g_{K,j}* is needed. In the profiled non-centered case,

*g_j=g_{K,j}-Γ_{Kη,j}Γ_{ηη,j}^(-1)g_{η,j}.*

The formulae for the pieces above are

*Γ_{KK,j}=1/n*∑_{i=1}^n h(Xij)*Xij^(2a-2)*Xi^a*(Xi^a)',*

*Γ_{Kη,j}=-1/n*∑_{i=1}^n h(Xij)*Xij^(a+b-2)*Xi^a,*

*Γ_{ηη,j}=1/n*∑_{i=1}^n h(Xij)*Xij^(2b-2),*

*g_{K,j}=1/n*∑_{i=1}^n (h'(Xij)*Xij^(a-1)+(a-1)*h(Xij)*Xij^(a-2))*Xi^a+a*h(Xij)*Xij^(2a-2)*e_{j,p},*

*g_{η,j}=1/n*∑_{i=1}^n -h'(Xij)*Xij^(b-1)-(b-1)*h(Xij)*Xij^(b-2)),*

where *e_{j,p}* is the *p*-vector with 1 at the *j*-th position and 0 elsewhere.

In the profiled non-centered setting, the function also returns *t1* and *t2* defined as

*t1=Γ_{ηη}^(-1)g_{η}, t2=Γ_{ηη}^(-1)Γ_{Kη}',*

so that *\hat{η}=t1-t2*vec(\hat{K}).*

A list that contains the elements necessary for estimation.

`n` |
The sample size. |

`p` |
The dimension. |

`centered` |
The centered setting or not. Same as input. |

`scale` |
The scaling method. Same as input. |

`diagonal_multiplier` |
The diagonal multiplier. Same as input. |

`diagonals_with_multiplier` |
A vector that contains the diagonal entries of |

`setting` |
The setting. Same as input. |

`g_K` |
The |

`Gamma_K` |
The |

`g_eta` |
Returned in the non-profiled non-centered setting. The |

`Gamma_K_eta` |
Returned in the non-profiled non-centered setting. The |

`Gamma_eta` |
Returned in the non-profiled non-centered setting. The |

`t1,t2` |
Returned in the profiled non-centered setting, where the |

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ```
n <- 50
p <- 30
eta <- rep(0, p)
K <- diag(p)
domain <- make_domain("R+", p=p)
x <- gen(n, setting="ab_1/2_7/10", abs=FALSE, eta=eta, K=K, domain=domain, finite_infinity=100,
xinit=NULL, seed=2, burn_in=1000, thinning=100, verbose=FALSE)
h_hp <- get_h_hp("min_pow", 1.5, 3)
h_hp_dx <- h_of_dist(h_hp, x, domain) # h and h' applied to distance from x to boundary
elts <- get_elts_ab(h_hp_dx$hdx, h_hp_dx$hpdx, x, a=0.5, b=0.7, setting="ab_1/2_7/10",
centered=TRUE, scale="norm", diag=1.5)
elts <- get_elts_ab(h_hp_dx$hdx, h_hp_dx$hpdx, x, a=0.5, b=0.7, setting="ab_1/2_7/10",
centered=FALSE, profiled_if_noncenter=TRUE, scale="norm", diag=1.7)
elts <- get_elts_ab(h_hp_dx$hdx, h_hp_dx$hpdx, x, a=0.5, b=0.7, setting="ab_1/2_7/10",
centered=FALSE, profiled_if_noncenter=FALSE, scale="norm", diag=1.9)
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.