• 締切済み

中央値の求め方

母集団から順次サンプル xi が得られるとします。 十分小さな a>0 に対して y(0) = x0 として y(i) = y(i-1) + (xi - y(i-1)) * a を求めれば、y(i)は母集団の平均値に近づくように思われます。 同様にして z(0) = x0 として z(i) = z(i-1) + sign(xi - z(i-1)) * a を求めれば、z(i)は母集団の中央値に近づくように思われます。 ただし、signは引数の正・ゼロ・負に応じて1,0,-1の値になる関数。 このことに関して理論的に解析されているのでしょうか。 また、a の値は最初は大きくして、次第に小さくしたほうが効率よく精度が上がると思いますが、 これに関しても何か分かっているのでしょうか。

みんなの回答

noname#227064
noname#227064
回答No.1

平均値については y(n) = a(n)x(n) + (1-a(n))a(n-1)x(n-1) + … + (1-a(n))(1-a(n-1))…(1-a(k+1))a(k)x(k) + … + (1-a(n))(1-a(n-1))…(1-a(2))a(1)x(1) + (1-a(n))(1-a(n-1))…(1-a(1))x(0) となるかと思います。 従って、その期待値E[y(n)]と分散V[y(n)]は、母集団の期待値をμ、分散をσ^2とすると E[y(n)] = μ{a(n) + (1-a(n))a(n-1)x(n-1) + … + (1-a(n))(1-a(n-1))…(1-a(k+1))a(k) + … + (1-a(n))(1-a(n-1))…(1-a(2))a(1) + (1-a(n))(1-a(n-1))…(1-a(1))} = μ V[y(n)] = σ^2[a(n)^2 + {(1-a(n))a(n-1)x(n-1)}^2 + … + {(1-a(n))(1-a(n-1))…(1-a(k+1))a(k)}^2 + … + {(1-a(n))(1-a(n-1))…(1-a(2))a(1)}^2 + {(1-a(n))(1-a(n-1))…(1-a(1))}^2] となります。 もし、各a(i)が同じであれば、 E[y(n)] = μ V[y(n)] = σ^2[{a + 2(1-a)^(2n)}/(2-a)] であり、aは十分小さいとのことなのでn→∞とすると、それぞれμとσ^2[a/(2-a)]に収束します。 つまり、a(i)一定のときy(n)はμのまわりをばらつくが、何時までたっても一致しないということです。 中央値についてはよくわかりませんが、z(n)が中央値νへ収束すると仮定すると ν = ν + sign(xi - ν) * a とならないといけませんが、sign(xi - ν)が-1,1の値をとる確率はそれなりにあると思われるので、aは0に収束しないといけません。

a_green_wind
質問者

お礼

詳しく解説していただきありがとうございます。

a_green_wind
質問者

補足

平均値のほうは指数平滑法と同じであること、理論的解析が容易なので、すでに確立された理論が存在するのではないかと思い、参考までに挙げておきました。 中央値は理論的解析は平均値に比べると難しくなると思います。 しかし、式そのものは指数平滑法と類似していますので、すでに研究されていればと思い質問しました。 中央値に対応する式に関しても指数平滑法のように「xx平滑法」などと名付けられていれば教えてください。 それを参考に検索したいと思います。 中央値に対応する式は、実用上大変重要です。 平均値より中央値のほうが安定している(異常値の影響を受けない)だけでなく、xiの値が不明でも計算可能だからです。 おおざっぱな例をあげれば ある病気を治療する薬の最低必要投入量をxiとすれば 各症例ごとにxiは変動します。 xiを知ることはできませんが、薬をyi投入して病気が治れば sign(xi-yi)=-1 病気が治らなければ sign(xi-yi)=1 となり、中央値を計算することができるからです。

関連するQ&A