如何通过 PCA 选择自变量?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />大家好,
为了开发预测模型,我需要准确过滤要使用的变量。 具体来说,我想使用不相关的变量。 一种有效的方法是应用 PCA 并选择特征值 > 1.0 的变量。 如果我将此示例应用于 JMP 示例(主成分报告),那么我将只选择 1 个变量。 在我的数据中,特征值 > 1.0 的变量数为 9。 因此,我毫无疑问地知道我想要多少变量。 我不清楚的是如何确认JMP 报告中的这些变量。 如果我再次使用 JMP 示例(主成分报告),我如何识别提供 4.7850 的 Egeinvalue 的变量(在六个变量中)?
谢谢,
大卫
Re: 如何通过 PCA 选择自变量?是的你是对的。
我在想我能够在原始属性中选择一组属性,而使用 PCA 我可以创建新属性(通过使用原始属性)。
话题已关闭。 非常感谢您的支持!
戴维德
Re: 如何通过 PCA 选择自变量?大卫,
你在寻找特征向量吗?它们在 JMP 中可用(在红色三角形下方)。请记住,PCA 是一种“降维”技术,每个 PC 都是所有变量的组合。
彼得确实对使用替代方法进行变量选择提出了很好的观点。
凯伦
Re: 如何通过 PCA 选择自变量?您可能会从这种方法中丢失大量信息,但这应该能够提取出彼此之间“相关性最低”的 3 种材料。它们肯定不会是正交的。为了得到你想要的答案,可能有更好的方法来构建这个(就像彼得所说的那样)。
*注意,这纯粹是编造的,我不知道它有多好。在我的脑海中,它可以满足我认为你的要求是有道理的”
dt =打开( "$Sample_DATA\溶解度.jmp" );
//对所有化学品进行多元分析
mv =多变量(
Y(
:姓名( “1-辛醇” ),
:醚,
:氯仿,
:苯,
:四氯化碳,
:己烷
),
估计方法( “逐行” ),
矩阵格式( “正方形” ),
散点图矩阵(
密度椭圆( 1 ),
阴影椭圆( 0 ),
椭圆颜色( 3 )
)
);
mv_r = mv <<报告;
//将相关性制作成数据表
dt_corr = mv_r [矩阵盒( 1 )]<<制作成数据表();
//总结所有相关性
dt_corr <<新列( “总相关” , 公式(
和(
:姓名( “1-辛醇” ),
:醚,
:氯仿,
:苯,
:四氯化碳,
:己烷
)
));
//最低的三个是彼此“最不相关”的
材料=:行<<获取值;
垫=:总相关<<获取值;
顶部 =升序(垫)[ 3 ]; //选择第三低的值
what_you_want_maybe = 材料[位置(垫<=顶部)] //获取总相关性最低的 3 种化学物质
回报:
{“1-辛醇”、“乙醚”、“氯仿”}
Re: 如何通过 PCA 选择自变量?嗨,彼得,
您的方法假定使用特定的预测模型。 我的方法是通过 PCA 过滤要使用的变量,然后使用大量的预测模型。 因此,过滤(即PCA)应该独立于使用的预测模型。
从您的回答中,我可以告诉您您是这里的专家。 因为您无法直接回答我的问题,所以我将推断 JMP 无法报告“链接”到特征值的变量列表。
不管怎么说,还是要谢谢你,
大卫
Re: 如何通过 PCA 选择自变量?大卫:
由于您的重点是最终建立一个预测模型,而不是在自变量上使用 PCA 作为查找不相关自变量的变量选择工具,那么我假设您将专注于使用普通最小二乘法,可能是逐步的引入的方法,您是否考虑过使用更直接的预测建模方法,该方法利用自变量之间的相关/协方差结构为您提供有用的模型?
我担心的是,如果您只使用不相关的变量,您可能会在不知道的情况下将一些预测能力扔出窗外。 偏最小二乘法,如果您有 JMP Pro,拟合模型 -> 广义回归特性中的惩罚回归过程是为预测建模场景量身定制的,其中自变量之间的相关性是可疑或明显的。 Lasso 和 Elastic Net 这两种技术的使用具有可变的选择方面。 以下是这两个平台的 JMP 在线文档的几个链接:
偏最小二乘模型
广义回归模型
Re: 如何通过 PCA 选择自变量?不幸的是,这不是我要找的。 假设在示例中,我需要在 6 个变量中识别出 3 个最小(交叉)相关变量。 他们是谁? 氯仿、苯和己烷?
Re: 如何通过 PCA 选择自变量?如果您使用热键,您应该能够将“主成分”保存到数据表中。然后它们将被命名为 Prin1、Prin2、Prin3 等......
该值并不真正对应于六个变量中的 1 个。这是一个看起来像这样的公式:

.
我不确定这正是您要问的,但我希望它有所帮助。