Learn R Programming

FARS (version 0.7.1)

compute_density: Compute Skew-t Densities from Quantiles

Description

Computes the skew-t density from a matrix of quantiles. It allows for both linear and nonlinear optimization methods.

Usage

compute_density(
  quantiles,
  levels = c(0.05, 0.25, 0.5, 0.75, 0.95),
  est_points = 512,
  random_samples = 5000,
  support = c(-10, 10),
  nl = FALSE,
  seed = NULL
)

Value

An object of class "fars_density", which is a list containing:

density

A matrix of estimated densities for each time period (rows) across estimation points (columns).

distribution

A matrix of random draws from the fitted skew-t distribution for each time period.

optimization

The optimization method used (either 'nloptr' or 'optim').

eval_points

The sequence of evaluation points used to compute the density. Useful for plotting.

Arguments

quantiles

A matrix of quantiles. Each row represents a time observation, and each column corresponds to a quantile level.

levels

A numeric vector of the quantile levels corresponding to the columns of the quantile matrix (default: c(0.05, 0.25, 0.50, 0.75, 0.95)).

est_points

Integer. The number of evaluation points for the estimated density (default: 512).

random_samples

Integer. The number of random samples to draw from the fitted skew-t distribution (default: 5000).

support

Numeric vector of length 2. Defines the lower and upper limits of the density evaluation range. Used with est_points to create the evaluation grid. Default: c(-10, 10).

nl

Logical. If TRUE, uses nonlinear optimization via nloptr; if FALSE (Default), uses linear optimization via optim.

seed

Optional integer to set the random seed for reproducibility.

Examples

Run this code
# \donttest{
quantiles <- matrix(rnorm(500, mean = 0, sd = 1), nrow = 100, ncol = 5)
density_result <- compute_density(quantiles, seed = 42)
# }

Run the code above in your browser using DataLab