通过PLS回归预测连续变量(mixOmics)

时间:2020-08-05 20:56:27

标签: r predict

我正在使用mixOmics软件包进行PLS回归,但在预测部分却遇到了困难。因此,如果我的三个成分为pls.res的模型,则predict(pls.res, newdata)给出一个包含predictvariatesB.hat的列表。 predict是尺寸为100x1x3的矩阵。该文档说,后者是模型尺寸。由于我的响应仅是一维向量,因此我猜模型尺寸与组件相对应。但是如何从PLS模型中获得最准确的Y预测?

一个例子;如果我想使用PLS回归从mtcars数据集中预测重量:

library("mixOmics")
df <- mtcars
pls.res <- pls(df[,1:5], df$wt, mode = "regression")
pls.pred <- predict(pls.res, df[,1:5])
head(pls.pred)

产生以下(截短的)输出

$predict
, , dim1
                           Y
Mazda RX4           2.857348
Mazda RX4 Wag       2.857348
...

, , dim2
                           Y
Mazda RX4           2.847449
Mazda RX4 Wag       2.847449
...

$variates
                          dim1        dim2
Mazda RX4           -0.8392959 -0.02104679
Mazda RX4 Wag       -0.8392959 -0.02104679
...

$B.hat
, , dim1
              Y
mpg  -0.2161400
cyl   0.1949251
...

, , dim2
                 Y
mpg  -0.4171832787
cyl   0.0002618905
...

$call
predict.mixo_pls(object = pls.res, newdata = df[, 1:5])

而且我不了解$ predict的(在这种情况下)两个维度之间的区别

0 个答案:

没有答案