【问题标题】:Differences between stepAIC in R and stepwise in SPSSR中的stepAIC和SPSS中的stepwise之间的差异
【发布时间】:2014-09-10 16:15:58
【问题描述】:

在学习 SPSS 并使用 SPSS 对几篇论文进行统计后,我正在尝试学习 R。我也一直在使用我的数据来帮助我学习和理解 R。在我的数据中,我必须在 SPSS 中找到一些线性回归,使用逐步比较来消除不“适合”模型的变量。我尝试将 stepAIC 与 MASS 包一起使用,因为我认为它是等价的,并且得到了一些完全不同的输出,以及我不理解且必须查找的内容。我的问题是,SPSS 中的 stepwise 和 stepAIC 有什么区别? (stepwise 比 stepAIC 更保守吗?)有没有办法编写 stepAIC 代码,相当于 stepwise?或者有什么不同的包可以帮助我吗?

这是我的代码:

mydata <- read.csv("Eric.csv")
AveSBP <- mydata[, 3]
MaxVi <- mydata[, 7]
PeakForce <- mydata[, 8]
MaxPO <- mydata[, 9]
Height <- mydata[, 10]
BMI <- mydata[, 11]
NeckCirc <- mydata[, 12]
ArmLength <- mydata[, 13]
ArmSpan <- mydata[, 14]
WaistCircum <- mydata[, 15]
LegLength <- mydata[, 16]
FatAth <- mydata[, 17]
Diff <- mydata[, 18]
Ratio <- mydata[, 19]
lm1 <- lm(AveSBP ~ MaxVi + PeakForce + MaxPO + Height + BMI + NeckCirc + ArmLength + ArmSpan + WaistCircum + LegLength + FatAth + Diff + Ratio)
summary(lm1)
stepAIC(lm1, directions="both")

我在 Windows 7 Pro x64、R x64 3.1.0 和 SPSS x64 v21 上运行它们。

【问题讨论】:

  • 自包含的、可重复的示例,请在 spss 和 r 之间存在分歧。此外,spss 的逐步函数的源代码也会有所帮助。您正在构建 lm 奇怪并且在 MASS::stepAIC 中拼写 direction 错误。您还应该指定运行代码所需的所有包
  • 最好只为 data.frame 的列命名(如果它们不存在的话),而不是将列放在它们自己的向量中。然后你会像你一样使用lm,但只需添加参数data=mydata
  • @rawr 我确实在 SPSS 上运行了“Enter”方法,并与 summary(lm1) 输出进行了比较,结果完美排列。所以 stepwise 和 stepAIC 方法之间有些不同。我还一起删除了方向(stepAIC(lm1)),并得到了与方向“both”完全相同的输出。我也只加载了 3.1.0 的标准 R 版本的 MASS 包。我正在尝试查找逐步代码。
  • @Dason 我实际上需要将它们作为单独的列进行其他比较,并且需要选择单个向量,并帮助我根据我分配给每个向量的内容来识别所有内容。
  • 它们已经是单独的列。我只是想知道你为什么要经历并将它们分配给对象,而不是仅仅将它们作为数据框中的变量引用。

标签: r regression spss


【解决方案1】:

SPSS 在线性回归中不使用逐步(向前或向后)的 AIC 标准,因此不能保证它们会收敛到相同的解决方案。请参阅the SPSS help files,了解回归及其使用的 F 值标准。

一些快速的谷歌搜索提供了这个answer by Joris Meys 用于 R 函数来复制这种类型的选择标准。

强制说明,你真的要使用逐步回归to select the model吗?

【讨论】:

  • 逐步回归只是为了完成我的论文数据。我为我的演示文稿和准备出版时进行了多变量和聚类分析。
猜你喜欢
  • 2017-06-27
  • 2016-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-12
  • 2016-05-24
  • 1970-01-01
相关资源
最近更新 更多