Std
Trả về độ lệch chuẩn của các giá trị phần tử ma trận/vector hoặc các phần tử theo trục được chỉ định.
cpp
double vector::Std();
double vector::Std(
const int ddof // bậc tự do delta
);
double matrix::Std();
vector matrix::Std(
const int axis // trục
);
vector matrix::Std(
const int axis, // trục
const int ddof // bậc tự do delta
);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Tham số
axis
[in] Trục. 0 — trục ngang, 1 — trục dọc.
ddof
[in] “Bậc tự do Delta”: số chia được sử dụng trong phép tính là N - ddof, trong đó N là số lượng phần tử. Mặc định ddof là 0.
Giá trị trả về
Độ lệch chuẩn: giá trị đơn hoặc vector.
Ghi chú
Độ lệch chuẩn là căn bậc hai của trung bình các bình phương sai lệch so với trung bình, tức là std = sqrt(mean(x)), trong đó x = abs(a - a.mean())**2.
Trung bình bình phương sai lệch thường được tính bằng x.sum() / (N - ddof), trong đó N = len(x).
Biểu thức với ddof=0 đôi khi được gọi là “độ lệch chuẩn tổng thể”. Nếu ddof>0 (thường dùng 1), kết quả đôi khi được gọi là “độ lệch chuẩn mẫu”.
Ví dụ
cpp
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
*/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21