r - 如何进行 lm.ridge 摘要?

标签 r regression lm summary

我想知道有没有办法在 R 中输出岭回归的摘要? 它是 lm.ridge{MASS} 函数的结果。

对于标准线性模型,您只需执行summary(lm_model),但是岭回归模型呢? 感谢您的帮助。

最佳答案

我刚刚添加了一个方法,该方法将(或更准确地说, tidies )"ridgelm" 对象汇总到我的 broom 中包裹。它采用两个 S3 泛型的形式:tidyglance。您可以使用 devtools::install_github("dgrtwo/broom") 安装它(尽管您需要先安装 devtools)。

作为示例,让我们设置岭回归:

library(MASS)
names(longley)[1] <- "y"
fit <- lm.ridge(y ~ ., longley, lambda = seq(0.001, .05, .001))

tidy 函数提供了一个数据框,显示 lambda 和估计项的每种组合:

library(broom)
td <- tidy(fit)
head(td)
##   lambda    GCV term estimate
## 1  0.001 0.1240  GNP    23.02
## 2  0.002 0.1217  GNP    21.27
## 3  0.003 0.1205  GNP    19.88
## 4  0.004 0.1199  GNP    18.75
## 5  0.005 0.1196  GNP    17.80
## 6  0.006 0.1196  GNP    16.99

虽然 glance 函数创建单行摘要,特别是通过各种方法选择 lambda:

g <- glance(fit)
g
##       kHKB     kLW lambdaGCV
## 1 0.006837 0.05267     0.006

这很有用,因为它使您可以轻松地自己绘制和探索数据,而不是依赖 MASS 绘图仪:

library(ggplot2)
ggplot(td, aes(lambda, estimate, color = term)) + geom_line()

enter image description here

# plot of GCV versus lambda
ggplot(td, aes(lambda, GCV)) + geom_line() +
    geom_vline(xintercept = g$lambdaGCV, col = "red", lty = 2)

enter image description here

有关这些方法的更多信息,请参阅 ?ridgelm_tidiers,或者参阅包的插图以了解有关 tidyglance 方法的一般信息。

关于r - 如何进行 lm.ridge 摘要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26364665/

相关文章:

r - 如何在 R 中的 ns() 中指定度数参数,以构造 5 度自然样条?

r - 在没有截距的情况下在 R 中创建线性模型矩阵

python-3.x - XGBoost 最佳迭代

r - 提取 PCA 轴以进行进一步分析

r - 如何将不同长度的时间序列围绕 ggplot 图形中的特定点居中

r - 在 ggplot2 的 facet-grid/facet_wrap 中调整面板的相对空间

r - 如何在 R 中的 lm 中获得有序分类变量的 0-1 虚拟变量?

r - 为什么内置的 lm 函数在 R 中这么慢?

r - 如何修复 "Subscript out of bounds error"

r - dplyr 中同名的分割因子