如何从 pls 模型中获得解释的 y 方差
How to get y variance explained from a pls model
我用 "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)
我用 "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)