如果使用图形生成器,可能不需要更改数据表。 在 JMP 11 中,可以直接在图形生成器控制面板中添加本地自定义转换。
要抖动 X,只需右键单击该变量并选择公式... ,输入适当的转换,然后单击“应用”或“确定”以创建局部变量(即它可以用作图形生成器中的普通变量,但不会添加到数据表中)。 将两个 X 拖到 X 轴字段,然后选择抖动变换的点和原始 X 的拟合线。
以下是应用于 KarenB 示例表的 JSL 版本:
图形生成器(
变量(
X ( : X ) ,
X (
变换列(
《颤抖的X》 ,
公式( : X +随机正态() *上校标准差( : X ) / 20 )
) ,
位置( 1 )
) ,
是( :是)
) ,
元素(
拟合线(
X ( 1 ) ,
是,
传奇( 5 ) ,
拟合置信度( 1 ) ,
程度( “线性” ) ,
) ,
积分( X ( 2 ) ,是,传奇( 6 ) )
)
)
我让它按如下方式工作。
问题:原始数据集中的 X 和 Y 有很多离散化,因此存在遮挡点。
目标:显示 X 和 Y 方向有抖动的数据,但对原始数据进行线拟合
例如:原始数据集 N=6,注意 X 和 Y 的重复值
yx
50 1
80 2
80 2
90 2
150 8
150 8
程序
1.将行数加倍,在数据集底部添加新行,其数量等于原始数据集中的行数。 在本例中,添加 6 行。
2.使用底部显示的公式创建新的 X' 和 Y' 列以重复原始数据,但也有额外的行,这些行因原始 X 的随机抖动而偏离,使用 sd 的 1/20(或其他分数)各种数据点。创建新的组列以指示 X' 和 Y' 是否包含原始结果或抖动结果。(您还可以创建一个表变量,而不是在公式中捕获 1/20 抖动乘数,以便更轻松地动态更改乘数。)
Y X 组 X' Y'
50 1 原件 1 50
80 2 原件 2 80
80 2 原件 2 80
90 2 原来 2 90
150 8 原件 8 150
150 8 原件 8 150
抖动 0.8675 47.178279975
抖动 2.0640 79.698789972
抖动 2.0296 79.164367702
抖动 2.0775 92.320672901
抖动 7.9297 150.14705263
抖动 7.7895 151.34309192
3.隐藏 X 不为空的前 6 行(不知道如何使用公式执行此操作)。排除 X 为空的后 6 行(相同注释)。
4. 用 X' 绘制 Y' 并拟合一条线。 打开自动重新计算,以便您可以使用公式并查看在线效果。 瞧,您只能看到抖动数据,但线拟合仅基于非抖动数据。
看来您可以编写此脚本并为用户提供对抖动的动态控制:
脚本可以获取原始数据集并将其复制到新的临时表,执行我手动对表执行的功能(将行加倍,添加 X' 和 Y',执行隐藏和排除),拟合一行,然后给出用户可以使用位于图形下方的滑块来控制抖动宽度中使用的乘数(我使用原始 StdDev 的 1/20 作为新的抖动 Std Dev),并控制临时表数据集中使用的常量。
使用的公式:
Group = If( Is Missing( :X ), "抖动", "原始")
X' = If( 缺失 ( :X ), :X[行() - 列号( :X ), 空()] + 随机正态() * (列标准差( :X ) / 20), :X )
Y' = If( 缺失 ( :Y ), :Y[行() - 列编号( :Y ), 空()] + 随机正态() * (列标准偏差( :Y ) / 20), :Y )
我已经使用第一个解决方案来解决抖动问题,但我更喜欢使用更简单的解决方案。 而且,对于向日葵,我自 1992 年以来一直在使用 Michael Friends 的 SAS 统计图形系统中的 SAS/Graph 解决方案。
对于抖动点和回归线或黄土线的叠加,有一种仅适用于 Y 轴的更简单的方法:将未抖动和抖动的 y 变量放在 Y 轴上,将未抖动的变量发送到右侧 Y 轴,然后重新修改线左侧变量和右侧变量的点。 但我还没有找到 X 轴的简单解决方案。
不管怎么说,还是要谢谢你。
对于散点图,您可以使用实际变量的抖动版本创建公式列。我通常会添加随机制服的倍数,并尝试各种乘数,直到找到一个看起来不错的乘数。
然而,然后就无法通过抖动数据绘制回归线。为此,人们可以创建两个单独的图表,一张包含回归线和隐藏数据,另一张包含抖动数据。我不知道你是否可以在 JMP 中叠加它们,但你可以很小心将它们叠加在 PowerPoint 之类的东西中。也许有人可以建议一种更简单的方法。
你好,
这不是一个回应,而是另一个问题:为什么在图形生成器中,是否可以为点图(只有 1 个半连续变量)定义某种形式的抖动,而不能(至少 JMP Pro 11.1)为散点图定义某种形式的抖动,抖动在哪里最有用?
向日葵也非常有用。 看看 SPSS 能对此做什么。
伊夫·罗伊,法国