来自 Formula 的 Kendall's Tau你好
我在另一个线程中遇到了一些问题,涉及是否需要从公式而不是脚本中获取线性拟合斜率。
这个问题是类似的。 有没有办法使用公式(而不是使用多变量分析或脚本)提取给定时间序列参数的肯德尔 Tau ?
我的目标是测试生成数据的不同时间长度的非参数趋势(即希望设置滚动窗口,然后测试肯德尔的钛)。谢谢 ....
回复:方程式中的肯德尔 Tau吉姆
这效果很好。
唯一的小问题是在公式中使用“当前数据表”时出现警告。
JMP 会抛出警告,指出要使用 Eval 或 Expr Eval 函数。
我可能会在完成计算后激活然后停用此功能。
这是很大的帮助。 非常感谢。
回复:方程式中的肯德尔 Tau当您在公式中使用 JMP 平台时,就像您以交互方式或在脚本中使用它们一样,平台的输入必须是数据表中的列。因此,您无法通过创建输入矩阵来引用输入。因此,我为使您的公式发挥作用所做的就是利用能够从数据表中排除行的功能,并且当平台运行时,它将忽略这些行。这是公式及其创建的输出:
dt = Current Data Table();
If( Row() >= 10,
currentRow = Row();
dt << clear rowstates;
dt << select where( Row() <= currentRow - 10 | Row() > currentRow );
excludeRows = dt << get selected rows;
dt << hide and exclude;
mv = dt << Multivariate(
invisible,
Y( :TimeStep, :F ),
Estimation Method( "Row-wise" ),
Matrix Format( "Square" ),
Scatterplot Matrix( Density Ellipses( 0 ), Shaded Ellipses( 0 ) ),
Kendall's τ( 1 )
);
tau = (Report( mv )["Nonparametric: Kendall's τ"][Number Col Box( 1 )] << get)[1];
mv << close window;
If( Row() == N Rows( dt ),
dt << clear rowstates
);
tau;
);
数据表

我建议您创建列并运行公式后,转到“列信息”对话框,然后删除公式。它将保留静态值,但不会一遍又一遍地重新运行公式......它不是最快的
回复:方程式中的肯德尔 Tau看到你关于线性斜率的其他答案,我得到了另一个关于在哪里放置 MK 索引的想法,但也不起作用。
附在我最近的第五次尝试中
回复:方程式中的肯德尔 Tau你好
感谢这个很好的答案。 这对我来说实际上是一个启示,因为这表明公式可以包含类似脚本的结构,这是我所不知道的。
我接受了你的解决方案,但再次需要你的帮助。
上传样本数据集。
我对 MK tau 的需求是单列的行。 这实际上是在 col Tau_WholeData 中正确完成的(我根据您之前的帮助改编)。
我真正想做的是获取时间步长中单个参数的趋势(如果愿意的话,可以是时间趋势)。
因此,我尝试设置一个大小为 10 的移动(滚动)窗口,从第 10 行开始窗口,然后将其移动一个记录(行) - 每次计算前 10 行的 MK Tau 。
我对 10 行使用 Index 函数(例如 Index( Row() - 9, Row() ))做了类似的事情,并且尝试了 3-4 种不同的选项将其放入 Tau_WholeData 公式中 - 到目前为止没有成功。
如果您能让我知道我应该如何改变这一点,我将不胜感激。
谢谢 ...
回复:方程式中的肯德尔 Tau这是对数据表中所有分析列的计算,并放入计算公式列的行中。附数据表,公式如下
