You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JMP与R中含嵌套效应线性模型的Type3平方和差异问题

含嵌套效应的线性模型:JMP与R的Type 3平方和差异

要拟合的线性模型:

  • R写法:Y ~ G + C + G*C + C%in%L
  • JMP等价写法:G + C + G*C + L[C]

已知JMP默认输出Type 3平方和,仅含固定效应或简单交叉效应时,通过设置合适对比(如contr.sum)可使R与JMP结果完全一致。但模型包含嵌套效应时,C项的平方和出现无法通过调整对比消除的差异,推测二者对嵌套效应的处理逻辑存在不同。

模拟代码(R)

# library('data.table')
set.seed(18)
TEST=data.table(
 L= c( rep( LETTERS[seq( from = 1, to = 3 )],3), rep( LETTERS[seq( from = 4, to = 6 )],3),rep( LETTERS[seq( from = 7, to = 9 )],3)),
 G= rep(sort(rep(LETTERS[seq( from = 1, to = 3 )],3)),3),
 C=sort(rep(LETTERS[seq( from = 10, to = 12)],9)),
 Y= rnorm(27)
 )
 set.seed(18) 
# 加入非正交数据部分
TEST_add=data.table(
 L= sort(rep( LETTERS[seq( from = 10, to = 14 )],2)),
G= rep(LETTERS[seq( from = 1, to = 2 )],5),
C = rep("L",10),
 Y= rnorm(10)
)
TEST=rbind(TEST_add,TEST)
 
 TEST$L = as.factor(TEST$L)
 TEST$G = as.factor(TEST$G)
 TEST$C = as.factor(TEST$C)  
   
model <- lm(Y~ G  +C+ C*G +  C%in% L, data = TEST ,contrasts=list(G="contr.sum",C="contr.sum", L="contr.sum")) 
drop1(model,.~.,test="F",all.cols = FALSE)

R输出结果

Df Sum of Sq    RSS    AIC F    value Pr(>F)
<none>                24.196   24.285               
G       2    0.2945   24.491   20.733  0.1035 0.9023
C       2    0.4707   24.667   20.998  0.1653 0.8490
G:C     4    5.9115   30.108   24.373  1.0383 0.4163
C:L    11   21.7349   45.931   26.000  1.3882 0.2631

JMP输出结果

Source  DF  Sum of Squares
C       2   0.876575
G       2   0.294510
L[C]    11  21.734947
G*C     4   5.911491

核心差异

仅C项平方和存在不一致:

  • JMP中C项平方和:0.876575
  • R中C项平方和:0.4707

内容的提问来源于stack exchange,提问作者Johanna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 12:47:30