Files
playbook/skills/tsl-api-reference/references/codegen/dotnet/math/principal_component_analysis-intermediate.md
T

6.2 KiB

数学函数 / 主成分分析 / 中间函数

rotatedComponentMatrix(cm)

声明:function

对载荷矩阵执行方差最大正交旋转

参数 类型 说明
cm array 载荷矩阵

返回:array

示例

范例01:旋转单位载荷矩阵

cm := array((1.0, 0.0), (0.0, 1.0));
return rotatedComponentMatrix(cm);
// 输出:array((1.0,0.0),(0.0,1.0))

componentMatrix(eigen_value, eigen_vector, max_eigen_value)

声明:function

载荷矩阵

参数 类型 说明
eigen_value array 一维数字数组类型,特征根
eigen_vector array 二维数字数组类型,特征向量
max_eigen_value array 一维数字数组类型,主因子对应的特征根

返回:array

示例

// 设置样本矩阵
zt := array((0.7592, 1.7593, 21.9279, 48.5626, 55.1679),
    (0.0490, 0.4457, 2.2255, 82.2658, 192.4348),
    (-2.2313, -1.3096, -59.8883, 3.9922, -80.2419),
    (0.1364, 0.539, 4.3910, 55.1438, 46.0612),
    (0.7233, 1.9467, 15.6127, 111.3018, 58.3969));
z_t_s := Standarize_II(z_t); // 标准化
mt_Transposition(z_t_s, z); // 转置
r := correlationMatrix(z); // 相关系数矩阵
Eigen_Jacobi(r, eigen_value, eigen_vector); // 特征值&特征向量
return componentMatrix(eigen_value, eigen_vector, max_eigen_value);

componentScoreMatrix(cm, r)

声明:function

因子得分系数矩阵

参数 类型 说明
cm array 二维数字数组类型,载荷矩阵
r array 二维数字数组类型,相关系数矩阵

返回:array

示例

// 设置样本矩阵
zt := array((0.7592, 1.7593, 21.9279, 48.5626, 55.1679),
    (0.0490, 0.4457, 2.2255, 82.2658, 192.4348),
    (-2.2313, -1.3096, -59.8883, 3.9922, -80.2419),
    (0.1364, 0.539, 4.3910, 55.1438, 46.0612),
    (0.7233, 1.9467, 15.6127, 111.3018, 58.3969));
z_t_s := Standarize_II(z_t); // 标准化
mt_Transposition(z_t_s, z); // 转置
r := correlationMatrix(z); // 相关系数矩阵
Eigen_Jacobi(r, eigen_value, eigen_vector); // 特征值&特征向量
cm := componentMatrix(eigen_value, eigen_vector, max_eigen_value); // 载荷矩阵
return componentScoreMatrix(cm, r);

eastrq(b, c, q)

声明:function

返回 Eastrq 对应的数据

参数 类型 说明
b array 二维数字数组类型
c array 二维数字数组类型
q array 二维数字数组类型

返回:int

示例

b := array((1.0, 2.0, 3.0), (2.0, 3.0, 4.0), (3.0, 4.0, 5.0));
c := array((1.0, 0.0, 0.0), (0.0, 1.0, 0.0), (0.0, 0.0, 1.0));
q := array((1.0, 0.0, 0.0), (0.0, 1.0, 0.0), (0.0, 0.0, 1.0));
return eastrq(b, c, q);
// 输出:0

factorScoreMatrix(cs, z)

声明:function

主因子得分

参数 类型 说明
cs array 二维数字数组类型,因子得分矩阵
z array 二维数字数组类型,原始数据矩阵

返回:array

示例

// 设置样本矩阵
zt := array((0.7592, 1.7593, 21.9279, 48.5626, 55.1679),
    (0.0490, 0.4457, 2.2255, 82.2658, 192.4348),
    (-2.2313, -1.3096, -59.8883, 3.9922, -80.2419),
    (0.1364, 0.539, 4.3910, 55.1438, 46.0612),
    (0.7233, 1.9467, 15.6127, 111.3018, 58.3969));
z_t_s := Standarize_II(z_t); // 标准化
mt_Transposition(z_t_s, z); // 转置
r := correlationMatrix(z); // 相关系数矩阵
Eigen_Jacobi(r, eigen_value, eigen_vector); // 特征值&特征向量
cm := componentMatrix(eigen_value, eigen_vector, max_eigen_value); // 载荷矩阵
cs := componentScoreMatrix(cm, r); // 因子得分矩阵
return factorScoreMatrix(cs, zt);

fScoreResult(factor_arr, max_eigen_value)

声明:function

获取主因子得分

参数 类型 说明
factor_arr array 二维数字数组类型,因子得分矩阵
max_eigen_value array 二维数字数组类型,主因子对应的特征根

返回:array

示例

// 设置样本矩阵
zt := array((0.7592, 1.7593, 21.9279, 48.5626, 55.1679),
    (0.0490, 0.4457, 2.2255, 82.2658, 192.4348),
    (-2.2313, -1.3096, -59.8883, 3.9922, -80.2419),
    (0.1364, 0.539, 4.3910, 55.1438, 46.0612),
    (0.7233, 1.9467, 15.6127, 111.3018, 58.3969));
z_t_s := Standarize_II(z_t); // 标准化
mt_Transposition(z_t_s, z); // 转置
r := correlationMatrix(z); // 相关系数矩阵
Eigen_Jacobi(r, eigen_value, eigen_vector); // 特征值&特征向量
cm := componentMatrix(eigen_value, eigen_vector, max_eigen_value); // 载荷矩阵
cs := componentScoreMatrix(cm, r); // 因子得分系数矩阵
f_arr := factorScoreMatrix(cs, z_t_s); // 样本公共因子得分
return fScoreResult(f_arr, max_eigen_value);

getEigenValue(a, eigen_value)

声明:function

通过赋值得到EigenValue

参数 类型 说明
a array 二维数字数组类型
eigen_value array 一维数字数组类型

返回:any

示例

matrix := array((2.0, 1.0), (1.0, 3.0));
eigen_value := array();
getEigenValue(matrix, eigen_value);
return eigen_value;
// 输出:返回包含 2 个元素的特征值数组

mbbub(p, z)

声明:function

排序,对数组P按照从小到大的顺序排序,把数组排序的顺序对应的下标值返回到数组Z中

参数 类型 说明
p array 一维数字数组类型
z array 一维数字数组类型

返回:array

示例

p := array(2.72, 1.24, 1.31, 0.02, 0.88, 2.18);
return mbbub(p, z);