Var

行列/ベクトル要素の値の分散を計算します。

double vector::Var();
 
double matrix::Var();
 
vector matrix::Var(
  const int  axis      // 軸
  );

パラメータ

axis

[in] 軸。0 — 水平軸、1 — 垂直軸

戻り値

分散:スカラーまたはベクトル

注意事項

分散は、平均からの二乗偏差の平均です。つまり、var = mean(x)、ここで x = abs(a - a.mean())**2です。

平均は通常、x.sum() / N として計算されます。ここで、N = len(x) です。

  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
  */