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

R语言BradleyTerry2包如何将零假设作为参考替代数据集首项?

BradleyTerry2包参考项调整与零假设检验方案

核心原理

默认首个条目为参考项的问题,本质是R中分类变量默认采用治疗对照(contr.treatment)的编码逻辑,Matchup作为分类变量时,首个水平被强制设为参考组,系数赋值为0,其余水平系数均为与该参考组的差值。

具体实现方法

方法1:调整分类变量编码,以总体平均效应为参考(即零假设基准)

使用和对照(contr.sum,也叫偏差编码)替换默认编码,该编码规则下所有Matchup水平的系数和为0,模型截距项对应所有对阵的平均效应,也就是对阵无影响的零假设基准,单个对阵的系数代表该类对阵与平均效应的偏差。
操作代码如下:

# 调整Matchup变量的对照方式
btmdata$Matchup <- factor(btmdata$Matchup, contrasts = "contr.sum")
# 重新拟合模型
BTv1 <- BTm(player1=winner,player2=loser,id="ID",formula=~Matchup+(1|ID),data=btmdata)

结果解读:此时若所有Matchup的系数均不显著异于0,即可验证对阵无影响的零假设。如果需要获取最后一个Matchup水平的系数,可通过-sum(其余Matchup系数)计算得到。

方法2:直接通过似然比检验验证零假设(更适配研究需求)

如果核心目标是验证对阵对结果无影响的零假设,无需手动调整参考项,直接拟合不含Matchup项的空模型,和原模型做似然比检验即可直接判断对阵的整体效应是否显著:
操作代码如下:

# 拟合零假设模型:对阵不影响结果,仅保留选手能力随机效应
BT_null <- BTm(player1=winner,player2=loser,id="ID",formula=~(1|ID),data=btmdata)
# 似然比检验对比两个模型的拟合度差异
anova(BT_null, BTv1, test = "LRT")

结果解读:若检验返回的p值小于设定的显著性水平(通常为0.05),则拒绝零假设,说明对阵情况对比赛结果存在显著影响;反之则无法拒绝零假设。

补充说明

如果需要输出每个对阵的绝对能力值,可在使用sum对照的基础上,将模型截距项加到每个Matchup的系数上即可,所有对阵的能力值均值即为零假设对应的基准值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 12:36:01