boxcox1pinv

Compute the inverse of a one-parameter Box-Cox transformation for 1+x.

To compute the inverse of a one-parameter Box-Cox transformation, one finds the x such that

y Superscript lamda Baseline equals StartLayout Enlarged left-brace 1st Row 1st Column StartFraction left-parenthesis x plus 1 right-parenthesis Superscript lamda Baseline minus 1 Over lamda EndFraction 2nd Column if lamda not-equals 0 2nd Row 1st Column log left-parenthesis x plus 1 right-parenthesis 2nd Column if lamda equals 0 EndLayout

Usage

var boxcox1pinv = require( '@stdlib/math/base/special/boxcox1pinv' );

boxcox1pinv( y, lambda )

Computes the inverse of a one-parameter Box-Cox transformation for 1+x.

var v = boxcox1pinv( 1.0, 2.5 );
// returns ~0.6505

v = boxcox1pinv( 4.0, 2.5 );
// returns ~1.6095

v = boxcox1pinv( 10.0, 2.5 );
// returns ~2.6812

v = boxcox1pinv( 2.0, 0.0 );
// returns ~6.3891

v = boxcox1pinv( -1.0, 2.5 );
// returns NaN

v = boxcox1pinv( 0.0, -1.0 );
// returns 0.0

v = boxcox1pinv( 1.0, NaN );
// returns NaN

v = boxcox1pinv( NaN, 3.1 );
// returns NaN

Examples

var incrspace = require( '@stdlib/array/base/incrspace' );
var boxcox1pinv = require( '@stdlib/math/base/special/boxcox1pinv' );

var y = incrspace( -1.0, 10.0, 1.0 );
var l = incrspace( -0.5, 5.0, 0.5 );

var b;
var i;
var j;
for ( i = 0; i < y.length; i++ ) {
    for ( j = 0; j < l.length; j++ ) {
        b = boxcox1pinv( y[ i ], l[ j ] );
        console.log( 'boxcox1pinv(%d, %d) = %d', y[ i ], l[ j ], b );
    }
}

References

  • Box, G. E. P., and D. R. Cox. 1964. "An Analysis of Transformations." Journal of the Royal Statistical Society. Series B (Methodological) 26 (2). [Royal Statistical Society, Wiley]: 211–52. http://www.jstor.org/stable/2984418.
Did you find this page helpful?