as.BDataSplines: Convert distributional data to a spline representation

View source: R/converters.R

as.BDataSplinesR Documentation

Convert distributional data to a spline representation

Description

Returns a dataset of densities represented by zero-integral B-spline (ZB-spline) coefficients in a [BDataSplines] object. The spline representation is the compact form used for computation (PCA, distances, inner products). The conversion relies on a [BayesSpaceBasis] that is either taken from the object or supplied via 'basis'.

Usage

as.BDataSplines(X, ...)

## S3 method for class 'BDataLogDensities'
as.BDataSplines(X, ..., basis = getBayesSpaceBasis(X))

## S3 method for class 'BDataLogPDFs'
as.BDataSplines(X, ..., basis = getBayesSpaceBasis(X))

## S3 method for class 'BDataPDFs'
as.BDataSplines(X, ..., basis = getBayesSpaceBasis(X))

## S3 method for class 'BDataDensities'
as.BDataSplines(X, ..., basis = getBayesSpaceBasis(X))

## S3 method for class 'BDataSplines'
as.BDataSplines(X, ..., basis = getBayesSpaceBasis(X))

## S3 method for class 'BDataSamples'
as.BDataSplines(X, ..., basis = getBayesSpaceBasis(X))

## S3 method for class 'BDataGeneral'
as.BDataSplines(X, ..., basis = getBayesSpaceBasis(X))

## S3 method for class ''function''
as.BDataSplines(X, ..., basis = getBayesSpaceBasis(X))

## S3 method for class 'histogram'
as.BDataSplines(X, ..., basis = getBayesSpaceBasis(X))

## S3 method for class 'BayesSpaceBasis'
as.BDataSplines(X, ...)

Arguments

X

a dataset of densities/distributions in any form

...

further arguments passed to the method supporting conversion

basis

"BayesSpaceBasis" object to use

Value

A distributional data container of class ['BDataSplines'].

Methods (by class)

  • as.BDataSplines(BDataLogDensities): method for BDataLogDensities

  • as.BDataSplines(BDataLogPDFs): method for BDataLogPDFs

  • as.BDataSplines(BDataPDFs): method for BDataPDFs

  • as.BDataSplines(BDataDensities): method for BDataDensities

  • as.BDataSplines(BDataSplines): method for BDataSplines, eventually reprojects if basis given

  • as.BDataSplines(BDataSamples): method for BDataSamples

  • as.BDataSplines(BDataGeneral): method for BDataGeneral

  • as.BDataSplines(`function`): method for function interpreted as density with respect to the reference measure.

  • as.BDataSplines(histogram): method for function interpreted as density with respect to the reference measure. (TODO: Uses a very crude heuristic to estimate the log density)

  • as.BDataSplines(BayesSpaceBasis): the distributions corresponding to the basis elements.

Note

When converting from densities, log-densities or PDFs, the spline coefficients are the L2 projection onto the (non-orthonormal) ZB-spline basis: they solve the normal equations 'S c = <f, zeta>' with the Gram matrix 'S = getMetricTensor(basis)' (see [getMetricTensor]). The inner products '<f, zeta>' are estimated by Monte-Carlo integration over the reference-measure sample, so the coefficients carry a small sampling error that decreases as the sample size grows.

See Also

[as.BDataDensities], [BayesSpaceBasis], [getMetricTensor]

Other BayesSpaceConverters: as.BDataDensities(), as.BDataDensityHistograms(), as.BDataFrequencyHistograms(), as.BDataHistograms(), as.BDataLogDensities(), as.BDataLogPDFs(), as.BDataPDFs(), as.BDataSamples(), idt.BData(), toHistogram()

Examples

X = BDataDensities(list(\(x) x, \(x) x^2),basis=B2Unif01Basis5)
as.BDataSplines(X)
as.BDataSplines(as.BDataSplines(X))
as.BDataSplines(as.BDataLogDensities(X))
as.BDataSplines(BDataSamples(replicate(10,runif(100),simplify=FALSE),basis=B2Unif01Basis5))

DistributionalDDA documentation built on Oct. 20, 2026, 5:06 p.m.