用于 PCA 的函数
PCA 算法在 PCA 和 PROJECT_PCA 存储过程中实现。要打印 PCA 模型,请使用 PRINT_MODEL 存储过程。
PCA 算法将行中包含实测值且列中包含预测变量的输入表转换为矩阵 A。为了找到矩阵 A 的特征向量,将使用奇异值分解 (SVD) 或特征值分解来分解矩阵 A。然后,这些特征向量将存储在对应的 PCA 模型中。
如果矩阵 A 为病态,例如,如果它是奇异矩阵,那么特征值分解不会返回任何结果。在这种情况下,建议采用 SVD 作为替代计算选项。
所有存储过程都有一个必需的单字符串参数,该参数包含 <parameter>=<value> 条目对。这些条目之间以逗号分隔。该参数的数据类型为 VARCHAR(any)。
有效 <parameter>=<value> 条目列示在每个存储过程的参数描述中。
处理 NULL 值的方式
处理 NULL 值的方式取决于在计算主成分期间遇到 NULL 值的位置。
下表描述处理输入表中 NULL 值的方式。
- NULL 值包含在 id 列中。
- 将会扫描输入表中相应的 id 列,以查找 NULL 值和重复项。如果找到 NULL 值或重复项,那么算法将停止。然后,显示一条错误消息。
- 这种处理适用于 IDAX.PCA 存储过程和 IDAX.PROJECT_PCA 存储过程。
- NULL 值包含在任意输入列中。
- 任何输入列中的 NULL 值均无效。因此,将会忽略一个或多个输入列包含 NULL 值的输入表行。不会显示错误消息。
- 对于 IDAX.PCA 存储过程和 IDAX.PROJECT_PCA 存储过程,如果输入数据集中所有的行都包含 NULL 值,那么视输入表为空。将会显示一条错误消息。