二进制数据和相关性前几天,我在询问二进制数据和相关性。 我一直在使用将相关系数输出到矩阵中的多元相关工具。 但是,从进一步的研究来看,我认为使用这种相关工具对分类数据没有意义,因为它使用了 Pearson Product Moment Correlation。 在我的数据中,每个值都是二进制数据 0 或 1(通过或失败)。 我读过我应该使用 Phi 系数来计算二进制数的相关性。
我有两个问题:
1) 我可以用与 PPMC 相同的方式解释系数吗? 我知道它越接近+1,就有很强的正相关性。 如果我对这个系数求平方,我还能用它来计算决定系数吗?
2) 我可以使用 JMP 计算吗? 有没有办法改变相关矩阵,以便它计算这个 phi 系数而不是 PPMC?
谢谢,娜塔莉
回复:二进制数据和相关性再次感谢马克! 你的帮助很棒 
回复:二进制数据和相关性更多精彩问题。
这实际上只是“苹果对苹果”或“苹果对橘子”。 此外,这是连续数据和分类数据之间的区别。
如果你有一个智力分类和另一个货币资产分类,你可以使用 Contingency 来查看这些变量是否相关联。 (类似于连续变量的相关性。)另一方面,如果你有两种智力分类,你可以评估关联,但你可以探索更严格的关系:一致性。 两种分类一致的次数比例是多少?
我们用比值比衡量关联强度。 我们衡量与 Kappa 一致的强度。
回复:二进制数据和相关性哈,好问题!
好的,答案是学习必须有变化。 如果无论条件如何,你总是得到相同的答案,那么你就无法确定是什么原因导致它发生变化。 统计数据无法提供不存在的答案。
回复:二进制数据和相关性好的,所以我找到了在哪里可以找到 Kappa 系数;它在“协议统计”表下。 “Agreement Statistic”表格仅在 X 和 Y 变量具有相同水平时出现。 这意味着什么? 有没有办法检查这个?
回复:二进制数据和相关性嗨,马克,
感谢这个脚本;这真是很棒的代码! 它运行良好,我花了一些时间学习你是如何编写它的(我想我也学到了更多关于脚本的知识)!
在您的代码中,我了解您如何从报告中获得 kappa 值或 R Square(U)。 如果我手动执行 X 拟合 Y,我只是看不到在哪里可以找到 kappa 系数。 我想了解更多有关此系数及其计算方式的信息。 我的一些数据可能有一整列都是 1,当它包含在应急报告中时,报告没有生成。 从日志和我的调试来看,我认为这是因为没有计算或不能计算 kappa 系数。 为什么是这样?
回复:二进制数据和相关性嗨,马克,
谢谢你的剧本。 实际上我已经离开工作一周了,但我肯定会在周一尝试。
再次感谢!
回复:二进制数据和相关性我的剧本对你有用吗? 你有什么困难吗?
回复:二进制数据和相关性这是一个收集的脚本R 方 (U)和河童来自二进制列的所有组合:
Names Default To Here( 1 );
dt# = Current Data Table();
If( Is Empty( dt# ),
Throw( "Data table missing" )
);
// user choices.
dlg# = Column Dialog(
Title( "Binary Agreement" ),
yCol# = Col List( "Binary Columns",
Min Col( 2 )
),
"Select columns for agreement"
);
// check if user decides to quit.
If( dlg#["Button"] == -1,
Throw( "User cancelled" );
);
// process information returned from dialog.
Remove From( dlg# ); Eval List( dlg# );
n cols# = N Items( yCol# );
r sqr u# = agree# = Identity( n cols# );
measure# = List();
For( col1# = 1, col1# < n cols#, col1#++,
Insert Into( measure#, yCol#[col1#] << Get Name);
For( col2# = 2, col2# <= n cols#, col2#++,
ct# = dt# << Contingency(
Y( yCol#[col1#] ),
X( yCol#[col2#] ),
Contingency Table( 0 ),
Mosaic Plot( 0 ),
Tests( 1 ),
Agreement Statistic( 1 ),
Invisible
);
ctr# = ct# << Report;
r sqr u#[col1#,col2#] = r sqr u#[col2#,col1#] = ctr#["Tests"][TableBox(1)][NumberColBox(4)][1];
agree#[col1#,col2#] = agree#[col2#,col1#] = ctr#["Kappa Coefficient"][TableBox(1)][NumberColBox(1)][1];
ct# << Close Window;
);
);
Insert Into( measure#, yCol#[col1#] << Get Name );
New Window( "Binary Agreement",
Outline Box( "RSquare (U)",
tb1 = Table Box(
String Col Box( "Measure", measure# )
)
),
Outline Box( "Kappa Coefficient",
tb2 = Table Box(
String Col Box( "Measure", measure# )
)
)
);
For( col# = 1, col# <= n cols#, col#++,
tb1 << Append(
Number Col Box( measure#[col#], r sqr u#[0,col#], << Set Format( 7, 4 ) )
);
tb2 << Append(
Number Col Box( measure#[col#], agree#[0,col#], << Set Format( 7, 4 ) )
);
);
回复:二进制数据和相关性非常感谢您的回复! 我很熟悉 JSL,但我不确定如何收集 RSquare 值。
回复:二进制数据和相关性R 方 (U) 基于似然,但它的使用与具有连续变量的 R 方完全相同。
是的,您对 p 值的解释是正确的。
可以编写一个脚本来启动每一对的应急平台,收集 R 方 (U) 统计数据,并在自定义窗口中报告它们。
至于 Phi 度量,您可以改为研究 JMP 提供的度量,看看它们是否有用。 同样,由于所有变量的测量值为 0 或 1,因此一致性可能是比关联更好的测量方法。
回复:二进制数据和相关性嗨,马克,
这次真是万分感谢! 我尝试了对两个变量的应急分析。
我的 R 方 (U) 是 0.9208- 所以如果我理解正确的话,这两个变量可以预测彼此的响应,因为 R 方非常接近 +1。
我的 p 值是 <.0001。由于这两个变量是二进制的,因此要么通过要么失败(1 或 0):
Ho:一个变量的结果对第二个变量没有影响。
Ha:一个变量的结果对第二个变量有影响。
由于我的 p 值小于 0.05,我拒绝原假设而支持备择假设,对吗?
我有 60 个不同的二进制变量。 是否可以将 R 方值放入矩阵或数据表中? 这类似于多元相关矩阵,但数据表也能很好地工作。 我不需要为我正在做的事情准备所有这些不同的报告。
我只是在研究 Phi 系数。 它说它量化了两个二进制变量之间的关联。 不编写脚本就无法在 JMP 中进行此计算吗?
回复:二进制数据和相关性分类数据不同于连续数据。 不过,通常有类似的措施和方法。 例如,我们不是像对待连续变量那样谈论相关性,而是谈论协会或者协议与分类变量。 此类度量有很多,JMP 提供了大部分重要和常用的度量。
适当的方法和措施取决于类别的性质:
- 级别数(2、3 或更多)
- 建模类型(名义或有序)
- 两个变量是否使用相同水平
听起来你可能对协议在捕获相同的两个变量之间名义上的,二进制水平。 您可以使用分析>用 X 拟合 Y命令启动应急平台。 平台菜单包括获取协议的命令和获取关联措施的命令。
请记住,您可以选择工具>帮助然后单击报告以直接转到该信息的特定帮助。
一般来说,这些措施像相关性一样缩放,因此解释是相同的。
我不知道你为什么选择 Phi 度量。 我们也可以谈谈这个。