Я выполняю регрессию PLS с пакетом mixOmics, но борюсь с частью прогнозирования. Итак, если моя модель с тремя компонентами - pls.res
, predict(pls.res, newdata)
дает список с predict
, variates
и B.hat
. predict
- матрица размером 100x1x3. В документации сказано, что последний размер - это размеры модели. Поскольку мой ответ представляет собой только одномерный вектор, я предполагаю, что размеры модели соответствуют компонентам. Но как я могу получить наиболее точное предсказание Y из модели PLS?
Пример; если я хочу предсказать wt из набора данных mtcars с использованием регрессии PLS:
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])
, и я не понимаю разницы между ( в данном случае) два измерения $ предсказать