Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何获得lsmeans()与自定义vcov的成对对比?

如何获得lsmeans()与自定义vcov的成对对比?
EN

Stack Overflow用户
提问于 2015-07-07 18:20:22
回答 2查看 1K关注 0票数 3

我希望在提供稳健的系数-协方差矩阵(例如vcovHC)的同时,使用lsmeans()对调整后的平均值进行成对比较。通常,回归模型上的函数会提供一个vcov参数,但我似乎在lsmeans包中找不到任何这样的参数。

考虑这个虚拟示例,最初来自CAR:

代码语言:javascript
运行
AI代码解释
复制
require(car)
require(lmtest)
require(sandwich)
require(lsmeans)

mod.moore.2 <- lm(conformity ~ fcategory + partner.status, data=Moore)
coeftest(mod.moore.2)
## 
## t test of coefficients:
## 
##                     Estimate Std. Error t value  Pr(>|t|)    
## (Intercept)        10.197778   1.372669  7.4292 4.111e-09 ***
## fcategorymedium    -1.176000   1.902026 -0.6183  0.539805    
## fcategoryhigh      -0.080889   1.809187 -0.0447  0.964555    
## partner.statushigh  4.606667   1.556460  2.9597  0.005098 ** 
## ---
## Signif. codes:  0***0.001**0.01*0.05.0.1 ‘ ’ 1

coeftest(mod.moore.2, vcov.=vcovHAC)
## 
## t test of coefficients:
## 
##                     Estimate Std. Error t value  Pr(>|t|)    
## (Intercept)        10.197778   0.980425 10.4014 4.565e-13 ***
## fcategorymedium    -1.176000   1.574682 -0.7468  0.459435    
## fcategoryhigh      -0.080889   2.146102 -0.0377  0.970117    
## partner.statushigh  4.606667   1.437955  3.2036  0.002626 ** 
## ---
## Signif. codes:  0***0.001**0.01*0.05.0.1 ‘ ’ 1

lsmeans(mod.moore.2, list(pairwise ~ fcategory), adjust="none")[[2]]
##  contrast         estimate       SE df t.ratio p.value
##  low - medium   1.17600000 1.902026 41   0.618  0.5398
##  low - high     0.08088889 1.809187 41   0.045  0.9646
##  medium - high -1.09511111 1.844549 41  -0.594  0.5560
## 
## Results are averaged over the levels of: partner.status 

如您所见,lsmeans()使用默认的方差-协方差矩阵来估计p值。

如何使用vcovHAC方差估计获得成对对比?

EN

回答 2

Stack Overflow用户

发布于 2015-07-08 19:07:24

事实证明,在lsmeansmultcomp包之间有一个非常好的无缝接口(请参阅?lsm),而lsmeans提供了对glht()的支持。

代码语言:javascript
运行
AI代码解释
复制
require(multcomp)

x <- glht(mod.moore.2, lsm(pairwise ~ fcategory), vcov=vcovHAC)
## Note: df set to 41
summary(x, test=adjusted("none"))
## 
##   Simultaneous Tests for General Linear Hypotheses
## 
## Fit: lm(formula = conformity ~ fcategory + partner.status, data = Moore)
## 
## Linear Hypotheses:
##                    Estimate Std. Error t value Pr(>|t|)
## low - medium == 0   1.17600    1.57468   0.747    0.459
## low - high == 0     0.08089    2.14610   0.038    0.970
## medium - high == 0 -1.09511    1.86197  -0.588    0.560
## (Adjusted p values reported -- none method)

这至少是实现这一目标的一种方法。我仍然希望有人知道一种只使用lsmeans的方法...

另一种方法是侵入lsmeans对象,并在summary-ing对象之前手动替换方差-协方差矩阵。

代码语言:javascript
运行
AI代码解释
复制
mod.lsm <- lsmeans(mod.moore.2, ~ fcategory)
mod.lsm@V <- vcovHAC(mod.moore.2)  ##replace default vcov with custom vcov
pairs(mod.lsm, adjust = "none")
##  contrast         estimate       SE df t.ratio p.value
##  low - medium   1.17600000 1.574682 41   0.747  0.4594
##  low - high     0.08088889 2.146102 41   0.038  0.9701
##  medium - high -1.09511111 1.861969 41  -0.588  0.5597
## 
## Results are averaged over the levels of: partner.status 
票数 4
EN

Stack Overflow用户

发布于 2021-12-09 01:22:32

或者使用update将自定义vcov矩阵注入到emmeans/emmGrid对象中。

示例:

代码语言:javascript
运行
AI代码解释
复制
# create an emmeans object from your fitted model
emmob <- emmeans(thismod, ~ predictor)

# generate a robust vcov matrix using a function
# from the sandwich or clubSandwich package
vcovR <- vcovHC(thismod, type="HC3")

# turn the resulting object into a (square) matrix
vcovRm <- matrix(vcovR, ncol=ncol(vcovR))

# update the V slot of the emmeans/emmGrid object
emmob <- update(emmob, V=vcovRm)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31276412

复制
相关文章
iOS推送SDK集成对比
由于自己的app想要一个推送功能,又由于调用系统的方法集成太麻烦,所以想找一个推送的SDK来做。市面上可以实现该功能的SDK有多种,比如极光,信鸽,个推,MobPush(ShareSDK他们家的)。 经过对比得知,
全栈程序员站长
2022/07/20
5560
多年多年数据如何计算BLUE值
一年多点或者多年多点的植物数据中,一个基因型(品种)往往有多个表型数据,但只有一个基因型,在GWAS关联分析中,就需要一个基因型对应一个表型数据。
邓飞
2019/12/05
2.7K0
如何获得开源技术的认可?
开源人才的发展潜力巨大,而且开源领域充满着能够让技术人才发挥的机会!如果你有兴趣在开源领域找到一份工作,本文将提供一些重要的开源学习课程以及认证考试。
TARS基金会
2022/08/31
8060
如何获得开源技术的认可?
生成对抗网络的发展与挑战
生成对抗网络(Generative adversarial network,GAN)由生成模型和判别模型构成,生成模型获取真实数据的概率分布,判别模型判断输入是真实数据还是生成器生成的数据,二者通过相互对抗训练,最终使生成模型学习到真实数据的分布,使判别模型无法准确判断输入数据的来源。生成对抗网络为视觉分类任务的算法性能的提升开辟了新的思路,自诞生之日起至今已经在各个领域产生了大量变体。
一点人工一点智能
2023/08/25
8220
生成对抗网络的发展与挑战
要点3:输入函数对比与自定义输入方式
运行程序,输入 两个整数,打印为 2,测试输入3个值仍然打印2,是因为这个"%d %d"指定了只解析两个int,多余的将留在缓冲区中,如果后面再写一个scanf,将从缓冲区中继续解析。
CN_Simo
2020/08/20
7800
java 获得xml自定义属性
xmlKit import com.jfinal.weixin.sdk.utils.IOUtils; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import javax.xml.namespa
DencyCheng
2019/02/27
7690
如何测试前台获得的数据
测试前台获得的数据可使用ajax,在代码中加debugger打上断电之后,查看获得的data数据。 $.ajax({         async:false,         type:"post",         dataType:'json',         url : "url" + new Date().getTime(),         success :function(data){             debugger;         }         });
就只是小茗
2018/03/07
2K0
生成对抗网络(GAN)的应用与发展
近年来,生成对抗网络(GAN)得到广泛的研究,已经在一些特定应用上与其它机器学习算法相结合,针对有监督学习、半监督学习、无监督学习任务都有许多新型算法涌现出来。同时,由于 GAN 无需显式建模任何数据分布就可生成Real-like的样本,因此已经广泛应用到了诸如计算机视觉、自然语言处理等领域中。
灯塔大数据
2020/12/14
3.9K0
生成对抗网络(GAN)的应用与发展
如何获得对象的retain count
Mac特别是iPhone中的内存管理是通过引用计数来实现的。 而对于开发者来说,特别是从具备垃圾回收功能的语言开发工程师来说,这种内存管理方式具有很大的挑战性。
EltonZheng
2021/01/26
1.7K0
GWAS计算BLUE值1--计算最小二乘均值(lsmeans)
上一次,我计划写个系列,为何?要用BLUE值作表型进行GWAS分析,GWAS分析多年多点或者一年多点的数据时,如何计算矫正后的均值(BLUE值),肝了一上午,写了四篇,从原理到计算方法到代码展示,后面四天的素材就有了,总结一些东西,总能理解更深,保持输出才能不断输入,加油!
邓飞
2021/12/20
1K0
GWAS计算BLUE值1--计算最小二乘均值(lsmeans)
如何使用TensorFlow生成对抗样本
如果说卷积神经网络是昔日影帝的话,那么生成对抗已然成为深度学习研究领域中一颗新晋的耀眼新星,它将彻底地改变我们认知世界的方式。对抗学习训练为指导人工智能完成复杂任务提供了一个全新的思路,生成对抗图片能够非常轻松的愚弄之前训练好的分类器,因此如何利用生成对抗图片提高系统的鲁棒性是一个很有研究的热点问题。 神经网络合成的对抗样本很容易让人大吃一惊,这是因为对输入进行小巧精心制作的扰动就可能导致神经网络以任意选择的方式对输入进行错误地分类。鉴于对抗样本转移到物质世界,可以使其变得非常强大,因此这是一个值得关注的
两只橙
2018/04/28
1.3K1
如何使用TensorFlow生成对抗样本
如何使用TensorFlow生成对抗样本
如果说卷积神经网络是昔日影帝的话,那么生成对抗已然成为深度学习研究领域中一颗新晋的耀眼新星,它将彻底地改变我们认知世界的方式。对抗学习训练为指导人工智能完成复杂任务提供了一个全新的思路,生成对抗图片能够非常轻松的愚弄之前训练好的分类器,因此如何利用生成对抗图片提高系统的鲁棒性是一个很有研究的热点问题。 神经网络合成的对抗样本很容易让人大吃一惊,这是因为对输入进行小巧精心制作的扰动就可能导致神经网络以任意选择的方式对输入进行错误地分类。鉴于对抗样本转移到物质世界,可以使其变得非常强大,因此这是一个值得关注的安全问题。比如说人脸识别,若一张对抗图像也被识别为真人的话,就会出现一些安全隐患及之后带来的巨大损失。对生成对抗图像感兴趣的读者可以关注一下最近的Kaggle挑战赛NIPS。
两只橙
2021/11/24
5910
如何使用TensorFlow生成对抗样本
openGauss与PostgreSQL的对比
华为公司今年6.30开源了openGauss数据库,openGauss数据库内核基于postgresql9.2.4演进而来,pg11.3版本数据库中共有290个数据库参数,而openGauss目前有515个数据库参数,每个参数对应一个数据库内核功能,所以可以看到华为公司对pg的内核还是做了非常大的改造和增强。
数据库架构之美
2020/08/05
10.7K0
eSE/inSE/TEE的分析与对比
去年DEFCON GROUP 010技术沙龙上的一篇嘉宾演讲,分享给大家。视频如下:
安智客
2018/07/30
1.8K0
eSE/inSE/TEE的分析与对比
目标检测与生成对抗网络
1、A full data augmentation pipeline for small object detection based on generative adversarial networks
狼啸风云
2023/10/07
3240
JaCoCo 与Cobertura 的对比
方法指令的有状态生成器.一个方法的所有指令必须按照它们的原始顺序加上附加信息,如行号。 之后,可以使用getInstructions方法获得ASM指令map
JavaEdge
2020/05/26
1.5K0
MQTT与SSE的对比
构建实时web或移动应用程序比构建标准服务更具挑战性。这是因为您选择的将数据从服务器传递到客户端的协议将对总体体验产生重大影响。
用户4122690
2020/07/03
2K0
MQTT与SSE的对比
GitLab与SVN的对比
主要功能:SVN属于集中化的版本控制系统,使用起来有点像是档案仓库的感觉,支持并行读写文件,支持代码的版本化管理,功能包括取出、导入、更新、分支、改名、还原、合并等。SVN大都采用图形界面操作,直观,上手快。
超级小可爱
2023/02/20
1.3K0
点击加载更多

相似问题

使用lsmeans或difflsmeans对lmer进行成对比较

26

与SPARQL的成对比较

12

GLM中的“对比误差”信息与lsmeans Tukey检验

10

在R中使用lsmeans/emmeans计算成对比较的置信区间

122

与Hadoop MapReduce的成对比较

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文