r - 如何从 pls 模型中解释 y 方差
问题描述
我已经用“PLS”包计算了一个 PLS 模型,我想绘制解释的 Y 方差。我尝试查看创建的变量,但找不到任何相关的内容。但是,我可以找到解释的 X 方差和总 X 方差。当我在我的模型上使用汇总函数时,我确实看到了我想要的数字,但我无法找出如何提取它们以便我可以绘制它们。
完美的场景是如果有一个包含 X 和 Y 方差的默认图,但我认为没有。
library(pls)
data <- (data containing y for Y and everything else for X)
plsmodel <- plsr(y~., ncomp=10, data=data, validation="CV", scale=TRUE, segment.type="random", method="simpls")
View(plsmodel)
summary(plsmodel)
Data: X dimension: 70 19
Y dimension: 70 1
Fit method: simpls
Number of components considered: 10
VALIDATION: RMSEP
Cross-validated using 10 random segments.
(Intercept) 1 comps 2 comps 3 comps 4 comps 5 comps 6 comps 7 comps 8 comps 9 comps 10 comps
CV 315.5 148.4 121.3 110.7 115.2 114.7 116.3 126.2 145.9 143.4 144.1
adjCV 315.5 147.9 120.2 110.4 112.9 112.8 114.1 123.2 141.4 139.2 139.8
TRAINING: % variance explained
1 comps 2 comps 3 comps 4 comps 5 comps 6 comps 7 comps 8 comps 9 comps 10 comps
X 86.88 91.50 94.95 95.98 98.19 98.79 99.08 99.28 99.52 99.74
y 79.79 87.86 89.78 92.48 93.26 93.87 94.19 94.40 94.53 94.64
这是我正在寻找的摘要的最后一行。
解决方案
你可以这样查看摘要代码:
pls:::summary.mvr
你可以得到这样的信息:
# X Variance
cumsum(explvar(plsmodel))
# Y Variance
drop(R2(plsmodel, estimate = "train", intercept = FALSE)$val)
推荐阅读
- c# - HtmlAgilityPack 问题
- excel - Excel - 通过查找编号和查找数据获取两张工作表之间的数据
- ios - 如何通过淡入和淡出在一个标签中显示多个文本的数组
- azure-data-factory - 集成 Azure 数据工厂和 Slack 的最佳实践?
- css - CSS 与 React Native
- r - 如何拆分 .mgf 文件
- r - 如何在R中替换各种NA(真正的NA和字符串)
- sql-server - SQL Server 替换函数中的正则表达式
- java - 通知用户有关可用的新 android 应用程序版本。Android Studio (Java) 中的 Firebase 函数
- c# - 如何将流从 Delphi 传递到 C#?