求核平滑函数的导数您好,又见面了。
我使用核平滑法来估计一些值,并将预测公式保存在新列中。它非常适合我的目的。
obj = dt_clean << 双变量 ( Y ( : 温度 ), X ( : Z_res ) , 经过 (: 日期 ),invisible);
obj << 核平滑器 ( 1 , 1 , . 2 , 0 );
obj << (curve[ 2 ] <<保存预测公式);
现在我需要求出该函数在 X 变量每个点的导数。在数据表中,我可以使用公式编辑器中的导数函数轻松完成。但是,我需要在 JSL 代码中实现这一点。我已经尝试了各种语法,但都失败了。请问社区里有什么建议吗?
非常感谢你的帮助,伊夫。
自动化和脚本编写回复:求核平滑函数的导数您可以从 JSL 调用此函数,该函数会从公式编辑器中显示该功能:

回复:求核平滑函数的导数谢谢Mark的快速回复。我尝试过上面的函数,最终通过以下步骤成功实现了:首先将预测公式放入表达式中,然后对名称表达式应用导数函数,最后保存到新列中。代码如下,供您参考。再次感谢!
formula_exp = column(4) << Get Formula;
der_expr=derivative( name expr(formula_exp), :Z_res) ;
dt_clean<< New Column( "Derivative", Formula( Name expr(der_expr)));
回复:求核平滑函数的导数哇,真不错,谢谢!


Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
gb = dt << Graph Builder(
Size( 437, 413 ),
Graph Spacing( 4 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) )
);
gbb = Report(gb)[GraphBuilderBox(1)];
gbb << updateElement(1, 1, 2, {Save Formula});
nc= n cols(dt);
myFormula = column (dt,nc) << get formula;
Eval (Eval Expr(New Column( "derivative",
Formula(
f = As Constant(
Derivative( Expr(Name Expr(myFormula)),:height ));
f;
),
)));
gb << Add Variable( {:derivative, Role( "Y" )} )