# 数学函数 - 多元统计分析 文档类型:函数事实页 是否可直接用于生成代码:是;本页函数条目均包含参数表 遇到不确定时:回到 [../math.md](../math.md)、[../../index.md](../../index.md) 本页收录相关矩阵、协方差矩阵、距离、聚类、判别分析、主成分分析、因子分析和秩相关函数。 ## 服务器多元统计函数 ### `corr(values, method[, tail])` 用途:计算相关系数矩阵;带 `tail` 时同时返回相关性检验 P 值矩阵。 参数个数:2 到 3 返回值:数值矩阵/数组;带 `tail` 时返回 `[相关系数矩阵, P值矩阵]` | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | -------- | ---- | -------- | -------------------------------------------- | | 1 | `values` | 是 | 数值矩阵 | 样本矩阵 | | 2 | `method` | 是 | 整数 | 相关系数计算方式 | | 3 | `tail` | 否 | 字符串 | 检验方向;常用 `"both"`、`"left"`、`"right"` | ### `correlationMatrix(values, method)` 用途:计算相关系数矩阵。 参数个数:2 返回值:数值矩阵 | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | -------- | ---- | -------- | ---------------- | | 1 | `values` | 是 | 数值矩阵 | 样本矩阵 | | 2 | `method` | 是 | 整数 | 相关系数计算方式 | ### `covariance(values)` 用途:计算协方差矩阵。 参数个数:1 返回值:数值矩阵 | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | -------- | ---- | -------- | -------- | | 1 | `values` | 是 | 数值矩阵 | 样本矩阵 | ### `corrcoef(values)` 用途:执行相关系数分析。 参数个数:1 返回值:数组表;包含 `r`、`p`、`rlo`、`rup` | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | -------- | ---- | -------- | -------- | | 1 | `values` | 是 | 数值矩阵 | 样本矩阵 | ### `corr_partial(x_values, y_values, z_values, method[, tail])` 用途:计算偏相关系数;带 `tail` 时同时返回检验结果。 参数个数:4 到 5 返回值:数值矩阵/数组表;带 `tail` 时包含 `coef`、`pval`、`df` | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | ---------- | ---- | -------- | -------------------------------------------- | | 1 | `x_values` | 是 | 数值矩阵 | 第一组变量 | | 2 | `y_values` | 是 | 数值矩阵 | 第二组变量 | | 3 | `z_values` | 是 | 数值矩阵 | 控制变量 | | 4 | `method` | 是 | 整数 | 相关系数计算方式 | | 5 | `tail` | 否 | 字符串 | 检验方向;常用 `"both"`、`"left"`、`"right"` | ### `distance(values, right_or_method[, method])` 用途:计算向量距离,或计算矩阵样本两两距离。 参数个数:2 到 3 返回值:实数/数值矩阵 | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | ----------------- | ---- | ----------------- | ------------------------------------------ | | 1 | `values` | 是 | 数值数组/数值矩阵 | 左向量,或样本矩阵 | | 2 | `right_or_method` | 是 | 数值数组/字符串 | 三参形式下为右向量;二参形式下为距离方法名 | | 3 | `method` | 否 | 字符串 | 三参形式下的距离方法名;常用 `"euclidean"` | ### `cluster_Kmeans(samples, class_count, options)` 用途:执行 K-means 聚类。 参数个数:3 返回值:数组;每个元素是一类样本下标数组 | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | ------------- | ---- | -------- | ------------------------------------------------------ | | 1 | `samples` | 是 | 数值矩阵 | 样本矩阵 | | 2 | `class_count` | 是 | 整数 | 聚类数量 | | 3 | `options` | 是 | 数组表 | 参数表;常见键包括 `maxiter`、`tol`、`distance`、`out` | ### `cluster_System(samples, distance_method, cluster_method[, output])` 用途:执行系统聚类。 参数个数:3 到 4 返回值:数组;三参返回谱系合并过程,四参且 `output` 包含 `best` 时返回最佳分类 | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | ----------------- | ---- | -------- | ------------------------------- | | 1 | `samples` | 是 | 数值矩阵 | 样本矩阵 | | 2 | `distance_method` | 是 | 整数 | 距离方法 | | 3 | `cluster_method` | 是 | 整数 | 聚类方法 | | 4 | `output` | 否 | 数组表 | 输出选项;如 `array("best": 1)` | ### `cluster_ward(samples)` 用途:执行 Ward 聚类。 参数个数:1 返回值:数组表 | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | --------- | ---- | -------- | -------- | | 1 | `samples` | 是 | 数值矩阵 | 样本矩阵 | ### `discrim(training_data, sample_data, method)` 用途:执行判别分析并返回待判别样本分类。 参数个数:3 返回值:数组;每个元素是对应待判别样本的分类编号 | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | --------------- | ---- | -------- | ---------------------------------------- | | 1 | `training_data` | 是 | 数值矩阵 | 训练数据;第一列为分类编号,其余列为特征 | | 2 | `sample_data` | 是 | 数值矩阵 | 待判别样本特征矩阵 | | 3 | `method` | 是 | 整数 | 判别方法参数 | ### `princomp(values, contribution_rate, standardize, residual)` 用途:执行主成分分析。 参数个数:4 返回值:数组表 | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | ------------------- | ---- | -------------- | -------------------------------------- | | 1 | `values` | 是 | 数值矩阵 | 样本矩阵 | | 2 | `contribution_rate` | 是 | 数值 | 累计贡献率阈值 | | 3 | `standardize` | 是 | 整数 | 是否标准化的模式参数 | | 4 | `residual` | 是 | 变量引用/`nil` | 接收残差或相关输出;不需要时可传 `nil` | ### `factor(values, contribution_rate)` 用途:执行因子分析。 参数个数:2 返回值:数组表;包含 `Correlation Matrix`、`kmo`、`Total Variance Explained` 等结果项 | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | ------------------- | ---- | -------- | -------------- | | 1 | `values` | 是 | 数值矩阵 | 样本矩阵 | | 2 | `contribution_rate` | 是 | 数值 | 累计贡献率阈值 | ### `corr_canonical(x_values, y_values, alpha, standardize)` 用途:执行典型相关分析。 参数个数:4 返回值:数组表;包含 `Cor`、`XCoef`、`YCoef` 等结果项 | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | ------------- | ---- | -------- | -------------------- | | 1 | `x_values` | 是 | 数值矩阵 | 第一组变量 | | 2 | `y_values` | 是 | 数值矩阵 | 第二组变量 | | 3 | `alpha` | 是 | 数值 | 显著性水平 | | 4 | `standardize` | 是 | 整数 | 是否标准化的模式参数 | ### `corr_Spearman(x_values, y_values)` 用途:计算 Spearman 秩相关系数。 参数个数:2 返回值:实数 | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | ---------- | ---- | -------- | ---------- | | 1 | `x_values` | 是 | 数值数组 | 第一组数据 | | 2 | `y_values` | 是 | 数值数组 | 第二组数据 | ### `cov2CorrMatrix(covariance_matrix)` 用途:把协方差矩阵转换为相关系数矩阵。 参数个数:1 返回值:数值矩阵 | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | ------------------- | ---- | -------- | ---------- | | 1 | `covariance_matrix` | 是 | 数值矩阵 | 协方差矩阵 | ### `corrMatrixAdjust(correlation_matrix)` 用途:修正相关系数矩阵。 参数个数:1 返回值:数值矩阵 | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | -------------------- | ---- | -------- | -------------------- | | 1 | `correlation_matrix` | 是 | 数值矩阵 | 待修正的相关系数矩阵 | ### `corr_Kendall(x_values, y_values)` 用途:计算 Kendall 秩相关系数。 参数个数:2 返回值:实数 | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | ---------- | ---- | -------- | ---------- | | 1 | `x_values` | 是 | 数值数组 | 第一组数据 | | 2 | `y_values` | 是 | 数值数组 | 第二组数据 | ### `histc(values, bins)` 用途:按边界数组统计直方图计数。 参数个数:2 返回值:数组 | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | -------- | ---- | -------- | ---------- | | 1 | `values` | 是 | 数值数组 | 待统计数据 | | 2 | `bins` | 是 | 数值数组 | 分箱边界 | ### `princaipalComponentAnalysis(values)` 用途:执行主成分分析并返回主因子得分结果。 参数个数:1 返回值:数组表;包含 `F`、`F1`、`F2` 等得分字段 | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | -------- | ---- | -------- | -------- | | 1 | `values` | 是 | 数值矩阵 | 样本矩阵 | ### `mbbub(values, index_output)` 用途:按数值排序并返回排序后的原始下标。 参数个数:2 返回值:数组;同时写入 `index_output` | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | -------------- | ---- | -------- | ------------------------ | | 1 | `values` | 是 | 数值数组 | 待排序数组 | | 2 | `index_output` | 是 | 变量引用 | 接收排序后的原始下标数组 | ### `eigen_Jacobi(matrix, eigen_values, eigen_vectors)` 用途:用 Jacobi 方法计算矩阵特征值和特征向量。 参数个数:3 返回值:无直接返回值;写入 `eigen_values` 和 `eigen_vectors` | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | --------------- | ---- | -------- | ---------------- | | 1 | `matrix` | 是 | 数值矩阵 | 待分解矩阵 | | 2 | `eigen_values` | 是 | 变量引用 | 接收特征值数组 | | 3 | `eigen_vectors` | 是 | 变量引用 | 接收特征向量矩阵 | ### `componentMatrix(eigen_values, eigen_vectors, max_eigen_values)` 用途:根据特征值和特征向量生成主成分载荷矩阵。 参数个数:3 返回值:数值矩阵;同时写入 `max_eigen_values` | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | ------------------ | ---- | -------- | ---------------------- | | 1 | `eigen_values` | 是 | 数值数组 | 特征值数组 | | 2 | `eigen_vectors` | 是 | 数值矩阵 | 特征向量矩阵 | | 3 | `max_eigen_values` | 是 | 变量引用 | 接收主因子对应的特征根 | ### `componentScoreMatrix(component_matrix, correlation_matrix)` 用途:根据载荷矩阵和相关系数矩阵生成因子得分系数矩阵。 参数个数:2 返回值:数值矩阵 | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | -------------------- | ---- | -------- | -------------- | | 1 | `component_matrix` | 是 | 数值矩阵 | 主成分载荷矩阵 | | 2 | `correlation_matrix` | 是 | 数值矩阵 | 相关系数矩阵 | ### `factorScoreMatrix(score_matrix, standardized_values)` 用途:根据因子得分系数矩阵和标准化样本矩阵生成样本公共因子得分。 参数个数:2 返回值:数值矩阵 | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | --------------------- | ---- | -------- | ------------------ | | 1 | `score_matrix` | 是 | 数值矩阵 | 因子得分系数矩阵 | | 2 | `standardized_values` | 是 | 数值矩阵 | 标准化后的样本矩阵 | ### `rotatedComponentMatrix(component_matrix)` 用途:对主成分载荷矩阵做旋转处理。 参数个数:1 返回值:数值矩阵 | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | ------------------ | ---- | -------- | -------------- | | 1 | `component_matrix` | 是 | 数值矩阵 | 主成分载荷矩阵 | ### `fScoreResult(factor_scores, max_eigen_values)` 用途:根据样本公共因子得分和主因子特征根生成综合得分结果。 参数个数:2 返回值:数组表;包含 `F`、`F1`、`F2` 等得分字段 | 参数位置 | 参数名 | 必填 | 接收类型 | 说明 | | -------- | ------------------ | ---- | ----------------- | -------------------- | | 1 | `factor_scores` | 是 | 数值矩阵 | 样本公共因子得分矩阵 | | 2 | `max_eigen_values` | 是 | 数值数组/数值矩阵 | 主因子对应的特征根 |