问题标签 [pls]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2959 浏览

scikit-learn - 偏最小二乘方差由 sklearn 中的组件解释

我正在尝试使用来自 sklearn 的代码执行 PLSRegression,并且我想保留那些解释某种程度差异的组件,例如 PCA。

有没有办法知道 PLS 中的每个组件解释了多少方差

0 投票
1 回答
1002 浏览

r - R中的PLS:提取PRESS统计值

我对 R 比较陌生,目前正在使用 pls 包构建 PLS 模型。我有两个大小相等的独立数据集,第一个在这里用于校准模型。该数据集包含多个响应变量 (y) 和 101 个解释变量 (x),用于 28 个观测值。然而,响应变量将分别包含在 PLS 模型中。当前的代码如下所示:

我目前已经到了需要为每个响应变量决定要包含在我的 PLS 模型中的最佳组件数量的地步。RMSEP 值已经提供了一个不错的指示。但是,我还想根据与我正在进行的研究相当的各种研究,将我的决定基于 PRESS(预测残差平方和)统计数据。简而言之,我想为每个具有n 个组件的 PLS 模型提取 PRESS 统计量。

我浏览了 pls 包文档和整个网络,但不幸的是无法找到答案。如果有人在这里可以帮助我朝着正确的方向前进,将不胜感激!

0 投票
1 回答
795 浏览

c# - MATLAB 和 C# (Accord.NET) 中的 PLS 回归系数

我正在尝试在 C# 中执行偏最小二乘回归分析。在 MATLAB 中执行的 pls 技术使用提供 beta(回归系数矩阵)的 SIMPLS 算法。

  • 我不明白为什么两种情况下的矩阵都不同,我将输入传递给 C# 版本的方式是否有一些错误?

  • 此外,两者的输入相同,并且参考了此处包含的论文。

最小的工作示例

MATLAB:遵循 Hervé Abdi 的小例子(Hervé Abdi,偏最小二乘回归)。参考资料:PDF

雅阁网:

0 投票
0 回答
376 浏览

r - 向偏最小二乘回归 (PLS) 观察图中添加椭圆

我有两个运行 PLS 的数据矩阵(预测矩阵和响应矩阵)。我的问题是“清洁地点和污染地点之间的关系有何不同?”

我可以在情节上观察到这一点,但希望每个组周围都有椭圆 - 清洁和污染。 PLS 清洁和污染

我的代码是:

但后来我收到一个错误:

score.default(ord, display = display, ...) 中的错误:找不到分数

我使用的包是plsdepotvegan.

dput(data)

0 投票
0 回答
292 浏览

r - R中的PLS回归:测试替代模型规范

在 R 中,我想测试偏最小二乘 (PLS) 模型 m1 与非嵌套替代 m2 的规范,应用 Davidson-MacKinnon J 测试。对于简单的线性结果 Y,使用 plsr 估计器后跟 jtest 命令可以很好地工作:

但是,如果我使用广义线性模型 (plsRglm) 估计器来解释结果的可能非线性分布,例如:

使用 jtest 时遇到错误:

似乎 plsRglm 不保存 jtest 可以处理的“公式”类的对象。有没有人建议如何编辑我的代码以使其正常工作?

谢谢!

0 投票
0 回答
217 浏览

r - 在 R 中从 PLSR 加载构建组件

我想使用函数使用 PLSR 的载荷(权重)计算一组变量的分量plsr

我认为这些组件是通过将每个变量的值乘以估计的负载(重量)来计算的。

但是,使用输出plsr并这样做并没有给我预期的值:

例子:

提取载荷/重量:

一项测试观察:

提取组件(分数):

做线性组合:

哪个不等于第一个分数scores[1,1]=0.5100166

我错过了什么?

使用sense.pcr$loadings.weigths也没有什么大的不同。

0 投票
1 回答
1679 浏览

r - 比较来自 pls 包的 PCR 函数中的所有变量,R

我正在尝试在 R 中进行主成分回归分析(PCR)。通常我会做 PCA(主成分分析),但是我有多重共线性并且已经读到 PCR 可以处理这个问题。

我正在使用包中的pcr功能pls。这需要一个公式来识别要比较的变量。我希望能够像 PCA 那样将每个变量与其他所有变量进行比较。然而,在这个函数中,我只能弄清楚如何将一个变量与其他所有变量进行比较,并且根据我选择的变量,结果会发生变化。当然,我可能没有正确理解 PCR。

这是使用iris数据集的示例。

Petal.Length所有其他变量相比:

在此处输入图像描述

Sepal.Width与其他所有变量相比使用:

在此处输入图像描述

我的理解是,在公式中包含.after意味着“与其他所有内容进行比较”。~如果是这样,那么我如何才能.~.将每个变量与其他所有变量进行比较?

0 投票
1 回答
129 浏览

r - pls 中的组件名称

我正在使用该pls软件包,文档很棒且易于理解,但所有内容都以“组件”的形式引用和绘制,这些组件已编号。我如何知道 1-n 指的是哪些预测变量“组件”?看起来我最好的模型将包含 6 个组件,我真的很好奇这些是什么。

我的模型适合这样:

0 投票
1 回答
192 浏览

r - 应用 PLSDA 模型来预测另一个数据?

我正在使用 PLSDA 开发一个判别模型(mixOmics 包,该模型通过外部验证运行良好。要进行外部验证,我使用 predict() 函数。但是,假设现在我必须将此预测方程/模型提供给我的合作伙伴那应该如何工作?在一个简单的偏最小二乘回归中,我们可以选择提取系数,但是使用 plsda 我看不到。你能给我一些建议吗?谢谢

0 投票
0 回答
81 浏览

r - 使用需要在 knitr 中输入的 R 函数来生成静态报告

我正在尝试使用 plspm 库中的函数 rebus.pls 。此函数生成树状图,然后在继续之前提示用户输入(所需类的数量)。(抱歉,我无法提供代码示例,因为使用此功能需要大量数据。)

我想使用 knitr 生成我的分析过程的静态报告。我会对在编织期间提供输入(乏味但产生所需的输出)或在 Rmd 文档中指定输入(首选解决方案)感到满意。

函数 rebus.pls 没有记录为接受可选参数来提供类的数量。文档也没有给我可以提前设置的全局变量的名称。因此,我相信我仅限于在编织期间提供输入,或者通过提前告诉 knitr “当提示用户输入时,使用此响应”来模拟它。我找不到做这两件事中的任何一件的说明;我只找到了关于如何使用 Shiny 创建交互式 HTML 输出的描述。

我目前正在通过在 RStudio 中使用“knit”来生成报告,但可以使用 *nix 命令行解决方案,例如

这是我能做的最好的事情,还是有其他解决方案可以解决我的问题“当使用需要用户输入的功能时,当所需的输出是使用硬编码输入的静态 PDF 报告时,如何使用 knitr?” 我更喜欢自我记录的东西。