如何在图表上显示仅失败的 T 检验大家好,
我正在使用以下脚本来执行两组之间的 T 检验(强调 abd 控制)。
Oneway(
Y( :Shift ),
X( :Group ),
by(:Test),
t Test( 1 ),
Box Plots( 1 ),
X Axis Proportional( 0 ),
Points Jittered( 1 ),
Grand Mean( 0 ),
SendToReport(
Dispatch(
{},
"Oneway Plot",
FrameBox,
{DispatchSeg(
Box Plot Seg( 1 ),
{Box Type( "Outlier" ), Line Color( "Red" )}
), DispatchSeg(
Box Plot Seg( 2 ),
{Box Type( "Outlier" ), Line Color( "Red" )}
)}
)
)
);如您所见,我正在为每个“测试”执行 T 测试,并且我有数千个测试。我的问题是否有一个选项可以在图表上仅显示 T 测试失败的测试?
谢谢!!
回复:如何在图表上显示仅失败的 T 检验@阿迪尔52 ,如果可能的话,建议每组中使用相同数量的单位进行两个样本比较。
样本量是用于降低 II 类错误风险的因素。
”在统计假设检验, A I 类错误是对真实的拒绝零假设(也称为“误报”发现),而II 类错误是未能拒绝错误的零假设(也称为“假阴性”发现)。 [1]更简单地说,第一类错误是错误地推断出不存在的东西的存在(用错误信息证实了普遍的信念),而第二类错误是错误地推断了不存在的东西的存在(违背了事实)带有虚假信息的共同信念)。 ”
摘自https://en.wikipedia.org/wiki/Type_I_and_type_II_errors 。 即使您声明原假设是控制组和无压力组不同,但双样本检验(2 组的方差分析)原假设是第 1 组和第 2 组的均值相等、相等。因此,您需要设计实验,以便测试能够检测特定差异。 例如,如果您希望实验检测到 0.5 sigma 差异的置信度为 95%,则可以使用 JMP 来帮助您选择单位数。
从 JMP 主菜单中,选择 DOE,并且根据您的 JMP 版本,菜单或子菜单之一包含样本量和功效计算器。 在 JMP 14 中,您可以通过选择 DOE > 设计诊断来找到它。 然后选择两个样本均值。 下面是屏幕截图。 由于每个测试都有不同的标准差,因此该设计步骤将使用相对值来完成。 指定标准差为 1,然后不同之处作为要检测的差异。 下面指定为1。 如果你按继续,每组的样本量将为 54 或 27 个单位。 删除样本大小并指定不同之处为 0.5 或二分之一标准差,然后按继续,每组的样本量为 210 或 105 个单位。 或者,删除差异并在样本大小中输入 160(每组 80 个单位),然后差异报告为 0.57,或者您的测试将有信心在 95% 的时间检测到 0.57 西格玛的差异。

如果您附近有一位熟悉您所在行业的统计学家或大学统计学教授,我建议您讨论一下。您的具体研究可能有很长的控制历史,控制单元的数量只是检查控制是否在基线内。但更重要的是单位的选择,以及如何进行实验以进行公平的比较,以及这些结论适用于哪些人群。
回复:如何在图表上显示仅失败的 T 检验pValue 是统计检验显着的概率。历史上显着性定义为 20 分之 1 (pValue <= .05) 或 20 分之 2 (pValue <= .1 )。是的,在您的情况下,由于您的 Ho 是 Group1=Group2,因此您需要找到 pValue > .05 或 > .1 的位置。
回复:如何在图表上显示仅失败的 T 检验你好@gzmorgan0
您对控制单元的样本大小有什么建议吗?
受压单元组将是 80 个单元。
回复:如何在图表上显示仅失败的 T 检验嗨特克斯尼尔森
首先非常感谢您的意见,它非常有帮助。
我有一个错误的问题。我想显示组在统计上不相等的测试。使用您的代码很容易并删除以下行:
dt << 反转行选择;
你能告诉我 PValue 的含义吗?
是 = Prob>|t| 吗?
我问这个问题是因为我的 H0 是 Group1=Group2回复:如何在图表上显示仅失败的 T 检验@tx尼尔森(Jim),太有趣了,我还使用 Semiconductor Capability.jmp 制作的表格开始回复,该表格由晶圆摘要的批次摘要组成,并随机选择 A 组或 B 组批次。 我看到了你的回复,所以我就不写细节了。 附件是数据表和生成下面图表的脚本,例如每 100 个测试,或一些测试的逻辑分组。
在实践中,最好添加 F 检验和 p 值来比较标准偏差以及对 n(每组测试的单位数)进行比较。 自从@阿迪尔52的小组受到控制和压力,压力可能会产生不可测量的(空的)结果。此外,如果有数千个测试,可能像半导体测试一样,一些测试可能是相关的,也就是说所有 PNP 测试都会向上移动,但并非所有测试都很重要。 这将显示为大于 0 的 t 比率。

作为一名统计学家,我必须警告统计显着性。 请注意,对于此随机分组的数据,有 118 个 t 检验(128 个检验,其中 10 个检验的标准差为零,没有 t 比率),11 个检验的 p 值 < 0.10,这是预期的错误率(5 个检验的 p 值) -值 < 0.05)。因此,仅根据 p 值和均值检验进行判断有很多注意事项。
最后警告@阿迪尔52 ,如果测量结果是由自动测试设备报告的,顺序可能很重要。如果有时间因素,我建议每次测试都采用类似这样的显示方式。

回复:如何在图表上显示仅失败的 T 检验JMP 中有多种方法可以解决此问题。我更喜欢使用响应筛选来快速浏览数据,仅获取分析的 p 值,然后获取这些结果并选择所需的数据进行分析。下面是一个简单的脚本,它对我创建的一些示例数据执行此操作,以匹配您的特定数据表列名称。
names default to here(1);
// Modify a sample data table to mimic your t-test code
dtSemi = open("$SAMPLE_DATA/semiconductor capability.jmp", invisible);
dtSemi << select where( :Site > 2 );
dtSemi << delete rows;
dtSemi:Site << set name( "Group" );
colNames = dtSemi << get column names( continuous );
dt = dtSemi << stack( columns(colNames) ,
Source Label Column( "Test" ),
Stacked Data Column( "Shift" ),
Name( "Non-stacked columns" )(Keep( :Group ))
);
close( dtSemi, nosave );
// The above code just creates a sample data table....The code below generates
// the desired output
// Now run the Response Screening to get the failed t-tests
rs = dt << Response Screening( Y( :Shift ), X( :Group ), Grouping( :Test ) );
dtRS = rs << Get PValues;
//dtRS << show window( 0 );
report(rs) << close window;
// select all of the failed t-tests and get their test names
// We are using failue of .1 as the target.....just change the
// target value if you want .05 or something else as the failure value
dtRS << select where( :PValue <= .1 );
If( N Rows(dtRS << get selected rows ) > 0,
dtRS << delete rows;
);
failingTests = dtRS:Test << get values;
// close the dtRS data table that is no longer needed
close( dtRS, nosave );
// Now select the Tests in the original data table that are not significant
dt << select where( contains( failingTests, :Test ) );
If( N Rows( dt << get selected rows ) > 0,
dt << invert row selection;
dt << hide and exclude ;
dt << clear select;
);
// Run your code
Oneway(
Y( :Shift ),
X( :Group ),
by(:Test),
t Test( 1 ),
Box Plots( 1 ),
X Axis Proportional( 0 ),
Points Jittered( 1 ),
Grand Mean( 0 ),
SendToReport(
Dispatch(
{},
"Oneway Plot",
FrameBox,
{DispatchSeg(
Box Plot Seg( 1 ),
{Box Type( "Outlier" ), Line Color( "Red" )}
), DispatchSeg(
Box Plot Seg( 2 ),
{Box Type( "Outlier" ), Line Color( "Red" )}
)}
)
)
);