「中庸」についての統計的解釈 

## はじめに
私たちは日常生活で「中庸」や「平均的」であることが一般的だと考えがちです。しかし、統計学や数学の視点から見ると、すべての特性において中庸であることは実は非常に稀な現象です。
これを理解するために、N次元の立方体とそれに内接する球を用いたアナロジーで説明してみましょう。

## 多次元の立方体：人間のパラメータの範囲
まず、人間のさまざまな特性をN個のパラメータとして考えます。N個のパラメータは各々一定の範囲を持ち、その範囲内で人々は多様な値を取ります。ここでは便宜的に各パラメータが -1 ~ 1 の範囲をとるとしましょう。そして各パラメータについて一様に独立に分布するとします。

例えば、Aさんのパラメータ : 
- おだやかさ : 0.2
- やさしさ : 0.5
- 決断力 : -0.6
- 安定性 : 0.7
...
- パラメータN : -0.8

のようなイメージです。このような項目がN個ある状態を想定しています。
これらのN次元パラメータの存在する空間全体は、N次元の立方体として表現できます。
この立方体は人間の持つすべてのパラメータの存在しうる全ての組み合わせを包含するものです。

1辺の長さが2のN次元の立方体の体積をVcubeとすると、以下のようになります。
```math

V_{\text{cube}} = 2^N

```

## 多次元の内接球：すべてのパラメータにおいて中庸な人々の範囲
次に、この立方体に内接する半径1のN次元の球を考えます。この球は、すべてのパラメータにおいて平均的または中間的な値を持つ人々が存在する範囲であると考えます。
下図のように2次元の場合で考えると、正方形の内接円ということになるので円の中にいれば中庸というのは中庸の定義が緩すぎるかもしれませんが、一旦このようにします。
（この例だと、78.5% (=3.14/4)が中庸な人ということになります。）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3844774/66d66c98-6d71-71c5-74ef-24ba8bd4160b.png)


この体積をVsphereとすると、以下のようになります。

```math
V_{\text{sphere}} = \frac{\pi^{N/2}}{\Gamma\left( \frac{N}{2} + 1 \right)}
```
```math
\Gamma : ガンマ関数
```

## 立方体と内接級の体積の比と中庸の稀少性について

ここで重要なのは、N次元における立方体と内接球の体積の比です。この比率を計算すると、次のようになります。：
```math
\frac{\text{球の体積}}{\text{立方体の体積}} = \frac{\pi^{N/2}}{\Gamma\left( \frac{N}{2} + 1 \right)2^N}
```
この比は人間全体における中庸な人の割合を示しています。

次元数 N が増加すると、体積の比は減少していきます。つまり、パラメータの数が増えるほど、N次元立方体に対する内接球の体積の割合は急激に小さくなります。これは、人間の性質を決めるパラメータの数が多くなるほど中庸な人の存在確率が小さくなることを示しています。

- 内接球（内接円）の面積÷2次元の立方体（正方形）の面積 : 0.785398 (=3.14/4)
- 3次元の内接球の体積÷3次元の立方体の体積 : 0.523599 
- 4次元の内接球の体積÷4次元の立方体の体積 : 0.308425 
- 5次元の内接球の体積÷5次元の立方体の体積 : 0.164493 
- 6次元の内接球の体積÷6次元の立方体の体積 : 0.080746 
- 7次元の内接球の体積÷7次元の立方体の体積 : 0.036912 
- 8次元の内接球の体積÷8次元の立方体の体積 : 0.015854 
- 9次元の内接球の体積÷9次元の立方体の体積 : 0.006442 
- 10次元の内接球の体積÷10次元の立方体の体積 : 0.00249 
- 11次元の内接球の体積÷11次元の立方体の体積 : 0.00092 
- 12次元の内接球の体積÷12次元の立方体の体積 : 0.000326 
- 13次元の内接球の体積÷13次元の立方体の体積 : 0.000111 

13次元になると、中庸な人の存在割合は0.011%となり、約9,000人に1人ということになります。内接球では中庸の定義がゆるすぎると書きましたが、実はそんなゆるい定義ですら、高次元空間になると、極端に少なくなってしまうのです。個人的には人間の性質を決めるパラメータは13次元どころではなく、もっと無数にあって欲しいと思いますが、そうなるとますます中庸な人は少なくなるということになりそうです。仮にパラメータが30個だとすると中庸な人は49兆人に1人となります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3844774/561563fb-5802-7d6e-96b3-d91c6c9f3f41.png)


## 次元の呪い

この現象は「次元の呪い」と呼ばれ、高次元空間では直感に反して多くの点が空間のすみっこに集中することを示しています。より正確には高次元空間自体の性質として、定義される空間のほとんどの領域がすみっこなのです。パラメータが増えるにつれて、すべてのパラメータで中庸である人の割合は限りなくゼロに近づきます。

## 中庸は統計的に稀な存在

このように、パラメータの数が増えると、すべてのパラメータについて中庸である人は統計的に極めて稀な存在になります。内接円の中というゆるい定義ですら、高次元空間では極めて稀な存在になってしまうのは、2~3次元に慣れきった我々にはかなり直感と反する結果です。

## 中庸と美しさ
話は変わりますが、美しい顔は平均的な顔であるという説があります。それも同様の構造を持っていると考えられます。顔の造作を司るパラメータは無数にあると考えられますので、その全てが平均的である確率は非常に低くなります。多次元空間では、「平均的だからたくさんいる」は偽であり、「平均的だから稀である」が真ですから、美しい顔を持つ人は稀なのです。そして独立なパラメータが一定以上の数あるならば、真に平均的な顔を持つ人はまず存在しないのです。

人間の性質については、中庸が必ずしも善いということにはならないと思いますし、何を美しいと感じるかは人それぞれではありますが、もしも美しいと感じる能力が人間に生来備わった様々なパラメータの平均を感じる能力、あるいはパラメータの尖りのなさを感じる能力なのだとすると、中庸を善とする考えと人間の直感的な美の感覚はどこか深いところで繋がっているのかもしれません。平均を美しいと感じるように遺伝的にプログラムされているのだとすると、中庸という発想が出てくるのも自然なことかもしれないですね。

## おまけ
N次元体積比の算出プログラム
```
import math
import matplotlib.pyplot as plt
import japanize_matplotlib

def volume_ratio(N):
    # N次元内接球の体積 : 半径1
    V_sphere = math.pi**(N/2) / math.gamma(N/2 + 1)
    # N次元立方体の体積 : 一辺の長さ2
    V_cube = 2**N
    return V_sphere / V_cube
    

dic_result = {"dimension": [], "ratio": []}
for N in range(1, 16):
    ratio = volume_ratio(N)
    print(f"{N}次元の内接球の体積÷{N}次元の立方体の体積 : {round(ratio, 6)} ")
    dic_result["dimension"].append(N)
    dic_result["ratio"].append(ratio)

plt.figure(figsize=(10, 6), dpi=200)
plt.plot(dic_result["dimension"], dic_result["ratio"])
plt.title("次元数とN次元の立方体とその内接球の体積の比の関係")
plt.xlabel("次元")
plt.ylabel("内接球の体積 / 立方体の体積")
```