0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

数学的平均~5. 重み付き平均・列平均~

Last updated at Posted at 2023-06-01

5. 重み付き平均・列平均

概要

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

今回は最終回として, 既存の平均を使って新たに平均を構成する重み付き平均, 列平均を取り上げる.

  1. 平均の一般的な定義・性質,
  2. 算術平均・幾何平均・調和平均,
  3. ヘルダー平均・一般化 f 平均,
  4. 期待値・中央値・最頻値,
  5. (ココ) 重み付き平均・列平均,

重み付き平均 (weighted mean)

重み付き平均は, $X = [x_0, x_1, \dots, x_{n-1}] \in \mathbb{R}^n$ に対して重み $\Lambda = [\lambda_0, \lambda_1, \dots, \lambda_{n-1}] \in \mathbb{R}^n$ を考えて, $\lambda_i$ に応じて $x_i$ を重視して平均を取る手法である.

重み付き算術平均, 一般化 f 平均

重み付き算術平均は,

$$ \begin{gather}
\mathrm{AM}^\Lambda(X) := \frac{\sum_{i=0}^{n-1}\lambda_ix_i}{\sum_{i=0}^{n-1}\lambda_i}, \\
\text{for} \ X = [x_0, x_1, \dots, x_{n-1}] \in \mathbb{R}^n, \ \Lambda = [\lambda_0, \lambda_1, \dots, \lambda_{n-1}] \in \mathbb{R}^n_{\gt 0}, \\
\end{gather} $$

で与えられる ($\mathbb{R}_{\gt 0}$ は正の実数の集合).
$\sum_{i=0}^{n-1}\lambda_i = 1$ に制限して $\mathrm{AM}^\Lambda(X) := \sum_{i=0}^{n-1}\lambda_ix_i$ と定義するパターンも多い.
全て同じ重みを与えて $\lambda_0 = \lambda_1 = \dots = \lambda_{n-1}$ とすると通常の算術平均になる.

重み付き一般化 $f$ 平均は重み付き算術平均を使った一般化 f 平均で,

$$ \begin{gather}
M_f^\Lambda(X) := M_{f; \mathrm{AM}^\Lambda}(X) = f^{-1}(\mathrm{AM}^\Lambda(f(X))), \\
\text{for} \ X \in \mathcal{D}_f^n, \
\end{gather} $$

と書ける.
重み付き算術平均は内部性を持つため, 一般化 $f$ 平均での同様の議論で, $x_i$ を $f$ の定義域 $\mathcal{D}_f$ 上から取れば $M_f^\Lambda(X)$ が定義できることが分かる.

パラメータ $p \neq \pm\infty$ の重み付きヘルダー平均も重み付き一般化 $f$ 平均から,

$$ \begin{gather}
\mathcal{H}_p^\Lambda(X) = \begin{cases}
M_{x^p}^\Lambda(X) & p \neq 0, \pm\infty, \\
M_{\log{x}}^\Lambda(X) & p = 0, \\
\end{cases} \\
\text{for} \ X \in \mathbb{R}_{\gt 0}^n, \\
\end{gather} $$

で得られる.
$p = \pm\infty$ の場合は極限操作で,

$$ \lim_{p \rightarrow \pm\infty}\mathcal{H}_p^\Lambda(X) = \mathcal{H}_{\pm\infty}(X), $$

と重みなしのヘルダー平均 (最大・最小値) に一致することが分かる.

重み付き確率論的平均

重みなしのそれぞれの平均の定義は前回記事を参照.

期待値, 中央値, 最頻値の場合, 仮定した確率密度関数 $p(x; X)$ に対して重み関数 $l: \mathcal{D}_p \rightarrow \mathbb{R}$ を考えて,

$$ p^l(x; X) := \begin{cases}
\frac{l(x)p(x)}{\int_{\mathcal{D}_p}l(x)dx} & \text{連続分布を仮定}, \\
\frac{l(x)p(x)}{\sum_{x \in \mathcal{D}_p}l(x)} & \text{離散分布を仮定}, \\
\end{cases} $$

を使ってそれぞれを算出することで定義される.

重み付きの標準的な中央値は, $X$ をソートして隣り合う $x^\sigma_i, x^\sigma_{i+1}$ の間隔を $\Delta = [\delta_0, \delta_1, \dots, \delta_{m-2}]$ で重み付けて,

$$ \begin{gather}
i_l^\Delta := \max{\left\{i \ \middle| \ \sum_{j=0}^{i-1}\delta_j \leq \frac{1}{2}\sum_{j=0}^{n-2}\delta_j\right\}}, \\
i_u^\Delta := \min{\left\{i \ \middle| \ \sum_{j=0}^{i-1}\delta_j \geq \frac{1}{2}\sum_{j=0}^{n-2}\delta_j\right\}} \\
\end{gather} $$

を使って $x^\sigma_{i_l^\Lambda}, x^\sigma_{i_u^\Lambda}$ の平均を取ることで得られ, $\delta_j = 1$ と取れば $\sum_{j=0}^{k-1}\delta_j = k$ であり, 標準的な中央値に一致することが確認できる.
点の間隔でなく各点 $x^\sigma_i$ に対して重みを付けたいなら, 重み $\lambda_i$ から $\delta_i := \lambda_i+\lambda_{i+1}$ とすればいい.
例えば下側 (第1) 四分位数は,

$$ \delta_j := \begin{cases}
3 & j \lt \frac{n-1}{4}, \\
1 & j \geq \frac{n-1}{4}, \\
\end{cases} $$

で重み付けた標準的な中央値と見なせる1.

重み付きの標準的な最頻値の場合は,

$$ v_j^\Lambda := \sum_{i \in [\alpha_j, \alpha_{j+1})}\lambda_i, $$

が最大になる $j$ を最頻区間として最頻値を計算すればいい.

列平均 (sequential mean)

2数 $a_0, b_0$ から始めて, 算術平均 $\mathrm{AM}$, 幾何平均 $\mathrm{GM}$ によって,

$$ \begin{cases}
a_{i+1} := \mathrm{AM}([a_i, b_i]), \
b_{i+1} := \mathrm{GM}([a_i, b_i]), \
\end{cases} $$

で生成される2つの数列 ${a_n}, {b_n}$ は同じ値に収束することが知られており, その極限値は算術幾何平均と呼ばれる.

一般の2つの平均 $\mu_a, \mu_b$ によって同様に数列を生成して同じ値に収束する時, その極限値を取ると新たな平均を構成することができ, 次の文献等では sequential mean と呼ばれている (和訳は見つからなかったのでこのシリーズでは列平均と訳す).
cf. THEORY OF MEANS AND THEIR INEQUALITIES / J. Sándor (PDF:http://www.math.ubbcluj.ro/~jsandor/lapok/Sandor-Jozsef-Theory%20of%20Means%20and%20Their%20Inequalities.pdf)

$$ \begin{gather}
\mu_a\boxtimes\mu_b([a_0, b_0]) := \lim_{n \rightarrow \infty}a_n = \lim_{n \rightarrow \infty}b_n, \\
a_{i+1} = \mu_a([a_i, b_i]), \quad b_{i+1} = \mu_b([a_i, b_i]), \\
\end{gather}$$

列平均は任意の $\mu_a, \mu_b$ に対して構成できるわけではない.
例えばパラメータ $\pm\infty$ のヘルダー平均を適用すると, 常に $a_n = \max{{a_0, b_0}}, b_n = \min{{a_0, b_0}}$ であり, $a_0 \neq b_0$ であれば同じ値には収束しない.

ここで, 2つの平均 $\mu_0, \mu_1$ について, 任意の $x_0, x_1$ に対して常に $\mu_0([x_0, x_1]) \leq \mu_1([x_0, x_1])$ となることを $\mu_0 \ll \mu_1$ と書くと,

(1) $\mu_a, \mu_b$ がいずれも内部性を持つ,
(2) $\mu_a \ll \mu_b$ または $\mu_a \gg \mu_b$,

が共に成り立てば,

$$ a_0 \leq a_1 \leq \dots \leq a_n \leq b_n \leq \dots \leq b_0, $$

($\mu_a \gg \mu_b$ ならば逆の不等号) から $a_n, b_n$ が収束することが言えて,

(3) $\mu_a, \mu_b$ のいずれかが連続かつ狭義内部性を持つ,

であれば, 例えば $\mu_a$ について連続かつ狭義内部性が成り立つ時, 連続性から,

$$ \begin{gather}
a^* := \lim_{n \rightarrow \infty}a_n, \ b^* := \lim_{n \rightarrow \infty}b_n, \\
a^* = \lim_{n \rightarrow \infty}\mu_a([a_n, b_n]) = \mu_a([a^*, b^*]), \\
\end{gather} $$

で, 狭義内部性から $a^* = b^* = \mu_a([a^*, b^*])$ となることが分かる.

2つのパラメータのヘルダー平均は (1), (2) を満たし, パラメータが $\pm\infty$ でなければ (3) も成り立つので列平均が定義できる.
一般化 $f$ 平均は常に連続かつ狭義連続性を満たすため, $M_f, M_g$ が (2) を満たすのであれば列平均が存在する.
第3回の一般化 f 平均の性質で述べたように, $g\circ f^{-1}$ が凸関数なら (2) が成り立つことが分かっている.

性質

重み付き平均, 列平均の性質は, 元になった平均の性質に大きく依存する.
元の平均の性質を引き継ぐ ($\mu$ で成り立つなら派生した平均 $\mu'$ でも成り立つ) ことが多い.

一般性質

(1) 重み付き平均
重み付き一般化 $f$ 平均は, 一般的な性質のうち狭義内部性, 連続性, 狭義単調増加性を満たす.
対称性, 双対称性については重みの置換, 入れ替えも含めると成り立つ.
つまり,

$$ \begin{gather}
M_f^{\Lambda^\sigma}(X^\sigma) = M_f^\Lambda(X), \\
M_f^\Lambda([M_f^{\Lambda'}([x_{ij}]_{j=0, 1, \dots, m-1})]_{i=0, 1, \dots, n-1}) = M_f^{\Lambda'}([M_f^{\Lambda}([x_{ij}]_{i=0, 1, \dots, n-1})]_{j=0, 1, \dots, m-1}). \
\end{gather} $$

置換性についても, $\Lambda_{:k} = [\lambda_0, \lambda_1, \dots, \lambda_{k-1}]$ によって,

$$ M_f^\Lambda(X) = M_f^\Lambda([M_f^{\Lambda_{:k}}([x_0, x_1, \dots, x_{k-1}]), \dots, M_f^{\Lambda_{:k}}([x_0, x_1, \dots, x_{k-1}]), x_k, \dots, x_{n-1}]), $$

という形で成り立つ.

重み付きの標準的な中央値, 最頻値はやはり付随する平均の性質に依存し, 重みなしで成り立つ性質を引き継ぐ.

(2) 列平均
2つの平均 $\mu_a, \mu_b$ による列平均 $\mu_a\boxtimes\mu_b$ は, $\mu_a, \mu_b$ が共にそれぞれ内部性, 対称性, 斉次性, 単調増加性を持つなら, 列平均も同じ性質を持つ.
双対称性, 連続性については極限の交換が発生するため, $\mu_a, \mu_b$ で成り立っても $\mu_a\boxtimes\mu_b$ でも成り立つとは限らない.

  1. 中央値と同様に, 四分位数においてちょうど 25% に当たる点を取れない時の処理もいくつか方法がある. NumPy の np.quartile, np.percentile では $x^\sigma_{i_l^\Lambda}, x^\sigma_{i_u^\Lambda}$ に対して $[(n-1)%1, 1-(n-1)%1]$ で重み付けた算術平均を取っている ($a%b$ は $a$ を $b$ で割った余り, ここでは小数部分).

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?