Convenience Wrapper for Marginal Moments
K_moments.RdReturns marginal mean and variance as a named numeric vector.
Usage
K_moments(
J,
a,
b,
M = .QUAD_NODES_DEFAULT,
M_verify = NULL,
abs_tol = 1e-10,
rel_tol = 1e-08,
strict = FALSE
)Arguments
- J
Integer; sample size (positive integer >= 1).
- a
Numeric; shape parameter of Gamma prior (> 0).
- b
Numeric; rate parameter of Gamma prior (> 0).
- M
Integer; number of quadrature nodes (default: 80).
- M_verify
Optional quadrature order satisfying the same verification contract as
exact_K_moments(): at leastmax(2*M, M+40)and no greater than 512.- abs_tol, rel_tol
Non-negative selected-versus-verification tolerances.
- strict
Logical; require successful higher-order verification.
Value
Named numeric vector c(mean = ..., var = ...) carrying a
"marginal_metadata" attribute with status, variance decomposition,
and quadrature verification details.
See also
exact_K_moments for full output
Other marginal_K:
cdf_K_marginal(),
exact_K_moments(),
mode_K_marginal(),
pmf_K_marginal(),
quantile_K_marginal(),
summary_K_marginal()
Examples
K_moments(50, 2.0, 1.0)
#> mean var
#> 6.639693 12.954502
#> attr(,"marginal_metadata")
#> attr(,"marginal_metadata")$schema_version
#> [1] 1
#>
#> attr(,"marginal_metadata")$status
#> [1] "approximate"
#>
#> attr(,"marginal_metadata")$decomposition
#> attr(,"marginal_metadata")$decomposition$within_alpha
#> [1] 4.135585
#>
#> attr(,"marginal_metadata")$decomposition$between_alpha
#> [1] 8.818917
#>
#>
#> attr(,"marginal_metadata")$quadrature
#> attr(,"marginal_metadata")$quadrature$schema_version
#> [1] 1
#>
#> attr(,"marginal_metadata")$quadrature$engine
#> [1] "gauss-laguerre"
#>
#> attr(,"marginal_metadata")$quadrature$M_selected
#> [1] 80
#>
#> attr(,"marginal_metadata")$quadrature$M_verification
#> [1] NA
#>
#> attr(,"marginal_metadata")$quadrature$M_verification_required
#> [1] 160
#>
#> attr(,"marginal_metadata")$quadrature$verification_available
#> [1] TRUE
#>
#> attr(,"marginal_metadata")$quadrature$status
#> [1] "approximate"
#>
#> attr(,"marginal_metadata")$quadrature$reason
#> [1] "fixed_order_unverified"
#>
#> attr(,"marginal_metadata")$quadrature$verification_performed
#> [1] FALSE
#>
#> attr(,"marginal_metadata")$quadrature$verification_passed
#> [1] NA
#>
#> attr(,"marginal_metadata")$quadrature$absolute_tolerance
#> [1] 1e-10
#>
#> attr(,"marginal_metadata")$quadrature$relative_tolerance
#> [1] 1e-08
#>
#> attr(,"marginal_metadata")$quadrature$mean_difference
#> [1] NA
#>
#> attr(,"marginal_metadata")$quadrature$variance_difference
#> [1] NA
#>
#> attr(,"marginal_metadata")$quadrature$mean_tolerance
#> [1] NA
#>
#> attr(,"marginal_metadata")$quadrature$variance_tolerance
#> [1] NA
#>
#> attr(,"marginal_metadata")$quadrature$selected
#> attr(,"marginal_metadata")$quadrature$selected$schema_version
#> [1] 1
#>
#> attr(,"marginal_metadata")$quadrature$selected$distribution
#> [1] "Gamma(shape, rate)"
#>
#> attr(,"marginal_metadata")$quadrature$selected$shape
#> [1] 2
#>
#> attr(,"marginal_metadata")$quadrature$selected$rate
#> [1] 1
#>
#> attr(,"marginal_metadata")$quadrature$selected$M_selected
#> [1] 80
#>
#> attr(,"marginal_metadata")$quadrature$selected$M_verification
#> [1] NA
#>
#> attr(,"marginal_metadata")$quadrature$selected$normalization
#> [1] "log-sum-exp"
#>
#> attr(,"marginal_metadata")$quadrature$selected$normalized_weight_sum
#> [1] 1
#>
#> attr(,"marginal_metadata")$quadrature$selected$node_rule
#> attr(,"marginal_metadata")$quadrature$selected$node_rule$schema_version
#> [1] 1
#>
#> attr(,"marginal_metadata")$quadrature$selected$node_rule$engine
#> [1] "golub-welsch-dense-eigen"
#>
#> attr(,"marginal_metadata")$quadrature$selected$node_rule$M_selected
#> [1] 80
#>
#> attr(,"marginal_metadata")$quadrature$selected$node_rule$alpha_param
#> [1] 1
#>
#> attr(,"marginal_metadata")$quadrature$selected$node_rule$cache_key
#> [1] "M=80|alpha=1"
#>
#> attr(,"marginal_metadata")$quadrature$selected$node_rule$cache_hit
#> [1] FALSE
#>
#> attr(,"marginal_metadata")$quadrature$selected$node_rule$zero_normalized_weights
#> [1] 29
#>
#> attr(,"marginal_metadata")$quadrature$selected$node_rule$normalized_weight_sum
#> [1] 1
#>
#>
#>
#> attr(,"marginal_metadata")$quadrature$verification
#> NULL
#>
#>