我已经尝试并搜索了,但没有发现太多。
我正在尝试使用顺序包中的CLM来分析一些数据。我知道clm函数带有比例赔率假设。该网站(https://rcompanion.org/handbook/G_01.html)表示,如果您使用“ nominal_test”,并且任何变量都违反了比例赔率假设(如将其放入序数包函数nominal_test中的情况,则返回有效p -值),则可以有选择地放宽这些变量的比例赔率假设。所以我尝试了这个,但是对于如何真正解释结果感到困惑。
例如,我有一些代码:
glm_results = clm(Z ~ A + B + C + D + E + F + G + H +I+J + K,
data = the_data,
link = "logit", threshold = "flexible")
nominal_test(glm_results)
Z是因变量,是具有级别2、3和4(其中2 <3 <4)的有序变量。其余变量是分类变量,除一个变量外,其他所有变量都有某种形式的层次结构。
nominal_test输出为
Df logLik AIC LRT Pr(>Chi)
<none> -378.22 804.43
A 1 -376.94 803.88 2.5579 0.109744
B 1 -377.61 805.22 1.2131 0.270710
C 4 -374.13 804.26 8.1699 0.085549 .
D 2 -376.76 805.53 2.9036 0.234153
E 4 -376.40 808.79 3.6423 0.456581
F 3 -373.67 801.33 9.0990 0.028003 *
G 3 -377.56 809.13 1.3065 0.727584
H 1 -374.36 798.72 7.7168 0.005471 **
I 1 -377.29 804.58 1.8543 0.173285
J 1 -377.38 804.76 1.6760 0.195460
K 1 -377.97 805.93 0.5000 0.479484
因此,只有F和H不遵循比例对数优势假设。因此,对于这些变量,我可以在原始的glm公式中放宽F和H。因此,我假设这意味着对于F和H以外的所有变量,都存在比例赔率假设(无论是比较因变量Z2与Z3还是Z3与Z4,自变量贡献的系数/差都是相同的) 。因此,我可以像这样在函数中放松它:
glm_results = clm(Z ~ A + B + C + D + E + F + G + H +I+J + K,
data = the_data,
link = "logit", threshold = "flexible",
nominal = ~F+H)
summary(glm_results)
结果如下:
link threshold nobs logLik AIC niter max.grad cond.H
logit flexible 446 -370.16 796.31 6(0) 3.22e-10 6.0e+02
Coefficients: (4 not defined because of singularities)
Estimate Std. Error z value Pr(>|z|)
A -0.28149 0.39319 -0.716 0.474045
B -0.00197 0.30173 -0.007 0.994792
C4 1.35216 0.48257 2.802 0.005079 **
C5 1.19916 0.44374 2.702 0.006884 **
C6 1.69882 0.44899 3.784 0.000155 ***
C7 1.76681 0.45556 3.878 0.000105 ***
D2 -1.46896 0.36901 -3.981 6.87e-05 ***
D3 -0.52158 0.50353 -1.036 0.300275
E2 -0.63759 0.33855 -1.883 0.059660 .
E3 -0.79584 0.28221 -2.820 0.004801 **
E4 -0.07828 0.35013 -0.224 0.823081
E5 0.02954 0.42210 0.070 0.944205
F2 NA NA NA NA
F3 NA NA NA NA
F4 NA NA NA NA
G2 -0.72327 0.46516 -1.555 0.119969
G3 -1.02087 0.38398 -2.659 0.007846 **
G4 -1.27764 0.44615 -2.864 0.004187 **
H NA NA NA NA
I -0.24169 0.53224 -0.454 0.649756
J -0.40141 0.54486 -0.737 0.461294
K -0.22664 0.55336 -0.410 0.682119
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Threshold coefficients:
Estimate Std. Error z value
2|3.(Intercept) -2.63233 0.89030 -2.957
3|4.(Intercept) -0.09137 0.88626 -0.103
2|3.F2 -0.78198 0.42903 -1.823
3|4.F2 0.13041 0.34849 0.374
2|3.F3 -0.68971 0.42141 -1.637
3|4.F3 -0.63912 0.33739 -1.894
2|3.F4 -0.33434 0.45516 -0.735
3|4.F4 -0.79488 0.36469 -2.180
2|3.H1 -0.94242 0.34311 -2.747
3|4.H1 0.01908 0.24686 0.077
请注意,“奇异性”是我选择放松的F和H变量。另请注意,E2,E3,E4,E5等是分类变量的级别。您将获得与每个分类变量(E2与E1,E3与E1)的基数/最低水平的成对比较的系数。但是,对于那些没有被“名义”放宽的变量,您只有一个系数,因为我们假设这些变量的对数赔率成比例。对于“名义”变量,每个级别都有两个不同的系数。一个用于因变量的2与3之间的差,另一个用于3与4之间的差。这是有道理的,因为您没有假设2 | 3和3 | 4的几率相同。
但是,然后,我只是尝试对标称值放宽其他未必由标称测试指示的变量来放宽。例如,我做了以下事情:
glm_results = clm(Z ~ A + B + C + D + E + F + G + H +I+J + K,
data = the_data,
link = "logit", threshold = "flexible",
nominal = ~F+E+H)
summary(glm_results)
我在变量E中加上了标称值。在“阈值”部分中,对于“名义”松弛变量的摘要,我得到以下结果:
Estimate Std. Error z value
2|3.E2 1.34267 0.50887 2.639
3|4.E2 0.26653 0.36836 0.724
2|3.E3 0.80729 0.45744 1.765
3|4.E3 0.95040 0.33940 2.800
2|3.E4 0.23697 0.52950 0.448
3|4.E4 0.02926 0.40370 0.072
2|3.E5 0.48218 0.60322 0.799
3|4.E5 -0.18231 0.43848 -0.416
所以我的问题是,在我看来,如果不违反变量的比例赔率假设,那么该分类变量的2 | 3和3 | 4的系数不应该相似吗?我可能1000%都做错了。例如2 | 3.E4和3 | 4.E4的系数似乎完全不同。我的解释不正确吗?类似地,在最初被认为是松弛候选对象的变量(如变量F)中,2 | 3.F3和3 | 4.F3系数非常相似。
我想知道我是否可以就如何准确解释这些问题获得一些指导。如何正确确定放宽赔率假设的变量?我假设对于那些不违反比例对数赔率假设的变量,将它们放在“名义”函数中时,对于相同的分类成对比较,对于2 | 3和3 | 4得出的系数应该相似。这是不正确的解释或假设吗?
如果这不是最好的方法,我该如何使用VGLM进行测试,然后放松代码中的特定变量?
感谢您的支持和指导。