| srlaplace_optimize | R Documentation |
The srlaplace_optimize() function generates an optimized proposal for a targeted Laplace Distribution.
The proposal can be customized and adjusted based on various options provided by the user.
srlaplace_optimize(
mu = NULL,
b = NULL,
xl = NULL,
xr = NULL,
steps = 4091,
proposal_range = NULL,
theta = 0.1,
target_sample_size = 1000,
verbose = FALSE,
symmetric = FALSE
)
mu |
(optional) Numeric, location parameter. |
b |
(optional) Numeric, scale parameter. |
xl |
Numeric. Left truncation bound for the target distribution. Defaults to |
xr |
Numeric. Right truncation bound for the target distribution. Defaults to |
steps |
(optional) Integer. Desired number of steps in the proposal. Defaults to |
proposal_range |
(optional) Numeric vector. Specifies the range for optimizing the steps part of the proposal. Defaults to |
theta |
Numeric. A parameter for proposal optimization. Defaults to 0.1. |
target_sample_size |
(optional) Integer. Target sample size for proposal optimization. Defaults to |
verbose |
Boolean. If |
symmetric |
Boolean. If |
When srlaplace_optimize() is explicitly called:
A proposal is created and cached. If no parameters are provided, a standard proposal is created (mu = 0, b = 1).
Providing mu or b creates a custom proposal, which is cached for use with srlaplace_custom().
The optimization process can be controlled via parameters such as steps, proposal_range, or
theta. If no parameters are provided, the proposal is optimized via brute force based on the.
target_sample_size.
The user does not need to store the returned value, because the package internally cashes the proposal. However, we explain here the full returned proposal for advanced users.
A list containing the optimized proposal and related parameters for the specified built-in distribution:
dataA data frame with detailed information about the proposal steps, including:
xThe start point of each step on the x-axis.
s_upperThe height of each step on the y-axis.
p_aPre-acceptance probability for each step.
s_upper_lowerA vector used to scale the uniform random number when the sample is accepted.
areasA numeric vector containing the areas under:
left_tailThe left tail bound.
stepsThe middle steps.
right_tailThe right tail bound.
steps_numberAn integer specifying the number of steps in the proposal.
sampling_probabilitiesA numeric vector with:
left_tailThe probability of sampling from the left tail.
left_and_middleThe combined probability of sampling from the left tail and middle steps.
unif_scalerA numeric scalar, the inverse probability of sampling from the steps part of the proposal (\frac{1}{p(lower < x < upper)}). Used for scaling uniform random values.
lt_propertiesA numeric vector of 5 values required for Adaptive Rejection Sampling (ARS) in the left tail.
rt_propertiesA numeric vector of 6 values required for ARS in the right tail.
alphaA numeric scalar representing the uniform step area.
tails_methodA string, either "ARS" (Adaptive Rejection Sampling) or "IT" (Inverse Transform), indicating the sampling method for the tails.
proposal_boundsA numeric vector specifying the left and right bounds of the target density.
cnumAn integer representing the cache number of the created proposal in memory.
symmetricA numeric scalar indicating the symmetry point of the proposal, or NULL if not symmetric.
f_paramsA list of parameters for the target density that the proposal is designed for.
muis the location parameter (location of the distribution).
bis the scale parameter, which controls the spread of the distribution (b > 0).
is_symmetricA logical value indicating whether the proposal is symmetric.
proposal_typeA string indicating the type of the generated proposal:
"scaled"The proposal is "scalable" and standardized with mu = 0 and b = 1. This is used when parameters mu and b are either NULL or not provided. Scalable proposals are compatible with srlaplace.
"custom"The proposal is "custom" when either mu or b is provided. Custom proposals are compatible with srlaplace_custom.
target_function_areaA numeric scalar estimating the area of the target distribution.
dens_funcA string containing the hardcoded density function.
density_nameA string specifying the name of the target density distribution.
lockAn identifier used for saving and loading the proposal from disk.
srlaplace: Function to sample from a scalable proposal generated by srlaplace_optimize().
srlaplace_custom: Function to sample from a custom proposal tailored to user specifications.
# Generate scalable proposal that with mu = 0 and b = 1, that has 4096 steps
scalable_proposal <- srlaplace_optimize(steps = 4096)
# Generate custom proposal that with mu = 2 and b = 1
scalable_proposal <- srlaplace_optimize(mu = 2, b = 1)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.