Var

행렬/벡터 요소의 값의 분산을 계산합니다.

double vector::Var();
 
double vector::Var(
  const int  ddof      // 자유도의 델타 수준
);
 
double matrix::Var();
 
vector matrix::Var(
  const int  axis      // 축
);
 
vector matrix::Var(
  const int  axis,     // 축
  const int  ddof      // 자유도의 델타 수준
);

매개 변수

axis

[in]  축. 0 — 가로축, 1 — 세로축.

ddof

[in] "자유도의 델타 수준": 계산에 사용 된 제수는 n -ddof이며, 여기서 n은 요소의 수를 나타냅니다. 기본값은 ddof 0.

반환 값

분산: 스칼라 혹은 벡터

주의

분산은 mean 평균에서 제곱 편차의 평균, 즉 var = 평균 (x), 여기서 x = abs (a -a.mean ()) ** 2입니다.

mean 평균은 일반적으로 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_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
   */