【发布时间】:2013-01-08 17:40:21
【问题描述】:
我正在使用 OLS 拟合线性模型,并使用 R 中的函数 scale 缩放我的回归量,因为变量之间的度量单位不同。然后,我使用 lm 命令拟合模型并获得拟合模型的系数。据我所知,拟合模型的系数与原始回归变量的单位不同,因此必须先按比例缩小,然后才能对其进行解释。我一直在寻找一种直接的方法来做到这一点,但找不到任何东西。有人知道怎么做吗?
请看一下代码,你能帮我实现你的建议吗?
library(zoo)
filename="DataReg4.csv"
filepath=paste("C:/Reg/",filename, sep="")
separator=";"
readfile=read.zoo(filepath, sep=separator, header=T, format = "%m/%d/%Y", dec=".")
readfile=as.data.frame(readfile)
str(readfile)
DF=readfile
DF=as.data.frame(scale(DF))
fm=lm(USD_EUR~diff_int+GDP_US+Net.exports.Eur,data=DF)
summary(fm)
plot(fm)
对不起,这是数据。
【问题讨论】:
-
据我所知,我认为在拟合线性模型之前不需要缩放它们。如果我理解错了,你还能举一些可重复的例子吗?
-
嗨,总的来说,您是对的,但我了解到,当存在多重共线性迹象或回归变量之间的测量单位有很大差异时,这是一种很好的做法。我在一个玩具示例中工作,我使用 USD.EUR 作为响应,使用 GDP、出口、进口等作为回归量。拟合模型存在高度的多重共线性。可能会测试许多不同的技术,但现在我想检查一下。
-
@liuminzhao 你没有,但如果你想比较效应大小以帮助解释模型、变量的重要性等,那么如果这些变量是在不同的尺度上测量的,那么标准化它们是一种实现通用比较尺度的方法。
-
@user1228124 和加文。感谢您的建议。学到了很多。
标签: r transform regression