Std
Std
返回矩阵/向量元素或沿给定轴的元素值的标准偏差。
double vector::Std();
double vector::Std(
const int ddof // delta 自由度
);
double matrix::Std();
vector matrix::Std(
const int axis // 轴
);
vector matrix::Std(
const int axis, // 轴
const int ddof // delta 自由度
);参数
- axis
[in] 轴。0 — 水平轴, 1 — 垂直轴。
- ddof
[in] “delta 自由度”:计算中使用的除数是 N-ddof,其中 N 表示元素的数量。默认情况下,ddof 为零。
返回值
标准偏差:标量或向量。
请注意
标准偏差是平均值平方偏差的平均值的平方根,即std = sqrt(mean(x)), 其中 x = abs(a - a.mean())**2.
平均平方偏差通常计算为 x.sum() / (N-ddof),其中 N=len(x)。
ddof = 0 的表达式有时被称为“总体标准偏差”。如果 ddof > 0(最常用的是1),则所得量有时称为“样本标准偏差”。
示例
matrixf matrix_a={{10,3,2},{1,8,12},{6,5,4},{7,11,9}};
Print("matrix_a\n",matrix_a);
vectorf cols_std=matrix_a.Std(0);
vectorf rows_std=matrix_a.Std(1);
float matrix_std=matrix_a.Std();
Print("cols_std ",cols_std);
Print("rows_std ",rows_std);
Print("std value ",matrix_std);
/*
matrix_a
[[10,3,2]
[1,8,12]
[6,5,4]
[7,11,9]]
cols_std [3.2403703,3.0310888,3.9607449]
rows_std [3.5590262,4.5460606,0.81649661,1.6329932]
std value 3.452052593231201
*/