如何通过plsr获得R的权重矩阵?
我在R中使用plsr包,使用SIMPLS方法,但这没有给我权重矩阵W,有人可以帮助我,告诉我如何创建或获得这个W矩阵?这是我代码的一部分:如何通过plsr获得R的权重矩阵?,r,matrix,least-squares,R,Matrix,Least Squares,我在R中使用plsr包,使用SIMPLS方法,但这没有给我权重矩阵W,有人可以帮助我,告诉我如何创建或获得这个W矩阵?这是我代码的一部分: plsr(Y ~ X, ncomp, validation = "CV", dframe = T, method = "SIMPLS") 我需要W矩阵来实现VIP方法 library(pls) #only for preloaded data library(plsdepot) plsreg1(yarn$NIR, yarn$density) #using
plsr(Y ~ X, ncomp, validation = "CV", dframe = T, method = "SIMPLS")
我需要W矩阵来实现VIP方法
library(pls) #only for preloaded data
library(plsdepot)
plsreg1(yarn$NIR, yarn$density) #using preloaded yarn dataset from pls library
PLS Regression 1
--------------------------------------------
$x.scores X-scores (T-components)
$x.loads X-loadings
$y.scores Y-scores (U-components)
$y.loads Y-loadings
$cor.xyt score correlations
$raw.wgs raw weights
$mod.wgs modified weights
$std.coefs standard coefficients
$reg.coefs regular coefficients
$R2 R-squared
$R2Xy explained variance of X-y by T
$y.pred y-predicted
$resid residuals
$T2 T2 hotelling
$Q2 Q2 cross validation
--------------------------------------------
我们可以通过以下方式获取原始重量:
#Example of first 5 rows of weights matrix.
head(plsreg1(yarn$NIR, yarn$density)$raw.wgs #or plsreg1(yarn$NIR, yarn$density)[6]
w1 w2
X1 0.01716477 -0.04809644
X2 0.03875600 -0.06025352
X3 0.04857839 -0.06807797
X4 0.05023674 -0.07540982
X5 0.04571729 -0.08515648
X6 0.03690089 -0.09647263
$mod.wgs修改权重也是如此
请向我们提供数据(即什么是T
?),并更彻底地解释问题。“但这没有给我权重矩阵W”-命令plsr
是否假设返回一个W矩阵?如果是,并且它没有返回,那么您是否收到警告消息或错误?另外,在传递过程中-dframe
和method=simples
的大写字母看起来很奇怪,请尝试使用plsr(Y~X,ncomp,validation=“CV”,data=T,method=“simples”)
T=TRUE
。事实上,代码运行得很好,在Matlab中,plsregress
(包)返回一个W矩阵(权重矩阵),但在R中,plsr
没有这个选项,我需要一个替代方法来获得W矩阵。这是matlab的实现,它是什么权重矩阵?我也试过代码,它会返回一个错误,除非使用小写的simples。你是对的,它是小写的,我的抄本是错的,但这不是问题所在,Thnx