Compute the residual sum of squares (RSS) incrementally, ignoring
NaNvalues.
The residual sum of squares (also referred to as the sum of squared residuals (SSR) and the sum of squared errors (SSE)) is defined as
var incrnanrss = require( '@stdlib/stats/incr/nanrss' );Returns an accumulator function which incrementally computes the residual sum of squares, ignoring NaN values.
var accumulator = incrnanrss();If provided input values x and y, the accumulator function updates the RSS. If NaN is provided, it is ignored, and the previous RSS is returned. If no arguments are provided, the accumulator function returns the current RSS.
var accumulator = incrnanrss();
var r = accumulator( 2.0, 3.0 );
// returns 1.0
r = accumulator( -1.0, -4.0 );
// returns 10.0
r = accumulator( -3.0, 5.0 );
// returns 74.0
r = accumulator( NaN, 3.0 );
// returns 74.0
r = accumulator();
// returns 74.0- Input values are not type checked. If provided
NaNor a value which, when used in computations, results inNaN, the accumulated value isNaNfor all future invocations. If non-numeric inputs are possible, you are advised to type check and handle accordingly before passing the value to the accumulator function.
var randu = require( '@stdlib/random/base/randu' );
var incrnanrss = require( '@stdlib/stats/incr/nanrss' );
var accumulator;
var v1;
var v2;
var i;
// Initialize an accumulator:
accumulator = incrnanrss();
// For each simulated datum, update the residual sum of squares...
for ( i = 0; i < 100; i++ ) {
v1 = ( randu()*100.0 ) - 50.0;
v2 = ( randu()*100.0 ) - 50.0;
accumulator( v1, v2 );
// NaN values are ignored
accumulator( NaN, v2 );
}
console.log( accumulator() );