在R或Minitab PLS回归菜单中使用plsr()函数时,会使用不同的PLS模型

时间:2019-12-06 15:00:53

标签: r minitab pls

我有一个用plsr()函数在R中制成的PLS模型(来自软件包pls);我通过交叉验证选择了正确数量的组件,并且运行良好,R^2_predicted的级别很高(> 0.85,这对我的应用程序来说是相当不错的)。 我试图检查使用PLS回归工具分析相同数据集时,在R下构建的模型是否与Minitab可以得到的模型相同

菜单状态->回归-> PLS )。

我正在R和Minitab中使用完全相同的数据集,但无法获得相同的模型:当我使用

比较R模型中的系数时
coef(PLS_model, ncomp = N_selected, intercept = TRUE)

使用Minitab(Coefficents表)的输出,我得到了不同的结果。

我尝试了几种算法(kernelplssimplsoscorespls,它们都可以在函数plsr()中使用)以及不同的函数(例如pls1_nipals()来自软件包chemometrics),但它们都给出了非常相似的答案,而且都没有关闭Minitab输出。 根据手册,Minitab应该使用NIPALS算法,oscorespls也会这样做。

使用以下语法为软件包pls构建模型:

PLS_model_a = plsr(Y~., data=train_data, n_comp_max=20, validation="LOO", method="kernelpls")

和此软件包“化学计量学”

PLS_model_b = pls1_nipals(X, Y, 20,)

以这两种方式生成的模型是相同的,但是对于这两种方式,其系数与Minitab输出有显着差异。请注意,Minitab模型也是R^2_pred高的好模型。

有人试图做同样的比较吗?有什么建议吗? 感谢您的帮助!

0 个答案:

没有答案