用于优化 QSAR 回归方程的遗传算法、模拟退火等我对为 QSAR 相关问题创建回归方程感兴趣。总体思路是从许多(>200)个自变量或描述符池中找到一个线性回归方程来预测一个因变量。通常,行/观察的数量很小(至少 n=50)。
有多种方法可以使用 JMP 中的广义回归来实现此目的。虽然惩罚回归方法或简单的前向或后向消除可以找到“好的”线性回归方程,但我担心这些方法可能找不到全局最优解,并且它们会陷入局部最小值。
JMP 之外还有其他技术可以对更多可能的选择进行采样,例如:遗传算法、模拟退火、粒子群优化、蚂蚁/蜂群等,方法是获取描述符子集、使用函数评估结果模型、分割增加子集以创建和评估新的子集。
我想知道是否有人已经创建了一种在 JMP 内执行此操作的方法,甚至有一种方法可以在 JMP 之外执行此操作(例如,在 R、Python、Matlab、SAS 等中),并且也许可以想到一种加载项的方法JMP 中有此功能吗?我的具体需求是制作线性回归方程,而不是神经网络、随机森林或 JMP 也可以制作的其他类型的模型。
自动化和脚本编写数据存取回复:用于优化 QSAR 回归方程的遗传算法、模拟退火等除了建议可以编写 JSL 来进行模拟退火和系统模拟之外,这些都没有帮助:
如何使用定义类退火/弹簧力
万圣节三部曲:合而为一退火/弹簧力
风可视化系统的模拟/可视化
视频群/群/学校蜂拥/聚集
这些是 JSL 密集型项目;当您沿着这条路走下去之后,您将会对 JSL 了解很多。
回复:用于优化 QSAR 回归方程的遗传算法、模拟退火等我知道@P_巴特尔喜欢 PLS,它在很多地方都是一个很好的解决方案。 我是树方法的超级粉丝,最近发布了 XGBoost 的插件: JMP Pro 的 XGBoost 插件
由于听起来您拥有 JMP Pro 许可证,因此可能值得您花时间查看一下。
回复:用于优化 QSAR 回归方程的遗传算法、模拟退火等我不清楚你所说的“变量子集”是什么意思……如果变量选择是你解决问题的目标的一部分,那么 PLS 可以很好地使用。 您可以在 JMP Pro 中灵活选择要使用的潜在因子的数量。 然后找到该构造中最有影响力的变量...JMP Pro 还具有一组灵活的交叉验证方法...KFold 可能最适合您的浅层数据?
回复:用于优化 QSAR 回归方程的遗传算法、模拟退火等PLS 的一个问题是它不会选择自变量的子集,而只会包含每个自变量。这可能会导致过度拟合问题。
回复:用于优化 QSAR 回归方程的遗传算法、模拟退火等惩罚方法是一种方法。 但是你考虑过偏最小二乘吗? 您的数据集又宽又浅。 为 PLS 量身定制。 仍然是一个线性方程。 如果你的预测因素是相关的……那就更好了。