4

有谁知道用 R 中的调查数据估计 Box-Cox 多元变换的方法?我不知道有任何考虑到分层和集群(我正在使用的数据)的东西,但即使是考虑到概率权重的东西也会很棒。我最担心的事实是当应用概率权重时,一个或多个变量可能会发生变化,因此转换可能会发生根本性的变化。也可能对错误和 Box-Cox 算法等产生影响……但这超出了基本上是理论确认方法的范围。

更新的问题

R 函数powerTransform效果很好,但我认为调查数据还没有任何内容。我认为 Stata 可以处理这个问题,但正如尼克指出的那样,情况并非如此。处理采样权重的唯一 Box-Cox 变换似乎是this

您是否知道任何允许您将单变量和多变量 BoxCox 转换应用于概率加权数据的 R 函数?

我没有任何数据,但我只是想知道是否有人找到了解决方案。我知道当给出一个具体的例子时人们会很感激......

单变量 Box-Cox: 使用 lm 和 svyglm(调查包)对象时返回单变量 Box-Cox 的结果。

library(survey)
data(api)
library(car)
dstrat<-svydesign(id=~1,strata=~stype, weights=~pw, data=apistrat, fpc=~fpc)
Sur<-svyglm(api00~mobility, design=dstrat)
NotSur<-lm(api00~mobility, data=apistrat)
powerTransform(Sur)
powerTransform(NotSur)

但是我不认为调查对象的 powerTransformation 是正确的,因为你在运行时得到与 NotSur 相同的结果(并且与 Sur 不同)

None<-svydesign(id=~1, weights=rep(1,nrow(apistrat)), data=apistrat, )
Sur2<-svyglm(api00~mobility, design=None)
powerTransform(Sur2)

我更不确定您将如何找到多元正态性,因为您必须使用实际数据,例如

summary(powerTransform(cbind(api00,mobility)~1,apistrat))
4

2 回答 2

2

您提供的链接似乎是 SAS 中在数据步骤中运行的用户定义函数。应该可以将该方法重新编程到 R 中。

如果您在此处查看建议的 SAS 方法,您会看到它用于proc transreg估计所需的功率转换。该 SAS proc 不接受调查权重。我不确定该weight选项在该过程中的作用,请参见此处

更新:我仔细查看了您在此处提供的第一个链接。如果数据包含权重,则似乎在proc univariate激活weight选项的情况下进行加权。但是,如果您weight此处查看详细信息,您会发现权重用于操纵方差。我不确定您是否要为您的数据运行该假设。

于 2013-02-17T19:48:09.083 回答
0

在链接的 SAS 宏中使用权重应该可以很好地估计最佳转换,但可能会给出不合理的区间估计——因为对数似然比不会具有标准的卡方分布。

将权重缩放到样本大小的总和可能会给出一个大致正确的区间,但是 Box & Cox 方法的基于设计的适当模拟将需要“工作”似然比的抽样分布(如AICandanova方法所使用的)用于调查::svyglm)

于 2016-12-16T02:52:58.133 回答