The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Title: Estimation of Meanimiles
Version: 0.1.0
Description: Provides a comprehensive suite of estimation tools for meanimiles, a general class of (risk) functionals. This package includes nonparametric estimators for univariate meanimile evaluation, copula-based estimation for portfolio risk aggregation (full parametric, semiparametric, and nonparametric), and novel estimators for meanimiles in regression settings. Following the articles D. Debrauwer, I. Gijbels, and K. Herrmann (2025) <doi:10.1214/25-EJS2391>, D. Debrauwer and I. Gijbels (2026) <doi:10.1007/s00184-026-01022-9>.
License: GPL (≥ 3)
Encoding: UTF-8
RoxygenNote: 7.3.3
URL: https://github.com/DieterDebrauwer/Meanimiles
BugReports: https://github.com/DieterDebrauwer/Meanimiles/issues
Depends: R (≥ 4.5.0)
Imports: copula (≥ 1.1.7), fitdistrplus (≥ 1.2.6), stats
Suggests: knitr, rmarkdown
NeedsCompilation: no
Packaged: 2026-04-16 14:24:40 UTC; u0156046
Author: Dieter Debrauwer ORCID iD [aut, cre, cph], Irène Gijbels ORCID iD [ctb], Klaus Herrmann ORCID iD [ctb]
Maintainer: Dieter Debrauwer <dieter.debrauwer@kuleuven.be>
Repository: CRAN
Date/Publication: 2026-04-21 18:42:45 UTC

Estimate conditional cumulative distribution function

Description

Computes a doubly smoothed Nadaraya-Watson estimator for the conditional cumulative distribution function.

Usage

ConditionalCDF(Y_eval, X_eval, Y_train, X_train, h_y, h_x)

Arguments

Y_eval

A numeric vector of Y values where the CDF should be evaluated.

X_eval

A numeric matrix of X values where the CDF should be evaluated.

Y_train

A numeric vector of training Y values.

X_train

A numeric matrix of training X values.

h_y

A numeric scalar representing the bandwidth for the response variable Y.

h_x

A numeric vector representing the bandwidths for the covariates X.

Value

A numeric vector of estimated CDF probabilities.


Estimate a univariate meanimile

Description

Calculates the empirical meanimile for a given (univariate) data sample, weight function, and loss derivative.

Usage

MeanimileEstimator(
  d_tau,
  tau,
  lossDerivative,
  delta = NULL,
  sample,
  grid_size = 1000
)

Arguments

d_tau

A function representing the density function of the distributional weight function D_tau.

tau

A numeric risk level/index (e.g., 0.95). Argument of d_tau function.

lossDerivative

Function defining the derivative of the loss function.

delta

Optional numeric parameter for the loss function (default:NULL).

sample

A numeric vector of univariate data.

grid_size

An integer defining the resolution of the fallback grid (default: 1000).

Value

A numeric scalar representing the estimated meanimile.

References

D. Debrauwer, I. Gijbels, and K. Herrmann. (2026) On a general class of functionals: Statistical inference and application to risk measures Electronic Journal of Statistics doi:https://doi.org/10.1214/25-EJS2391

Examples

set.seed(123)
x <- rnorm(100)
d_tau_expectile <- function(u, tau) {
  1
}
lossDerivativeExpectiles <- function(x, c, delta) {
  -2 * ifelse(x > c, delta, 1 - delta) * (x - c)
}
MeanimileEstimator(d_tau_expectile, tau = 0, lossDerivativeExpectiles,
    delta = 0.95, sample = x)


Estimate linear conditional meanimile

Description

Estimates the parameters of a linear conditional meanimile model using a two-fold sample splitting procedure to mitigate bias from the conditional CDF estimation. This function acts as a unified wrapper, allowing the user to seamlessly switch between the square loss formulation and the general loss formulation.

Usage

MeanimileLinearRegression(
  X,
  Y,
  d_tau,
  tau,
  h_x,
  h_y,
  loss_type = c("square", "general"),
  lossDerivative = NULL,
  delta = NULL
)

Arguments

X

A numeric matrix of covariates (n x d).

Y

A numeric vector of the response variable.

d_tau

A function representing the density function of the distributional weight function D_tau.

tau

A numeric risk level/index. Argument of d_tau function.

h_x

A numeric vector of bandwidths for the covariates X.

h_y

A numeric scalar bandwidth for the response variable Y.

loss_type

A character string specifying the loss formulation. Must be either "square" (default) or "general".

lossDerivative

A function defining the derivative of the loss function. Required only if loss_type = "general".

delta

Optional numeric parameter for the loss function. Used only if loss_type = "general".

Value

A numeric vector of estimated regression coefficients (including the intercept).

Examples

set.seed(123)
n <- 400
X <- matrix(rnorm(n * 2), ncol = 2)
Y <- 0.9 * X[, 1] + 0.5 * X[, 2] + rnorm(n)
d_tau_minvar <- function(u, tau) {
  (tau + 1) * u^tau
}
lossDerivativeExpectiles <- function(x, c, delta) {
  -2 * ifelse(x > c, delta, 1 - delta) * (x - c)
}

# 1. Square Loss
MeanimileLinearRegression(X, Y,
  d_tau = d_tau_minvar, tau = 2,
  h_x = c(0.4, 0.4), h_y = 0.4, loss_type = "square"
)

# 2. General Loss
MeanimileLinearRegression(X, Y,
  d_tau = d_tau_minvar, tau = 2,
  h_x = c(0.4, 0.4), h_y = 0.4, loss_type = "general",
  lossDerivative = lossDerivativeExpectiles, delta = 0.9
)

Estimate nonparametric conditional meanimile

Description

Estimates a conditional meanimile in nonparametric way. This function acts as a unified wrapper, allowing the user to seamlessly switch between the square loss formulation and the general loss formulation.

Usage

MeanimileNonparametricRegression(
  X,
  Y,
  X0,
  d_tau,
  tau,
  h_x_loc,
  h_x_cdf,
  h_y_cdf,
  loss_type = c("square", "general"),
  lossDerivative = NULL,
  delta = NULL
)

Arguments

X

A numeric matrix of covariates (n x d).

Y

A numeric vector of the response variable.

X0

A numeric matrix of evaluation points (m x d) where the curve should be estimated.

d_tau

A function representing the density function of the distributional weight function D_tau.

tau

A numeric risk level/index. Argument of d_tau function.

h_x_loc

A numeric vector of local spatial bandwidths for the covariates X.

h_x_cdf

A numeric vector of bandwidths for the covariates X used in the CDF estimation.

h_y_cdf

A numeric scalar bandwidth for the response variable Y used in the CDF estimation.

loss_type

Character string specifying the loss formulation ("square" or "general").

lossDerivative

A function defining the derivative of the loss function. Required for "general".

delta

Optional numeric parameter for the loss function. Only for "general".

Value

A numeric vector of length m, containing the estimated meanimile predictions at each point in X0.

Examples

set.seed(123)
n <- 300

# 1. Simulate 1D Non-linear Data (Sine Wave)
X <- matrix(runif(n, -2, 2), ncol = 1)
Y <- sin(X[, 1] * 1.5) + rnorm(n, sd = 0.4)

# 2. Define Evaluation Grid
X0 <- matrix(seq(-2, 2, length.out = 50), ncol = 1)

# 3. Define Functions
d_tau_minvar <- function(u, tau) {
  (tau + 1) * u^tau
}
loss_deriv_expectile <- function(x, c, delta) {
  -2 * ifelse(x > c, delta, 1 - delta) * (x - c)
}

# 4. Fit Square Loss Nonparametric
preds_sq <- MeanimileNonparametricRegression(
  X = X, Y = Y, X0 = X0, d_tau = d_tau_minvar, tau = 2,
  h_x_loc = 0.4, h_x_cdf = 0.4, h_y_cdf = 0.4, loss_type = "square"
)

# 5. Fit General Loss Nonparametric (Expectile)
preds_gen <- MeanimileNonparametricRegression(
  X = X, Y = Y, X0 = X0, d_tau = d_tau_minvar, tau = 2,
  h_x_loc = 0.4, h_x_cdf = 0.4, h_y_cdf = 0.4, loss_type = "general",
  lossDerivative = loss_deriv_expectile, delta = 0.9
)

Estimate portfolio meanimile

Description

Estimates the risk of an aggregated portfolio using the meanimile framework. Supports parametric and nonparametric modeling of marginal distributions and copula.

Usage

PortfolioMeanimile(
  data,
  weights,
  d_tau,
  tau,
  lossDerivative,
  delta = NULL,
  copula_obj = NULL,
  margin_dists = NULL,
  N = 1e+05,
  grid_size = 1000
)

Arguments

data

A numeric matrix or data.frame (n observations x d assets).

weights

A numeric vector of portfolio weights summing to 1.

d_tau

A function representing the density function of the distributional weight function D_tau.

tau

A numeric risk level/index (e.g., 0.95). Argument of d_tau function.

lossDerivative

Function defining the derivative of the loss function.

delta

Optional numeric parameter for the loss function (default:NULL).

copula_obj

An unfitted 'copula' object (e.g., copula::gumbelCopula(dim=3)). If NULL, an Empirical Beta Copula is used.

margin_dists

A character vector of base R distribution root names for fitdistrplus::fitdist (e.g., c("norm", "exp", "weibull")). If NULL, empirical margins are used.

N

Integer. Number of Monte Carlo simulations to draw (default: 100 000).

grid_size

An integer defining the resolution of the fallback grid (default: 1000).

Value

A numeric scalar representing the estimated meanimile.

References

D. Debrauwer and I. Gijbels (2026) Copula-based estimation of meanimiles of aggregated risks. Metrika doi:https://doi.org/10.1007/s00184-026-01022-9

Examples


gumbel.cop <- copula::gumbelCopula(10 / 9, dim = 3)
myMvdX <- copula::mvdc(
  copula = gumbel.cop, margins = c("norm", "norm", "exp"),
  paramMargins = list(
    list(mean = 0, sd = 1),
    list(mean = 0, sd = 1),
    list(rate = 1)
  )
)
X <- copula::rMvdc(500, myMvdX)

d_tau_expectile <- function(u, tau) {
  1
}
lossDerivativeExpectiles <- function(x, c, delta) {
  -2 * ifelse(x > c, delta, 1 - delta) * (x - c)
}
gumbelCopula <- copula::gumbelCopula(dim = 3)
margin_dists <- c("norm", "norm", "exp")
weights <- c(1 / 3, 1 / 3, 1 / 3)
PortfolioMeanimile(
  data = X, weights, d_tau_expectile, tau = 0, lossDerivativeExpectiles, delta = 0.95,
  copula_obj = gumbelCopula, margin_dists = margin_dists, N = 100000, grid_size = 1000
)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.