CDFt: CDFt method (Cumulative Distribution Function transfer)

Description Details Public fields Methods References Examples

Description

Perform an univariate bias correction of X with respect to Y.

Details

Correction is applied margins by margins.

Public fields

n_features

[integer] Number of features

tol

[double] Floatting point tolerance

distY0

[ROOPSD distribution or a list of them] Describe the law of each margins. A list permit to use different laws for each margins. Default is ROOPSD::rv_histogram.

distY1

[ROOPSD distribution or a list of them] Describe the law of each margins. A list permit to use different laws for each margins. Default is ROOPSD::rv_histogram.

distX0

[ROOPSD distribution or a list of them] Describe the law of each margins. A list permit to use different laws for each margins. Default is ROOPSD::rv_histogram.

distX1

[ROOPSD distribution or a list of them] Describe the law of each margins. A list permit to use different laws for each margins. Default is ROOPSD::rv_histogram.

Methods

Public methods


Method new()

Create a new CDFt object.

Usage
CDFt$new(...)
Arguments
...

Optional arguments are distX0, distX1 (models in calibration and projection period), distY0, distY1 (observations in calibration and projection period), and kwargsX0, ...,kwargsY1 the arguments of each respective distribution. The type of dist* are ROOPSD distribution, whereas kwargs* are list.

Returns

A new 'CDFt' object.


Method fit()

Fit the bias correction method

Usage
CDFt$fit(Y0, X0, X1)
Arguments
Y0

[matrix: n_samples * n_features] Observations in calibration

X0

[matrix: n_samples * n_features] Model in calibration

X1

[matrix: n_samples * n_features] Model in projection

Returns

NULL


Method predict()

Predict the correction

Usage
CDFt$predict(X1, X0 = NULL)
Arguments
X1

[matrix: n_samples * n_features] Model in projection

X0

[matrix: n_samples * n_features or NULL] Model in calibration

Returns

[matrix or list] Return the matrix of correction of X1 if X0 is NULL, else return a list containing Z1 and Z0, the corrections of X1 and X0


Method clone()

The objects of this class are cloneable with this method.

Usage
CDFt$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

References

Michelangeli, P.-A., Vrac, M., and Loukos, H.: Probabilistic downscaling approaches: Application to wind cumulative distribution functions, Geophys. Res. Lett., 36, L11708, https://doi.org/10.1029/2009GL038401, 2009.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
## Three bivariate random variables (rnorm and rexp are inverted between ref and bias)
XY = SBCK::dataset_gaussian_exp_2d(2000)
X0 = XY$X0 ## Biased in calibration period
Y0 = XY$Y0 ## Reference in calibration period
X1 = XY$X1 ## Biased in projection period

## Bias correction
## Step 1 : construction of the class CDFt 
cdft = SBCK::CDFt$new() 
## Step 2 : Fit the bias correction model
cdft$fit( Y0 , X0 , X1 )
## Step 3 : perform the bias correction, Z is a list containing
## corrections
Z = cdft$predict(X1,X0) 
Z$Z0 ## Correction in calibration period
Z$Z1 ## Correction in projection period

SBCK documentation built on April 10, 2021, 9:06 a.m.

Related to CDFt in SBCK...