PLS平台未经验证即可改装+如何使用引导程序?你好
1)我正在做PLS,我有42个观察结果。 可能的预测变量的数量从24到79到240不等,具体取决于我预选了多少变量。 我的Y是2或3。 运行平台启动后,我进入NIPALS / SIMPLS部分,无论我使用哪种类型的验证(Kfold,kave,e holdout)或选择多少因素-我总是会收到错误-“最佳模型具有0个因素,未经验证即进行改装”。有什么建议我可以解决吗? 我真的很想使用PLS,但是没有任何验证的建模就太适合了...
2)一旦获得结果,我就有了预测公式。 引导程序将如何进行? 关于引导结果的过程,我有很多不确定性。我希望JMP已经将引导程序引入了验证过程。 我假设我需要对自举系数进行平均,但要重新启动该表,整个模型公司。 k折验证(如果可行)? 如果是这样,我应该使用居中和按比例缩放的数据还是原始系数? 我必须手动将结果作为公式输入,所以我假设我应该引导原始系数,但是会使用居中的缩放数据运行模型并提供原始系数,还是使用原始系数运行模型? 从过程的角度来看,整个过程对我来说还很不清楚,即为了达到我想要的结果,一步一步发生了什么。任何帮助/见解将不胜感激!
谢谢,
乌里尔
分析工具回复:PLS平台未经验证即可进行改装+如何使用引导程序?你好@utkcito ,
首先,PLS可能不是用于数据的最佳平台。 最好将其作为GenReg或Stepwise来运行,以查看哪些预测变量在模型中实际上很重要。 我确实很奇怪,您的预测变量的数量范围是24至240。 相对于可能的预测变量数量而言,观察值很少,因此您实际上应该进行一些预测变量筛选,以确保模型中没有添加过多不必要的因素。 PLS可以解决这个问题,但是预测变量也需要与响应保持一致,否则会出现错误-这意味着预测变量没有线性组合可以解释响应的变化。 但是,如果必须使用PLS并且没有其他选择,则可能需要考虑将响应从分类(2或3)更改为顺序(2或3)。 它可能能够找到更好的数值解。 我也强烈建议您调查并使用自动验证检查大量预测变量的方法。
其次,当JMP执行任何拟合时,我相信在后台它总是使用居中和缩放的数据来获得更好的估计值,然后回算实际估计值。 因此,最终引导程序并不重要,但是解释实际的估计引导程序而不是集中和按比例缩放的数据可能更有意义或更容易。 是的,引导估计值将使用您正在执行的任何验证重新运行拟合。
最后,要引导估算,请右键单击JMP报告中的列估算,然后选择引导程序。 如果速度很快,则输入5000,但如果速度缓慢,则将其保持为2500。 确保选中“分数重量”框。 它将重新运行拟合多次,然后为预测变量的每个系数分配一个值(只需在输出数据表中运行“ distribution”脚本)即可。 然后,随着显示的分布和统计信息,您可以右键单击摘要统计信息,然后选择“制作为合并数据表”。 确保还自定义汇总统计信息以显示非零比例。
合并的数据表将包含估计值的平均值和非零比例。 在那里您可以看到平均值(典型值)以及该估算值非零的频率(百分比)-如果该数字很小,则估算值通常为零。 如果很大,那么大多数时候它都不为零。 这是确定模型中需要或不需要的术语的好方法。
希望这可以帮助,
DS
回复:PLS平台未经验证即可进行改装+如何使用引导程序?DS,您好!
1)之所以有24到237个变量,是因为它取决于我选择多少变量。 24是自举法则,然后我可以做* 2阶乘。 237是整套细胞因子。
2)预测变量也需要与响应保持一致,否则会出现错误-这意味着预测变量没有线性组合可以解释响应的变化。”您能解释的还不止于此吗? 我认为协方差是相互之间的,即它们是多重共线性的,并且PLS通过创建作为协方差基础的因子来使用变量之间的协方差。 当您说他们必须与响应。 我很难想到,在24、79或237个细胞因子变量中(它们实际上是纵向测量值的平均值,中位数和IQR),它们之间没有线性组合可以解释反应的任何变化(ICU中的严重疾病);实际上已经建立了他们在其他设置中进行的设置,因此我不明白为什么JMP会这样做。
3)感谢您对如何实现引导的解释,这更加有意义,我尝试了一下,并且可以工作。 我总是感到惊讶的是,JMP的正式文档几乎无济于事,关于它如何工作以及如何使其工作的细节很少,并且论坛,教程等实际上没有多少帮助。
非常感谢!
乌里尔
回复:PLS平台未经验证即可进行改装+如何使用引导程序?你好@utkcito ,
现在,我了解了“ bootstrap”的最初含义-运行bootstrap平台是一个不错的方法,但是您还希望使用神经网络,GenReg,boosted树运行预测模型,甚至获得XGBoost附加功能-在验证测试集上比较不同的预测公式。 这样做时,您需要确定并调整设置,以便获得最佳配合-默认配合并不总是那么好。
但是,关于树方法的一个好处是,它是一种聚合方法,它使用许多不同的决策树来提出模型。 如果这些因素对它们的贡献不是很重要,则它们将自动被推低,并且不会显示出对整个模型的巨大贡献。 尽管如此,由于随机启动和决策过程,引导林和增强树方法并不是特别稳定-当您运行相同的设置数百次时,您会发现实际上得到的答案和公式略有不同。 这就是为什么最好在输出报告中引导“ SS”或“部分”(例如在引导林中)以更好地估计该因素在模型中的强弱程度的原因。
话虽如此,您将需要确保使用交叉验证方法以确保您不会过拟合。 而且,由于数据表相对较短(没有很多测量值),如果不使用留一法,很难做到这一点,除非您使用我在上一个答复中提到的自动验证方法。 K折交叉验证对您来说也可能是一个好方法。
我不确定您的输入数据是什么样子,但是听起来几乎就像JMP所说的“功能数据”一样,例如光谱或其他规则间隔的数据,其中每个波长(或x值)都与其邻居相关。 您可能想研究使用功能数据浏览器来生成更好的预测变量子集。 或者,PCA也是减少预测变量的维数并使用较小的一组正交向量来建模数据的好方法。
关于您的观点:
1)是否有理论上(生物学上,化学上,物理上)的理由包含与* 2阶乘方法这么多不同的交叉项? 如果您没有理论上的理由将它们包括在内,那么它就没有太大意义,您可能会引入错误的预测器。
2)在PLS平台中,同样重要的是,还要在报告的“解释的变化百分比”下查看累积Y响应。 如果您的预测变量的线性组合不能解释Y的大部分响应,那么您解释的百分比变化将非常低,这表明您的预测变量在解释Y的变化的线性组合方面没有做得特别出色,而平台可能会更好地工作。 由于响应测量值很少,因此尝试拟合如此大量的预测变量可能会导致拟合过度,因为您没有足够的自由度。 与PLS一起,您可能要考虑在Multivariate Analysis下查看因子分析平台。 我认为您的细胞因子变量可能太多,您失去了自由度。 想象一下,有两个点并拟合一条直线,或三个点并拟合抛物线,您将得到完美的拟合,因为这恰好是拟合这些多项式所需的最小点数,但是,您失去了任何自由度,并且无法再估计误差或合适的质量。 我认为这就是PLS平台中正在发生的事情。
3)社区页面是最好的。 我一直在检查它们,尤其是在JMP中编写JSL脚本时。 几乎总是有别人解决的一小段代码,这正是我工作所需的。 我也很乐于解答所有问题,并能帮助我,尤其是当我学习新知识时。
祝你好运!,
DS