public Curve getRegressionCurve ( ) { // @TODO Add threadsafe lazy init. if ( regressionCurve != null ) { return regressionCurve ; } DoubleMatrix a = solveEquationSystem ( ) ; double [ ] curvePoints = new double [ partition . getLength ( ) ] ; curvePoints [ 0 ] = a . get ( 0 ) ; for ( int i = 1 ; i < curvePoints . length ; i ++ ) { curvePoints [ i ] = curvePoints [ i - 1 ] + a . get ( i ) * ( partition . getIntervalLength ( i - 1 ) ) ; } return new CurveInterpolation ( "RegressionCurve" , referenceDate , CurveInterpolation . InterpolationMethod . LINEAR , CurveInterpolation . ExtrapolationMethod . CONSTANT , CurveInterpolation . InterpolationEntity . VALUE , partition . getPoints ( ) , curvePoints ) ; }
Returns the curve resulting from the local linear regression with discrete kernel .