Std

Вычисляет среднеквадратичное (стандартное) отклонение значений элементов матрицы/вектора или указанной оси.

double vector::Std();
 
double vector::Std(
  const int  ddof      // сдвиг степени свободы
);
 
double matrix::Std();
 
vector matrix::Std(
  const int  axis      // ось
   );
 
vector matrix::Std(
  const int  axis,     // ось
  const int  ddof      // сдвиг степени свободы
);

Параметры

axis

[in]  Ось. 0 — горизонтальная ось, 1 — вертикальная ось.

ddof

[in]  “Delta Degrees of Freedom”: параметр, определяющий, на сколько уменьшается число степеней свободы. Делитель в формуле будет равен N - ddof, где N — число наблюдений. По умолчанию ddof = 0.

Возвращаемое значение

Стандартное отклонение: скалярное или векторное.

Примечание

Стандартное отклонение представляет собой корень квадратный из среднего значения квадратов отклонений от среднего, т. е. std = sqrt(mean(x)), где x = abs(a - a.mean())**2.

Среднеквадратичное отклонение обычно рассчитывается как x.sum() / N, где 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
   */