はしくれエンジニアもどきのメモ

情報・Web系技術・Englishの勉強メモ・備忘録です。

内分点と重み付け平均の考察

内分点と重み付け平均の考察

内分点と重み付け平均の考察メモ

gist: 内分点と重み付け平均 · GitHub

内分点1つの場合

線分ABを l:m に分け,そこを点Pとする. その時の座標はどうなるか?

内分点1つの場合

線分ABの長さを l:m に分けているので, 始点を点A(a<b)とすると,点Pの座標は


\begin{eqnarray}
p
&=& a + \frac{l}{l+m}AB\\
&=& a + \frac{l}{l+m}(b-a)\\
&=& \frac{ma + lb}{l+m}
\end{eqnarray}

点B(a<b)を始点に考えても同じになる.


\begin{eqnarray}
p
&=& b - \frac{m}{l+m}AB\\
&=& b - \frac{m}{l+m}(b-a)\\
&=& \frac{ma + lb}{l+m}
\end{eqnarray}

点の位置を入れ替えても(a>b)この公式は同じになる. (ただし,BAをl:mに分ける場合).

位置関係を入れ替えた場合

点Aを始点にすると


\begin{eqnarray}
p
&=& a - \frac{l}{l+m}BA\\
&=& a - \frac{l}{l+m}(a-b)\\
&=& \frac{ma + lb}{l+m}
\end{eqnarray}

点Bを始点に


\begin{eqnarray}
p
&=& b + \frac{m}{l+m}BA\\
&=& b + \frac{m}{l+m}(a-b)\\
&=& \frac{ma + lb}{l+m}
\end{eqnarray}

なぜ重みが逆になるのか

座標で考えると重みの付き方が逆になる.


\begin{eqnarray}
p &=& \frac{ma + lb}{l+m}
\end{eqnarray}

線分ABを l:m の比で分けると以下が成立する.

$$ AP:PB = l:m $$

ABを使って表すと

$$ AP = l AB \\ PB = m AB $$

$ l:m=0 $で分ける$ (l+m=l) $と,$ AB=AP $が成立.


p
= \frac{0\cdot a + lb}{l+0}
= \frac{l}{l}b=b

重みlのみ考慮すれば点Pは点Bに一致する. つまり,重みlは点Bのほうと連動する.

逆に$ l=0 : m $で分ける$(l+m=m)$と,$AB=PB$


p
= \frac{m a + 0\cdot b}{0+m}
= \frac{m}{m}a=a

重みmのみ考慮すれば点Pは点Aに一致する. つまり,重みmは点Aのほうと連動する.

  1. lが大きい
  2. つまりAPが大きい
  3. AP=AB-PBより,AB固定に考えると,APが大きい=PBが小さい
  4. PBが小さい=点Pが点Bに近い
  5. lと点B座標を使って点Pをほぼ表現可能(残りはmと点A座標で表現される)

これはmが大きい場合も同様に考えることができ,

  1. mが大きい
  2. つまりPBが大きい
  3. PB=AB-APより,AB固定に考えると,PBが大きい=APが小さい
  4. APが小さい=点Pが点Aに近い
  5. mと点A座標を使って点Pをほぼ表現可能(残りはlと点B座標で表現される)

内分点が2つある場合

線分ACを$l:m:n$に分け,

  • $l:(m:n)$に分けた点を点P,
  • $(l:m):n$に分けた点を点Qとする.

点Pと点Qの座標を求める.

内分点が2つある場合

点Aを始点にして,点Pの座標を求めると


\begin{eqnarray}
p
&=& a + \frac{l}{l+m+n}AC\\
&=& a + \frac{l}{l+m+n}(c-a)\\
&=& \frac{(m+n)a + lc}{l+m+n}
\end{eqnarray}

点Cを始点にして,点Qの座標を求めると,


\begin{eqnarray}
q
&=& c - \frac{n}{l+m+n}AC\\
&=& c - \frac{n}{l+m+n}(c-a)\\
&=& \frac{na + (l+m)c}{l+m+n}
\end{eqnarray}

繰り返し内分点を分ける場合

線分ABをl:mで分けその点を点Pとし, さらに線分PCをn:l+mで分ける点を点Q考える.

内分点を繰り返し分ける


p = \frac{ma+lb}{l+m}

\begin{eqnarray}
q
&=& \frac{(l+m)p + nc}{l+m+n} \\
&=& \frac{(l+m)\frac{ma+lb}{l+m} + nc}{l+m+n}\\
&=& \frac{ma+lb + nc}{l+m+n}
\end{eqnarray}

重み付け平均

データが2種類の場合

ここで,データ $x_{A}$ が $n_{A}$ 個,$x_{B}$が$n_{B}$個, その場合の重み付け平均を考える.


\bar{x} = \frac{n_{A} x_{A} + n_{B}x_{B} }{ n_{A} + n_{B} }

例えば,$x_{A}=-1$ が $n_{A} =2 $ 個, $x_{B}=+1$ が $n_{B}=1$ 個の(符号)データの平均を考えると,


\bar{x} = \frac{2\cdot(-1) + 1\cdot(+1)}{2+1}=-\frac{1}{3}

重み付け平均の式は内分点と同じであり, つまり,「重み付け平均 = $x_{A}$と$x_{B}$を結ぶ線分を$n_{B}:n_{A}$で分けた内分点」 になる.

  • $n_{A} > n_{B}$の場合,平均$\bar{x}$は$x_{A}$の方に寄る
  • 逆に,$n_{B} > n_{A}$の場合,平均$\bar{x}$は$x_{B}$の方に寄る

内分点と平均

データが3種類の場合

データが3種類の場合の重み付け平均を考える. 例えば,これはデータに3クラスあって各クラス平均をさらに平均した総平均としてもみることができる.

データ$x_{A}$が$n_{A}$個,$x_{B}$が$n_{B}$個,$x_{C}$が$n_{C}$個があるとすると,


\bar{x} = \frac{n_{A} x_{A} + n_{B}x_{B} + n_{C}x_{C} }{ n_{A} + n_{B} + n_{C}}

「重み付け平均=$x_{A}$と$x_{B}$の線分を $n_{B}:n_{A}$ に分割した平均点とし, この平均点と$x_{C}$の線分を$n_{C}:n_{A}+n_{B}$に分割した内分点」になる.

内分点と外れ値

平均は外れ値に弱いとよく言われる.

$x_{A} << x_{B}$として,$x_{B}$を1つの外れ値(outlier)と考える.

内分点と外れ値

図からわかるように,外れ値があると

  • $x_{A}$と$x_{B}$の線分が外れ値分伸びる.
  • $n_{B}=1:n_{A}$で分割されるので平均値がその分$x_{A}$から離れる.

対策として,$n_{A}=10000 >> n_{B}=1$のように 外れ値でないデータを増やせれば, 平均値のずれを$1/(10000+1)$に抑えることができる.

内分点の重みは信頼度

先程まで$ l:m $の重みを標本の大きさ$n_{A} : n_{B}$で表していたが, これは一般化すると信頼度のように考えることができる.

以下のようなベイズ分布を考える.

  • $x_{A}$を事前分布の位置
  • $x_{B}$を尤度の位置

そうすると,内分点は事後分布の位置のように考えることができる.

例えば,よくあるベイズの考え方で

  • 事前分布を無情報分布,つまり信頼度が低い(ex.ばらつき,分散が大きいなど)
  • 尤度は観測値情報より,無情報分布より信頼度高い(ex.ばらつき,分散が小さいなど)

とすると事後分布は以下のよう見ることができる.

  • 事前分布が尤度により更新されて,事後分布は尤度のほう近づく.
  • また,逆に尤度は観測データのみにfitしているので,未観測データには対応できない,つまりオーバーフィットに近い状態なのでそれを事前分布でフィルタする,つまり,事後分布は尤度より事前分布のほうに近づく.

事後分布の位置は内分点と同じになり,重みは信頼度になる.

内分点とベイズ

これはカルマンフィルタでも考えることができ,

  • 状態システムモデルでの予測値を位置として,重みをその誤差(ex. 等速直線運動の誤差やバネ-ダンパ系の力の誤差)
  • センサによる観測値を位置として,重みをその誤差(観測誤差)(ex.オドメトリやGPSの誤差など)

このとき,内分点がフィルタリングステップの推定値になる.

  • もしシステムモデルの誤差 < 観測誤差: 観測値よりシステムモデルのほう予測値を優先するように重み付けする
  • 逆に,観測誤差 < システムモデルの誤差:観測値の方を優先するように重み付け

この重みがカルマンゲインになる.

参考: シンプルなモデルとイラストでカルマンフィルタを直観的に理解してみる - Qiita