PMML でスプライン関数 (つまり、defineFuction) を定義した人はいますか?
定義する必要があるパラメーターはかなり多く、かなり長い計算になります。たとえば、3 ノットの制限付き 3 次スプラインを持つ予測子の場合、7 つのパラメーター (2 つの係数、3 つのノット、1 つの基準点、1 つの予測子名を含む) があります。数学には、指数、最大ステートメントなどが少し含まれています。
これは、3 ノット RCS から値を計算する Javascript コードの例です。
function spline3(exp_value, exp_mean, exp_coef, exp_coef1, knot1, knot2, knot3) {
var step1 = exp_coef*(exp_value-exp_mean);
var step2 = Math.pow((knot3 - knot1),(2/3));
var step3 = Math.pow(Math.max((exp_value - knot1)/step2,0), 3);
var step4 = ((knot2 - knot1) * Math.pow(Math.max((exp_value - knot3)/step2,0), 3));
var step5 = (knot3 - knot1) * Math.pow(Math.max((exp_value - knot2)/ step2 ,0), 3);
var step6 = (knot3 - knot2);
var output = (step3 + step4 - step5/step6) * exp_coef1 + step1;
return output ;
}