数学的平均～2. 算術平均・幾何平均・調和平均～

## 2. 算術平均・幾何平均・調和平均

### 概要

このシリーズではデータ分析等で現れる平均について, 数学的観点から定義・解説する.  
よく知られた平均である算術平均, 幾何平均, 調和平均と, これらを一般化した平均, またそれ以外の平均の例を紹介して, それぞれが持つ性質について述べる.  

今回は代表的な平均である算術平均, 幾何平均, 調和平均を扱う.  

1. [平均の一般的な定義・性質](https://qiita.com/RDProm/private/a2aca16588e5705f9bd4),  
2. (ｺｺ) 算術平均・幾何平均・調和平均,  
3. [ヘルダー平均・一般化 _f_ 平均](https://qiita.com/RDProm/items/1cd6ab41828870c8ef2b),  
4. [期待値・中央値・最頻値](https://qiita.com/RDProm/private/6c28ed70b9deab2620a1),  
5. [重み付き平均・列平均](https://qiita.com/RDProm/items/5221c9ce05e9ea4699fd),  

### 算術平均 (arithmetic mean)

相加平均とも.  
最も有名で単に平均というと普通はこれを指す.  

$$ \begin{gather} 
\mathrm{AM}(X) := \frac{1}{n}\sum_{i=0}^{n-1}x_i, \\\\ 
\text{for} \ X = [x_0, x_1, \dots, x_{n-1}] \in \mathbb{R}^n. 
\end{gather} $$

### 幾何平均 (geometric mean)

相乗平均とも.  
別名の方が相加・相乗平均の関係で有名.  
算術平均に対して, 和の代わり積を使って $n$ で割る代わり $n$ 乗根を使った平均.  

$$ \begin{gather} 
\mathrm{GM}(X) := \left(\prod_{i=0}^{n-1}x_i\right)^{\frac{1}{n}} = \sqrt[n]{x_0x_1\dots x_{n-1}}, \\\\ 
\text{for} \ X = [x_0, x_1, \dots, x_{n-1}] \in \mathbb{R}^n_{\geq 0}. 
\end{gather} $$

ただし $\mathbb{R}_{\geq 0}$ は非負の実数全体を表す.  
$n$ 乗根を取るので渡される値が全て0以上という制約がないと面倒[^geo_mean].  

[^geo_mean]: 複素数に拡張して多価関数として定義すれば面倒はなくなる.  

### 調和平均 (harmonic mean)

逆数を使って定義される平均.  
f1-score や平均速度の計算に使われることで有名.  

$$ \begin{gather} 
\mathrm{HM}(X) := \frac{n}{\sum_{i=0}^{n-1}\frac{1}{x_i}} = \frac{n\prod_{i=0}^{n-1}x_i}{\sum_{i=0}^{n-1}\prod_{j\neq i}x_j}, \\\\ 
\text{for} \ X = [x_0, x_1, \dots, x_{n-1}] \in \mathbb{R}^n_{\gt 0}. 
\end{gather} $$

$\mathbb{R}_{\gt 0}$ は正の実数全体.  
渡される値が全て0以上という制約がないと少し面倒が起こるが[^harm_mean], 負の数を渡しても0割りが発生しない限り計算自体は可能.  

[^harm_mean]: 例えば1と-2の調和平均は4で内部性を満たさなくなり, 「平均値は渡された値の間にある」という感覚とずれる結果になる.  

### 性質

#### それぞれの平均が持つ一般的な性質

算術平均, 幾何平均, 調和平均は前回紹介した[一般的な性質](https://qiita.com/RDProm/private/a2aca16588e5705f9bd4#一般的な性質)の,  

* 広義内部性 
    + $\min{\{x_0, x_1, \dots, x_{n-1}\}} \leq \mu(X) \leq \max{\{x_0, x_1, \dots, x_{n-1}\}}$  
* 対称性 
    + $\mu(X^\sigma) = \mu(X) \ \text{for} \ \sigma: \text{permutation}$  
* 双対称性 
    + $\mu([\mu([x_{ij}]\_{j=0, 1, \dots, m-1})]\_{i=0, 1, \dots, n-1}) = \mu([\mu([x_{ij}]\_{i=0, 1, \dots, n-1})]\_{j=0, 1, \dots, m-1})$  
* 置換性 
    + $\mu(X) = \mu([\mu([x_0, x_1, \dots, x_{k-1}]), \dots, \mu([x_0, x_1, \dots, x_{k-1}]), x_k, \dots, x_{n-1}])$  
* 斉次性 
    + $\mu(\lambda X) = \lambda\mu(X)$  
* 変数毎の連続性  
* 変数毎の広義単調増加性  

を全て満たし, 特に内部性, 単調増加性は狭義で成り立つ.  

これらの性質を全て満たすことは, これら3つの平均が代表的な平均として利用される要因の1つとなっている.  

#### 2種類の平均間で成り立つ等式

算術平均 $\mathrm{AM}$, 幾何平均 $\mathrm{GM}$, 調和平均 $\mathrm{HM}$ の間には次の等式が成り立つ.  

$$ \begin{align} 
\mathrm{GM}(X) & = \exp{\mathrm{AM}(\log{X})}, \\\\ 
\mathrm{HM}(X) & = \frac{1}{\mathrm{AM}\left(\frac{1}{X}\right)}. \\\\ 
\end{align} $$

これらの式はそれぞれの平均がどのようなスケールで「平均」を考えているかを表している.  
例えば 1e+10, 1e+5, 1e+0 の算術平均は約 3.3e+9, 幾何平均は 1e+5 で調和平均は約 3e+0 となり, 幾何平均は指数部分について算術平均を取った値であり, 調和平均は小さい値を重視する平均となっている.  

#### 2種類の平均間で成り立つ不等式

**(1) 相加・相乗の関係 (の拡張)**

3つの平均の間には, 相加・相乗の関係と呼ばれる不等式, またそれを調和平均に拡張した不等式が知られている.  

$$ \mathrm{HM}(X) \leq \mathrm{GM}(X) \leq \mathrm{AM}(X). $$

これは前項で述べた調和平均は小さい値を重視するという主張の根拠であり, 逆に算術平均は他の2つと比較すると大きい値を重視していることを示していると言える.  

f1-score では precision と recall の調和平均を取ることで, 単に算術平均を取るより「precision と recall のいずれかが小さければ f1-score も小さい値を取る」という性質が強いことが分かる.    

**(2) 劣双対称性**

また, 2次元配列からなるベクトル $\mathcal{X} = [x_{ij}]^{i=0, 1, \dots, n-1}_{j=0, 1, \dots, m-1}$ に対して, 次の不等式が成り立つ.  

$$ \mathrm{AM}([\mathrm{HM}([x_{ij}]\_{j=0, 1, \dots, m-1})]\_{i=0, 1, \dots, n-1}) \leq \mathrm{HM}([\mathrm{AM}([x_{ij}]\_{i=0, 1, \dots, n-1})]\_{j=0, 1, \dots, m-1}). $$

これは前回紹介した双対称性の弱い形と言えるので, この記事では**劣双対称性**と呼ぶことにする.  
次の論文では $m = 2$ の場合の証明を与えていて, 数学的帰納法で一般の $m \geq 3$ に拡張できる.  
cf. [Macro F1 and Macro F1](https://arxiv.org/abs/1911.03347)
 

上の論文でも述べられていることだが, $n$ クラス分類問題についてクラス $i$ の precision, recall を $p_i, r_i$ と置いて,  

$$ \begin{cases} 
f_1 := \mathrm{AM}([\mathrm{HM}(p_i, r_i)]), \\\\ 
f'_1 := \mathrm{HM}(\mathrm{AM}([p_i]), \mathrm{AM}([r_i])), \\\\ 
\end{cases} $$

という指標 $f_1, f'_1$ を考えた時, この不等式は常に $f_1$ が小さくなることを表している.  
macro-f1 と言うと $f_1$ で与えられることが多く, これは $f'_1$ による評価より「いずれかのクラスで precision, recall のいずれかが小さければそれを検出する」という傾向が強いことが分かる[^macro-f1].  

[^macro-f1]: ということは全クラスの f1-score の算術平均でなく調和平均を取ればさらにその傾向が強まるんじゃないだろうか.  

なお, この劣双対称性は $\mathrm{AM}$ または $\mathrm{HM}$ を $\mathrm{GM}$ に置き換えた次の形でも成り立つ.  
```math
 \begin{align} 
\mathrm{AM}([\mathrm{GM}([x_{ij}]_{j=0, 1, \dots, m-1})]_{i=0, 1, \dots, n-1}) & \leq \mathrm{GM}([\mathrm{AM}([x\_{ij}]_{i=0, 1, \dots, n-1})]_{j=0, 1, \dots, m-1}), \\ 
\mathrm{GM}([\mathrm{HM}([x_{ij}]_{j=0, 1, \dots, m-1})]_{i=0, 1, \dots, n-1}) & \leq \mathrm{HM}([\mathrm{GM}([x_{ij}]_{i=0, 1, \dots, n-1})]_{j=0, 1, \dots, m-1}). \\ 
\end{align} 
```

詳細は省くが, これらはヘルダーの不等式のから導くことができる.  
cf. https://ja.wikipedia.org/wiki/%E3%83%98%E3%83%AB%E3%83%80%E3%83%BC%E3%81%AE%E4%B8%8D%E7%AD%89%E5%BC%8F