【问题标题】:Issues with running Ridge regression运行岭回归的问题
【发布时间】:2016-06-22 06:17:14
【问题描述】:

我曾经使用 Erica Cule 的一个名为“ridge”的包来运行岭回归,但它似乎已从 CRAN 网站上删除。查看各种帮助似乎至少有 2 个其他软件包可以运行它(genridge 和 MASS)。但是,当我运行分析时,我得到了我知道是错误的结果(我将结果与 SPSS Ridge 例程进行了比较,该例程已经建立了很长时间,并且我使用了相同的数据来比较与 SPSS 具有相同结果的 ridge 包)。

我正在使用最新版本的 R (3.2.3)。数据是标准回归类型数据,因此所有数据都在 7 点语义尺度上,没有缺失数据(缺失数据被平均值替换),变量之间存在很强的相关性(通常为 0.5 及以上),因此您会期望看到岭回归中的大惩罚效应。

当我在这两种方法中运行分析时,系数基本上不会随着 lambda 的增加而改变(只改变到小数点后 4 位)。

你有什么想法吗?

###################################
#genridge
###################################

library(genridge)

regdata <- read.csv(file = "Finaldata.csv", na.strings = "#NULL!")

lridge <- ridge(Q13 ~ Q12_1 + Q12_2 + Q12_3 + Q12_4 + Q12_5 + Q12_6 + Q12_7 + Q12_8, data = regdata, lambda = seq(0,5,0.2))
coef(lridge)


###################################
#lm.ridge
###################################

library(MASS)

lridge <- lm.ridge(Q13 ~ Q12_1 + Q12_2 + Q12_3 + Q12_4 + Q12_5 + Q12_6 + Q12_7 + Q12_8, regdata, lambda = seq(0,5,0.2))
lridge$coef

数据看起来像这样

serial  Q13 Q12_1   Q12_2   Q12_3   Q12_4   Q12_5   Q12_6   Q12_7   Q12_8
12  6   6   5   5   6   6   6   6   6
13  5   5   6   5   5   3   4   5   4
16  5   6   6   6   5   7   7   4   5
20  7   7   6   6   6   6   6   6   7
22  2   1   4   4   3   4   4   4   4
25  6   6   7   6   6   6   6   6   6

genridge 的输出

        Q12_1       Q12_2     Q12_3     Q12_4       Q12_5     Q12_6      Q12_7     Q12_8
0.0 0.2915857 -0.06272736 0.1030976 0.2877907 -0.02847326 0.1817142 0.08490121 0.1303255
0.2 0.2914957 -0.06265994 0.1031015 0.2877065 -0.02837763 0.1816626 0.08487546 0.1303682
0.4 0.2914057 -0.06259260 0.1031054 0.2876224 -0.02828214 0.1816110 0.08484980 0.1304108
0.6 0.2913159 -0.06252533 0.1031093 0.2875384 -0.02818680 0.1815595 0.08482421 0.1304532
0.8 0.2912262 -0.06245813 0.1031132 0.2874544 -0.02809159 0.1815082 0.08479870 0.1304956
1.0 0.2911365 -0.06239101 0.1031171 0.2873705 -0.02799653 0.1814569 0.08477326 0.1305378

【问题讨论】:

  • 有什么原因你没有尝试glmnet

标签: r regression


【解决方案1】:

你可以试试 glmnet R 包。

此外,如果您的数据量不大,您可以考虑使用岭回归 作为一个增强的普通最小二乘问题

这是很好地解释了这个想法的链接 http://statweb.stanford.edu/~tibs/sta305files/Rudyregularization.pdf

【讨论】:

    猜你喜欢
    • 2019-09-17
    • 2019-06-03
    • 2012-10-07
    • 2016-10-21
    • 2017-08-13
    • 2018-11-17
    • 2022-01-20
    • 2020-09-21
    • 2016-06-28
    相关资源
    最近更新 更多