Var
Tính phương sai của các giá trị phần tử ma trận/vector.
cpp
double vector::Var();
double vector::Var(
const int ddof // bậc tự do delta
);
double matrix::Var();
vector matrix::Var(
const int axis // trục
);
vector matrix::Var(
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ề
Phương sai: giá trị đơn hoặc vector.
Ghi chú
Phương sai là trung bình của các bình phương sai lệch so với trung bình, tức là var = mean(x), trong đó x = abs(a - a.mean())**2.
Trung bình 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à “phương sai tổng thể”. Nếu ddof>0 (thường dùng 1), kết quả đôi khi được gọi là “phương sai 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_var=matrix_a.Var(0);
vectorf rows_var=matrix_a.Var(1);
float matrix_var=matrix_a.Var();
Print("cols_var ",cols_var);
Print("rows_var ",rows_var);
Print("var value ",matrix_var);
/*
matrix_a
[[10,3,2]
[1,8,12]
[6,5,4]
[7,11,9]]
cols_var [10.5,9.1875,15.6875]
rows_var [12.666667,20.666666,0.66666669,2.6666667]
var value 11.916666984558105
*/
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