混合模型/ REML结果:我们是否有文件记录如何计算标准误差将SLS与REML(也称为混合效果)结合使用,对于置信区间的标准误差,客户在不同的程序包(R / Python / JMP)中可获得不同的结果。 (R / Python / JMP:0.05 / 0.08 / 0.002),这是40的因数,非常高。 我们是否有任何有关如何精确计算(公式)的文档。 BLUPS本身以及FE和ME的估计值都是不同程序包中的信号量,但是是预测间隔和置信区间。
我认为这可能与不同的基础重复协方差结构(默认值)或Kacker-Harville-Correction有关?
添加示例: https://www.rdocumentation.org/packages/doBy/versions/4.6-3/topics/data-dietox
-建筑模型重量=时间+饲料+猪(随机效应)
jian @laural_jmp
回复:混合模型/ REML结果:我们是否有文档将如何计算标准误差嗨,马丁,
您是否可以共享数据和模型的脚本?如果可以的话,那将非常有帮助。另外,哪些标准误差和置信区间不同?我也试图将伊丽莎白(Elizabeth)加入这首单曲。
谢谢。
劳拉
@eclaassen
回复:混合模型/ REML结果:我们是否有文档将如何计算标准误差马丁
如果可以提供产生置信区间和标准误差的R代码,那将是有帮助的。 我的R知识落后,只能成功建立模型(使用Dietox数据和lmer())并获得边际和条件预测值。 这些值与JMP匹配。
使用Dietox数据,我运行了JMP和SAS(PROC MIXED)中指定的模型,边际和条件预测值和置信区间匹配(当在SAS-KR2中为边际和Satterthwaite指定了相应的DDFM方法时) 。 SAS没有个人CI。 在16.0中已解决的单个CI的自由度存在问题。
我知道Kackar-Harville校正后的协方差矩阵用于固定效应估计值的检验/间隔。 如果涉及随机效果,则使用Satterthwaite方法。
回复:混合模型/ REML结果:我们是否有文档将如何计算标准误差用户从保存的条件均值CI列中计算出0.002的标准误差。

回复:混合模型/ REML结果:我们是否有文档将如何计算标准误差我最初添加的是快照,但未显示在帖子中。 在这里,我再试一次:



2.125作为方差分量的Stderr
回复:混合模型/ REML结果:我们是否有文档将如何计算标准误差我要求提供R代码。
回复:混合模型/ REML结果:我们是否有文档将如何计算标准误差关于自由度,我们只是有这种想法,如果他们使用JMP 15,这可能是得出不同结果的原因吗? 当我在16和15中运行此示例时,我看到的结果完全相同。
回复:混合模型/ REML结果:我们是否有文档将如何计算标准误差嗨,马丁,
我相信用于计算方差分量的协方差矩阵的方法在以下论文的第1306页上:
Wolfinger,R.D., Tobias,R。D.和Sall,J。(1994)。 “为一般线性混合模型计算高斯似然及其导数。” SIAM科学计算杂志15:1294-1310。
Proc Mixed的SAS文档提供了更多详细信息是否有用?
SAS帮助中心:默认输出
伊丽莎白可能知道另一个很好的参考?
劳拉
@eclaassen
回复:混合模型/ REML结果:我们是否有文档将如何计算标准误差jian ,
我没有看到此公式列? 我对看到它非常感兴趣,因为我不知道在没有自由度的情况下如何计算它,这并不容易。
根据马丁的说法,他们正在比较标准错误。据马丁说,他们正在比较置信区间的标准误。 因此,在保存了条件均值CI列之后,我只求差值,然后使用制表法获得标准误差。 由于存在不同类型的配置项,因此我试图查看正在比较的配置项。
我还运行了SAS Proc Mixed,但是结果与JMP略有不同。 例如,方差分量估计值不完全相同。


回复:根据马丁的说法,他们正在比较标准错误...啊。 我刚刚写了很长的回复,当我发帖时,我收到验证错误,并且回复丢失了。 我将尝试重新创建...,希望我们不会收到重复的帖子。
那不是SE吗? 差= obs + crit * se-(obs-crit * se)= 2 * crit * se。 采取这种差异不会成为我们感兴趣的标准误差。 这就是置信区间宽度的方差,据我所知,这并不是什么“有趣的”东西。 如果获得预测值或置信区间的标准误差,则SE约为0.834,这更像是平均SE,因为每个观察值都有自己的SE。

SAS和JMP之间的差异很小。 (-2 log)可能性是相同的,由于数据表中的值没有被很好地舍入,因此我们遇到了局部局部最优或一些数字模糊的情况。 尽管固定效果相同,但即使预测值在小数点后第四位也会发生变化。
/* outpm gives the marginal prediction information (values, se, CI) that corresponds to JMPs Mean Confidence Interval */
proc mixed data=sasuser.dietox nobound cl covtest;
class pig;
model weight= time feed / ddfm=kr2 s outpm=krpredmean;
random pig ;
run;
/* outp gives the conditional prediction information that corresponds to JMPs Conditional Mean CI */
proc mixed data=sasuser.dietox nobound;
class pig;
model weight= time feed / ddfm=satterth s outp=spred;
random pig;
run;
确实,JMP和Python / R之间的预测值SE的任何差异均源于Martin /屏幕快照中指出的组/猪差异SE的差异。 方差的方差起作用。 我不知道Python是如何计算出来的,所有其他SE都同意而一个SE却不同意,这似乎很奇怪。 同样,SAS和JMP本质上是一致的,而JMP SLS-REML和Mixed是一致的,而使用的例程略有不同。
回复:根据马丁的说法,他们正在比较标准错误...嗯,转发中丢失了一些信息:
条件预测SE可以在JMPPro的Mixed中获得。 当两个平台都提供边际SE(预测的标准错误)时,我不知道为什么它们在SLS-REML中不可用。
回复:混合模型/ REML结果:我们是否有文档将如何计算标准误差似乎置信区间中的任何差异都来自方差分量的计算标准误差。
Python输出的组/猪方差为31.836,SE为2.125。 (摘自Martin的屏幕截图)
R输出为:
Random effects:
Groups Name Variance Std.Dev.
Pig (Intercept) 31.836 5.642
Residual 7.364 2.714
Number of obs: 789, groups: Pig, 72
JMP具有:
SAS具有:
| 协方差参数估计 |
|---|
| Cov Parm |
估计 |
标准 错误 |
Z值 |
Z |
Α |
降低 |
上 |
|---|
| 猪 |
31.8276 |
5.4936 |
5.79 |
<.0001 |
0.05 |
21.0604 |
42.5949 |
|---|
| 剩余的 |
7.3645 |
0.3898 |
18.89 |
<.0001 |
0.05 |
6.6565 |
8.1924 |
|---|
所有软件包都具有相同的对数似然性。
所有软件包的参数估计值基本上相同。
猪/组差异组件的SE与SAS,JMP和R相当,但在Python中却大不相同。
残差方差的SE与SAS和JMP相当,但是R非常不同,我在Python输出屏幕截图中看不到该估计的SE。
因为在进一步的计算中需要方差分量的那些SE,所以我们得到了预测置信区间的差异。 我没有找到一种方法来获得R在置信区间中用来直接比较它们的自由度和/或SE。 我们只会在间隔中看到由此产生的差异。
要查看各种时间间隔的自由度,可以在JMP中添加自定义测试。 该脚本包括与平均置信区间和条件均值CI等效的自定义测试。 您可以看到预测值,并且SE与保存这些列时获得的值匹配。 附加信息是用于测试/ CI的DFDen。 该DFDen可用于查找与SE一起用于CI的临界值。
Fit Model(
Y( :Weight ),
Effects( :Feed, :Time ),
Random Effects( :Pig ),
NoBounds( 1 ),
Personality( "Standard Least Squares" ),
Method( "REML" ),
Emphasis( "Minimal Report" ),
Run(
:Weight << {Summary of Fit( 1 ), Analysis of Variance( 0 ),
Parameter Estimates( 1 ), Scaled Estimates( 0 ),
Plot Actual by Predicted( 0 ), Plot Regression( 0 ),
Plot Residual by Predicted( 0 ), Plot Studentized Residuals( 0 ),
Plot Effect Leverage( 1 ), Plot Residual by Normal Quantiles( 0 ),
Custom Test(
[1 5.200005 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0],
Label( "obs2 marginal" )
), Custom Test(
[1 5.200005 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0],
Label( "obs2 conditional" )
)}
)
);
我想这个“解释”了问题的出处,但没有解释原因。 我不知道R或Python是如何获得方差分量的SE的,但显然存在差异。 JMP和SAS程序已完全记录(我认为JMP文档指向所有深层统计推断信息的SAS文档)。Viya LMIXED过程的相关文档(与常规PROC MIXED相同)
回复:混合模型/ REML结果:我们是否有文档将如何计算标准误差我注意到JMP和SAS将其标记为“标准错误”,而R包将其称为Std.Dev。 有区别吗? 在其固定效果报告中,R标记为Std。 错误。
回复:混合模型/ REML结果:我们是否有文档将如何计算标准误差可能不会。 尽管从技术上讲不是同一件事,但通常这些术语可以互换使用。
回复:混合模型/ REML结果:我们是否有文档将如何计算标准误差谢谢伊丽莎白!
关于所使用的优化算法,在文档中提到了Newton-Raphson,但有一点要在LMIXED中进行更改。 我猜在JMP中,我们只是使用NR而没有更改要切换,对吗?
而且也不会有任何选择写出黑森州矩阵。 有了此输出,我们也许可以比较迭代与迭代之间是否存在与R算法不同的差异,尽管在数学上不应存在差异。 我会让客户做比较工作)。
再次感谢您的调查! 那很有帮助。