はじめに
今回はワイブル分布のパラメータ推定において、確率紙による方法1と最尤推定を用いた方法2の比較をします。
結論としては、形状パラメータ m m m については確率紙による推定方法1が優れ、尺度パラメータ η \eta η は両方法で大きな違いはありませんが、若干最尤推定による推定方法2の方が優れているという結果になります。
ただ、両方法についてワイブル分布の形状パラメータ m m m が 0 に近づくにつれ、 尺度パラメータ η \eta η の推定量は正の無限大に発散するため、推定精度は低下します。
最尤推定による推定を改良した場合は両推定方法に勝ります。詳細はこちらの記事 をご覧ください。
概要
前置き
X X X を形状パラメータ m m m 、尺度パラメータ η \eta η のワイブル分布 W ( m , η ) W(m,\eta) W ( m , η ) に従う確率変数とすると、
確率密度関数 f ( x ) f(x) f ( x ) 、累積分布関数 F ( x ) F(x) F ( x ) は
f ( x ) = m η ( x η ) m − 1 exp { − ( x η ) m } F ( x ) = 1 − exp { − ( x η ) m } \begin{aligned}
f(x)&=\dfrac{m}{\eta}\left(\dfrac{x}{\eta} \right)^{m-1}
\exp\left\{-\left(\dfrac{x}{\eta} \right)^{m} \right\} \\
F(x)&=1-\exp\left\{-\left(\dfrac{x}{\eta} \right)^{m} \right\} \\
\end{aligned} f ( x ) F ( x ) = η m ( η x ) m − 1 exp { − ( η x ) m } = 1 − exp { − ( η x ) m }
と表されます。
X ∼ W ( m , η ) X \sim W(m,\eta) X ∼ W ( m , η ) から互いに独立に得られた n n n 個の観測値を小さい順に x ( 1 ) , . . . , x ( n ) x_{(1)},\ ...\ ,x_{(n)} x ( 1 ) , ... , x ( n ) とします。
方法1 確率紙による推定
X X X の累積分布関数 F ( x ) F(x) F ( x ) と観測値 x x x について y = ln [ − ln { 1 − F ( x ) } ] y=\ln{[-\ln{\{1-F(x)\}}]} y = ln [ − ln { 1 − F ( x )} ] と ln x \ln{x} ln x は直線になります。
これを利用し、観測値から ln x , y \ln{x},y ln x , y をプロットし、最小二乗法により未知パラメータを求める方法です。
得られた観測値 x ( i ) x_{(i)} x ( i ) に対し、y i = ln [ − ln { 1 − F ( x ( i ) ) } ] ( i = 1 , . . . , n ) y_{i} = \ln{\left[- \ln{\{ 1-F(x_{(i)})\}} \right]} (i=1, ...\ ,n) y i = ln [ − ln { 1 − F ( x ( i ) )} ] ( i = 1 , ... , n ) とすると、
m , η m,\eta m , η の推定値 m ^ 1 , η ^ 1 \hat{m}_{1}, \hat{\eta}_{1} m ^ 1 , η ^ 1 は
{ m ^ 1 = ∑ i = 1 n ( ln x ( i ) − ln x ‾ ) ( y i − y ˉ ) ∑ i = 1 n ( ln x ( i ) − ln x ‾ ) 2 η ^ 1 = exp [ − y ˉ − m ^ 1 ln x ‾ m ^ 1 ] \left\{\begin{aligned}
\hat{m}_1 &= \dfrac{\sum_{i=1}^{n}(\ln{x_{(i)}} - \overline{\ln{x}})(y_{i}-\bar{y})}
{\sum_{i=1}^{n}(\ln{x_{(i)}}- \overline{\ln{x}})^{2}} \\
\hat{\eta}_1 &= \exp{\left[ -\dfrac{\bar{y}-\hat{m}_1\overline{\ln{x}}}{\hat{m}_1} \right]}
\end{aligned}\right. ⎩ ⎨ ⎧ m ^ 1 η ^ 1 = ∑ i = 1 n ( ln x ( i ) − ln x ) 2 ∑ i = 1 n ( ln x ( i ) − ln x ) ( y i − y ˉ ) = exp [ − m ^ 1 y ˉ − m ^ 1 ln x ]
( y ˉ = 1 n ∑ i = 1 n y i , ln x ‾ = 1 n ∑ i = 1 n ln x ( i ) ) \left( \begin{aligned}
\bar{y}= \dfrac{1}{n}\sum_{i=1}^{n} y_{i}\ ,
\ \overline{\ln{x}} =\dfrac{1}{n} \sum_{i=1}^{n} \ln{x_{(i)}}
\end{aligned} \right) ( y ˉ = n 1 i = 1 ∑ n y i , ln x = n 1 i = 1 ∑ n ln x ( i ) )
と表せます。詳細は [2] をご覧ください。
方法2 最尤推定による推定
X ∼ W ( m , η ) X \sim W(m,\eta) X ∼ W ( m , η ) から互いに独立に得られた n n n 個の観測値を x 1 , . . . , x n x_{1},\ ...\ ,x_{n} x 1 , ... , x n とすると、
m m m の最尤推定量 m ^ 2 \hat{m}_{2} m ^ 2 は
g ( m ) = 1 m + 1 n ∑ i = 1 n ln x i − ∑ i = 1 n x i m ln x i ∑ i = 1 n x i m = 0 \begin{aligned}
g(m)
&= \dfrac{1}{m} + \dfrac{1}{n}\sum_{i=1}^{n}\ln{x_{i}}
-\dfrac{\sum_{i=1}^{n} x_{i}^{m} \ln{x_{i}}}{\sum_{i=1}^{n} x_{i}^{m}} \\
&=0
\end{aligned} g ( m ) = m 1 + n 1 i = 1 ∑ n ln x i − ∑ i = 1 n x i m ∑ i = 1 n x i m ln x i = 0
を満たす m m m となります。
ニュートン法により、以下の漸化式を反復計算することにより m ^ 2 \hat{m}_{2} m ^ 2 を計算します。
m k + 1 = m k − g ( m k ) g ′ ( m k ) \begin{aligned}
m_{k+1}= m_{k}- \dfrac{g(m_{k})}{g'(m_{k})}
\end{aligned} m k + 1 = m k − g ′ ( m k ) g ( m k )
η \eta η の最尤推定量 η ^ 2 \hat{\eta}_{2} η ^ 2 は
η ^ 2 = 1 n ∑ i = 1 n x i m ^ 2 m ^ 2 \begin{aligned}
\hat{\eta}_{2} &= \sqrt[\footnotesize \hat{m}_{2}]{\dfrac{1}{n} \sum_{i=1}^{n} x_{i}^{\hat{m}_{2}}}
\end{aligned} η ^ 2 = m ^ 2 n 1 i = 1 ∑ n x i m ^ 2
と表せます。詳細は [3] をご覧ください。
欠点として、m m m が大きく、n n n が小さいほど、m m m の最尤推定の計算が発散しやすくなります。参考程度に m = 5 , n = 4 m=5,n=4 m = 5 , n = 4 で1万回に1回程度、m = 5 , n = 5 m=5,n=5 m = 5 , n = 5 の場合で10万回に1回程度発生します。m = 5 , n = 6 m=5,n=6 m = 5 , n = 6 の場合では全く発生しません。観測値がすべて近しい値の場合は最尤推定量 m ^ 2 \hat{m}_{2} m ^ 2 の値が大きくなり、発散しやすい傾向にあります。
比較方法
方法の比較は以下の手順で実施します。
逆関数法によりワイブル分布に従う乱数を生成 *詳細は[1]をご覧ください
得られた乱数(観測値)から、各方法において未知パラメータ m , η m,\eta m , η を推定
上記の試行を10000回繰り返し、各方法について推定値の平均値と不偏分散を計算
平均値の相対誤差と、相対化した分散(不偏分散を真値の2乗で割った値)をグラフ化し比較
結果
m m m の推定:確率紙による推定方法1よい。観測値の数が約50以上の場合は、最尤推定による推定方法2がよい。
η \eta η の推定:最尤推定による推定方法2がよい。欠点として、両者ともに m m m が小さい場合は、η \eta η の推定値は正の無限大に発散するため、観測値の数を大きくする必要あり。
Python ソースコード
こちら をご覧ください。
[1] 逆関数法によるワイブル分布に従う乱数の生成
確率密度関数 f ( x ) f(x) f ( x ) 、累積分布関数 F ( x ) F(x) F ( x ) で表される分布に従う乱数の生成方法は、標準一様分布 U ( 0 , 1 ) U(0,1) U ( 0 , 1 ) から得られる乱数 u u u を累積分布関数の逆変換 ( F − 1 ) ( F^{-1} ) ( F − 1 ) をすることにより可能となります。
ワイブル分布の累積分布関数 F ( x ) F(x) F ( x ) の逆関数を求めると、
F ( x ) = 1 − exp { − ( x η ) m } 1 − F ( x ) = exp { − ( x η ) m } ln ( 1 − F ( x ) ) = − ( x η ) m x m = − η m ln ( 1 − F ( x ) ) x = η − ln ( 1 − F ( x ) ) m \begin{aligned}
F(x)&=1-\exp\left\{-\left(\dfrac{x}{\eta} \right)^{m} \right\} \\
1-F(x)&=\exp\left\{-\left(\dfrac{x}{\eta} \right)^{m} \right\} \\
\ln{(1-F(x))} &= -\left( \dfrac{x}{\eta} \right)^{m}\\
x^{m} &= -\eta^{m}\ln{(1-F(x))}\\
x &=\eta\sqrt[\footnotesize m]{-\ln{(1-F(x))}}
\end{aligned} F ( x ) 1 − F ( x ) ln ( 1 − F ( x )) x m x = 1 − exp { − ( η x ) m } = exp { − ( η x ) m } = − ( η x ) m = − η m ln ( 1 − F ( x )) = η m − ln ( 1 − F ( x ))
よって、累積分布関数 F ( x ) F(x) F ( x ) の逆関数 F − 1 ( x ) F^{-1}(x) F − 1 ( x ) は
F − 1 ( x ) = η − ln ( 1 − x ) m \begin{aligned}
F^{-1}(x)&=\eta\sqrt[\footnotesize m]{-\ln{(1-x)}}
\end{aligned} F − 1 ( x ) = η m − ln ( 1 − x )
となります。
以上より、U ( 0 , 1 ) U(0,1) U ( 0 , 1 ) に従う一様乱数 u u u を生成後、 x = F − 1 ( u ) x=F^{-1}(u) x = F − 1 ( u ) と変換すれば、ワイブル分布 W ( m , η ) W(m,\eta) W ( m , η ) に従う乱数を生成することができます。
[2] 方法1:確率紙によるパラメータ推定
まず、ln ln 1 1 − F ( x ) \ln{\ln{\dfrac{1}{1-F(x)}}} ln ln 1 − F ( x ) 1 を計算すると、
ln ln 1 1 − F ( x ) = ln [ − ln { 1 − F ( x ) } ] = ln ( x η ) m = m ( ln x − ln η ) \begin{aligned}
\ln{\ln{\dfrac{1}{1-F(x)}}} &= \ln{[-\ln{\{1-F(x)\}}]} \\
&= \ln{\left(\dfrac{x}{\eta} \right)^m} \\
&= m( \ln{x} - \ln{\eta} )
\end{aligned} ln ln 1 − F ( x ) 1 = ln [ − ln { 1 − F ( x )} ] = ln ( η x ) m = m ( ln x − ln η )
と表すことができます。 y = ln [ − ln { 1 − F ( x ) } ] y=\ln{[-\ln{\{1-F(x)\}}]} y = ln [ − ln { 1 − F ( x )} ] とすると y y y と ln x \ln{x} ln x は線形の関係にあることが分かります。
よって、X ∼ W ( m , η ) X \sim W(m,\eta) X ∼ W ( m , η ) から互いに独立に得られた n n n 個の観測値を小さい順に並べたものを x ( 1 ) , . . . , x ( n ) x_{(1)},\ ...\ ,x_{(n)} x ( 1 ) , ... , x ( n ) とし、 y i = ln [ − ln { 1 − F ( x ( i ) ) } ] y_{i} = \ln{\left[- \ln{\{ 1-F(x_{(i)})\}} \right]} y i = ln [ − ln { 1 − F ( x ( i ) )} ] とした場合、ln x ( i ) \ln{x_{(i)}} ln x ( i ) と y i y_{i} y i をプロットすると直線になります。累積分布関数 F ( x ( i ) ) F(x_{(i)}) F ( x ( i ) ) の推定については Benard の近似式を使用します。
F ( x ( i ) ) ≈ i − 0.3 n + 0.4 \begin{aligned}
F(x_{(i)}) \approx \dfrac{i-0.3}{n+0.4}
\end{aligned} F ( x ( i ) ) ≈ n + 0.4 i − 0.3
累積分布関数の推定に関してはこちらの記事 をご覧ください。
ln x ( i ) \ln{x_{(i)}} ln x ( i ) と y i y_{i} y i について y = a ln x + b y=a \ln{x} + b y = a ln x + b と直線近似することを考えます。
最小二乗法により、係数 a , b a,b a , b については
{ a = ∑ i = 1 n ( ln x ( i ) − ln x ‾ ) ( y i − y ˉ ) ∑ i = 1 n ( ln x ( i ) − ln x ‾ ) 2 b = y ˉ − a ln x ‾ \left\{\begin{aligned}
a&=\dfrac{\sum_{i=1}^{n}(\ln{x_{(i)}} - \overline{\ln{x}})(y_{i}-\bar{y})}
{\sum_{i=1}^{n}(\ln{x_{(i)}}- \overline{\ln{x}})^{2}} \\
b&= \bar{y} - a\ \overline{\ln{x}}
\end{aligned}\right. ⎩ ⎨ ⎧ a b = ∑ i = 1 n ( ln x ( i ) − ln x ) 2 ∑ i = 1 n ( ln x ( i ) − ln x ) ( y i − y ˉ ) = y ˉ − a ln x
( y ˉ = 1 n ∑ i = 1 n y i , ln x ‾ = 1 n ∑ i = 1 n ln x ( i ) ) \left( \begin{aligned}
\bar{y}= \dfrac{1}{n}\sum_{i=1}^{n} y_{i}\ ,
\ \overline{\ln{x}} =\dfrac{1}{n} \sum_{i=1}^{n} \ln{x_{(i)}}
\end{aligned} \right) ( y ˉ = n 1 i = 1 ∑ n y i , ln x = n 1 i = 1 ∑ n ln x ( i ) )
で表されます。 a = m , b = − m ln η a=m, b=-m\ln{\eta} a = m , b = − m ln η から、確率紙による m , η m,\eta m , η の推定量 m ^ 1 , η ^ 1 \hat{m}_{1},\hat{\eta}_{1} m ^ 1 , η ^ 1 は
{ m ^ 1 = ∑ i = 1 n ( ln x ( i ) − ln x ‾ ) ( y i − y ˉ ) ∑ i = 1 n ( ln x ( i ) − ln x ‾ ) 2 η ^ 1 = exp [ − y ˉ − m ^ 1 ln x ‾ m ^ 1 ] \left\{\begin{aligned}
\hat{m}_1 &= \dfrac{\sum_{i=1}^{n}(\ln{x_{(i)}} - \overline{\ln{x}})(y_{i}-\bar{y})}
{\sum_{i=1}^{n}(\ln{x_{(i)}}- \overline{\ln{x}})^{2}} \\
\hat{\eta}_1 &= \exp{\left[ -\dfrac{\bar{y}-\hat{m}_1\overline{\ln{x}}}{\hat{m}_1} \right]}
\end{aligned}\right. ⎩ ⎨ ⎧ m ^ 1 η ^ 1 = ∑ i = 1 n ( ln x ( i ) − ln x ) 2 ∑ i = 1 n ( ln x ( i ) − ln x ) ( y i − y ˉ ) = exp [ − m ^ 1 y ˉ − m ^ 1 ln x ]
となります。
[3] 方法2:ワイブル分布の最尤推定によるパラメータ推定
ワイブル分布の尤度関数を L ( m , η ) L(m,\eta) L ( m , η ) とすると、観測値を x 1 , . . . , x n x_{1},\ ...\ ,x_{n} x 1 , ... , x n として、
L ( m , η ) = ∏ i = 1 n m η ( x i η ) m − 1 exp [ − ( x i η ) m ] = ( m η ) n { ∏ i = 1 n ( x i η ) m − 1 } exp [ − ∑ i = 1 n ( x i η ) m ] \begin{aligned}
L(m,\eta)
&=\prod_{i=1}^{n}\dfrac{m}{\eta}\left( \dfrac{x_{i}}{\eta} \right) ^{m-1}
\exp{\left[- \left( \dfrac{x_{i}}{\eta} \right)^{m} \right]}\\
&=\left( \dfrac{m}{\eta} \right)^{n}
\left\{ \prod_{i=1}^{n}\left( \dfrac{x_{i}}{\eta} \right) ^{m-1} \right\}
\exp{\left[ -\sum_{i=1}^{n}\left( \dfrac{x_{i}}{\eta}\right)^{m} \right]}
\end{aligned} L ( m , η ) = i = 1 ∏ n η m ( η x i ) m − 1 exp [ − ( η x i ) m ] = ( η m ) n { i = 1 ∏ n ( η x i ) m − 1 } exp [ − i = 1 ∑ n ( η x i ) m ]
対数尤度関数については
ln L ( m , η ) = n ( ln m − ln η ) + ( m − 1 ) ∑ i = 1 n ( ln x i − ln η ) − ∑ i = 1 n ( x i η ) m \begin{aligned}
\ln{L(m,\eta)}
&=n(\ln{m} -\ln{\eta}) + (m-1)\sum_{i=1}^{n}(\ln{x_{i}}-\ln{\eta})
-\sum_{i=1}^{n}\left( \dfrac{x_{i}}{\eta}\right)^{m} \\
\end{aligned} ln L ( m , η ) = n ( ln m − ln η ) + ( m − 1 ) i = 1 ∑ n ( ln x i − ln η ) − i = 1 ∑ n ( η x i ) m
対数尤度関数が最大となる m , η m,\eta m , η を求めると、以下の2式が成り立ちます。
{ ∂ ∂ m ln L ( m , η ) = 0 ∂ ∂ η ln L ( m , η ) = 0 \left\{\begin{aligned}
\dfrac{\partial}{\partial m}\ln{L(m,\eta)} = 0 \\
\dfrac{\partial}{\partial \eta}\ln{L(m,\eta)} = 0 \\
\end{aligned}\right. ⎩ ⎨ ⎧ ∂ m ∂ ln L ( m , η ) = 0 ∂ η ∂ ln L ( m , η ) = 0
η \eta η については
∂ ∂ η ln L ( m , η ) = − n η + ( m − 1 ) ∑ i = 1 n ( − 1 η ) − ∑ i = 1 n ( − m x i m η m + 1 ) = − m n η + m η ∑ i = 1 n ( x i η ) m = m η ( − n + ∑ i = 1 n ( x i η ) m ) = 0 \begin{aligned}
\dfrac{\partial}{\partial \eta}\ln{L(m,\eta)}
&=-\dfrac{n}{\eta} + (m-1) \sum_{i=1}^{n}\left( -\dfrac{1}{\eta} \right)
-\sum_{i=1}^{n}\left( -m\dfrac{x_{i}^{m}}{\eta^{m+1}}\right) \\
&=-\dfrac{mn}{\eta}
+\dfrac{m}{\eta}\sum_{i=1}^{n}\left( \dfrac{x_{i}}{\eta}\right)^{m} \\
&=\dfrac{m}{\eta} \left(-n + \sum_{i=1}^{n}\left( \dfrac{x_{i}}{\eta}\right)^{m} \right) =0\\
\end{aligned} ∂ η ∂ ln L ( m , η ) = − η n + ( m − 1 ) i = 1 ∑ n ( − η 1 ) − i = 1 ∑ n ( − m η m + 1 x i m ) = − η mn + η m i = 1 ∑ n ( η x i ) m = η m ( − n + i = 1 ∑ n ( η x i ) m ) = 0
よって、
n = ∑ i = 1 n ( x i η ) m η m = 1 n ∑ i = 1 n x i m η = 1 n ∑ i = 1 n x i m m \begin{aligned}
n &=\sum_{i=1}^{n}\left( \dfrac{x_{i}}{\eta}\right)^{m}\\
\eta^{m} &=\dfrac{1}{n} \sum_{i=1}^{n} x_{i}^{m} \\
\eta &= \sqrt[\footnotesize m]{\dfrac{1}{n} \sum_{i=1}^{n} x_{i}^{m}}
\end{aligned} n η m η = i = 1 ∑ n ( η x i ) m = n 1 i = 1 ∑ n x i m = m n 1 i = 1 ∑ n x i m
m m m については
∂ ∂ m ln L ( m , η ) = n m + ∑ i = 1 n ( ln x i − ln η ) − ∑ i = 1 n ( x i η ) m ( ln x i − ln η ) = n m + ∑ i = 1 n ln x i − n ln η + ln η ∑ i = 1 n ( x i η ) m − ∑ i = 1 n ( x i η ) m ln x i = n m + ∑ i = 1 n ln x i − 1 η m ∑ i = 1 n x i m ln x i ( ∵ n = ∑ i = 1 n ( x i η ) m ) = n m + ∑ i = 1 n ln x i − n ∑ i = 1 n x i m ln x i ∑ i = 1 n x i m = n ( 1 m + 1 n ∑ i = 1 n ln x i − ∑ i = 1 n x i m ln x i ∑ i = 1 n x i m ) = 0 \begin{aligned}
\dfrac{\partial}{\partial m}\ln{L(m,\eta)}
&=\dfrac{n}{m} + \sum_{i=1}^{n}(\ln{x_{i}}-\ln{\eta})
-\sum_{i=1}^{n} \left( \dfrac{x_{i}}{\eta}\right)^{m} (\ln{x_{i}} -\ln{\eta})\\
&=\dfrac{n}{m} + \sum_{i=1}^{n}\ln{x_{i}}-n\ln{\eta}
+\ln{\eta} \sum_{i=1}^{n}\left( \dfrac{x_{i}}{\eta}\right)^{m}
-\sum_{i=1}^{n} \left( \dfrac{x_{i}}{\eta}\right)^{m} \ln{x_{i}}
\\
&=\dfrac{n}{m} + \sum_{i=1}^{n}\ln{x_{i}}
-\dfrac{1}{\eta^{m}}\sum_{i=1}^{n} x_{i}^{m} \ln{x_{i}}
\left(\because n = \sum_{i=1}^{n}\left( \dfrac{x_{i}}{\eta}\right)^{m} \right)\\
&=\dfrac{n}{m} + \sum_{i=1}^{n}\ln{x_{i}}
-n\dfrac{\sum_{i=1}^{n} x_{i}^{m} \ln{x_{i}}}{\sum_{i=1}^{n} x_{i}^{m}} \\
&=n\left( \dfrac{1}{m} + \dfrac{1}{n}\sum_{i=1}^{n}\ln{x_{i}}
-\dfrac{\sum_{i=1}^{n} x_{i}^{m} \ln{x_{i}}}{\sum_{i=1}^{n} x_{i}^{m}} \right) =0 \\
\end{aligned} ∂ m ∂ ln L ( m , η ) = m n + i = 1 ∑ n ( ln x i − ln η ) − i = 1 ∑ n ( η x i ) m ( ln x i − ln η ) = m n + i = 1 ∑ n ln x i − n ln η + ln η i = 1 ∑ n ( η x i ) m − i = 1 ∑ n ( η x i ) m ln x i = m n + i = 1 ∑ n ln x i − η m 1 i = 1 ∑ n x i m ln x i ( ∵ n = i = 1 ∑ n ( η x i ) m ) = m n + i = 1 ∑ n ln x i − n ∑ i = 1 n x i m ∑ i = 1 n x i m ln x i = n ( m 1 + n 1 i = 1 ∑ n ln x i − ∑ i = 1 n x i m ∑ i = 1 n x i m ln x i ) = 0
となります。 m m m については解くことができないため、ニュートン法を使用します。
g ( m ) = 1 m + 1 n ∑ i = 1 n ln x i − ∑ i = 1 n x i m ln x i ∑ i = 1 n x i m \begin{aligned}
g(m)= \dfrac{1}{m} + \dfrac{1}{n}\sum_{i=1}^{n}\ln{x_{i}}
-\dfrac{\sum_{i=1}^{n} x_{i}^{m} \ln{x_{i}}}{\sum_{i=1}^{n} x_{i}^{m}}
\end{aligned} g ( m ) = m 1 + n 1 i = 1 ∑ n ln x i − ∑ i = 1 n x i m ∑ i = 1 n x i m ln x i
とすると
g ′ ( m ) = − 1 m 2 − ∑ i = 1 n x i m ( ln x i ) 2 ∑ i = 1 n x i m − ∑ i = 1 n x i m ln x i ( − ∑ i = 1 n x i m ln x i ( ∑ i = 1 n x i m ) 2 ) = − 1 m 2 − ∑ i = 1 n x i m ( ln x i ) 2 ∑ i = 1 n x i m + ( ∑ i = 1 n x i m ln x i ∑ i = 1 n x i m ) 2 \begin{aligned}
g'(m)
&= -\dfrac{1}{m^{2}} - \dfrac{\sum_{i=1}^{n} x_{i}^{m} (\ln{x_{i}})^{2}}{\sum_{i=1}^{n} x_{i}^{m}}
-\sum_{i=1}^{n} x_{i}^{m} \ln{x_{i}}
\left( - \dfrac{\sum_{i=1}^{n} x_{i}^{m} \ln{x_{i}}}
{ \left( \sum_{i=1}^{n} x_{i}^{m} \right)^{2} } \right) \\
&= -\dfrac{1}{m^{2}} - \dfrac{\sum_{i=1}^{n} x_{i}^{m} (\ln{x_{i}})^{2}}{\sum_{i=1}^{n} x_{i}^{m}}
+ \left( \dfrac{\sum_{i=1}^{n} x_{i}^{m} \ln{x_{i}}}
{ \sum_{i=1}^{n} x_{i}^{m} } \right)^{2} \\
\end{aligned} g ′ ( m ) = − m 2 1 − ∑ i = 1 n x i m ∑ i = 1 n x i m ( ln x i ) 2 − i = 1 ∑ n x i m ln x i ( − ( ∑ i = 1 n x i m ) 2 ∑ i = 1 n x i m ln x i ) = − m 2 1 − ∑ i = 1 n x i m ∑ i = 1 n x i m ( ln x i ) 2 + ( ∑ i = 1 n x i m ∑ i = 1 n x i m ln x i ) 2
となります。
初期値 m 0 m_{0} m 0 を方法1で推定した m ^ 1 \hat{m}_{1} m ^ 1 として、以下の漸化式を反復計算することで、方法2の m m m の最尤推定量 m ^ 2 \hat{m}_{2} m ^ 2 を求めます。
m k + 1 = m k − g ( m k ) g ′ ( m k ) \begin{aligned}
m_{k+1}= m_{k}- \dfrac{g(m_{k})}{g'(m_{k})}
\end{aligned} m k + 1 = m k − g ′ ( m k ) g ( m k )
η \eta η の最尤推定量 η ^ 2 \hat{\eta}_{2} η ^ 2 は m ^ 2 \hat{m}_{2} m ^ 2 を使用して、
η ^ 2 = 1 n ∑ i = 1 n x i m ^ 2 m ^ 2 \begin{aligned}
\hat{\eta}_{2} &= \sqrt[\footnotesize \hat{m}_{2}]{\dfrac{1}{n} \sum_{i=1}^{n} x_{i}^{\hat{m}_{2}}}
\end{aligned} η ^ 2 = m ^ 2 n 1 i = 1 ∑ n x i m ^ 2
より求めます。
簡易シミュレーションによる比較結果
前置き
本項では、pythonを使用したシミュレーションにより以下の2方法によるパラメータ推定の精度を比較します。
方法1:確率紙による推定
方法2:最尤推定量による推定
方法の比較は以下の手順で実施します。
逆関数法によりワイブル分布に従う乱数を生成
得られた乱数(観測値)から、各方法において未知パラメータ m , η m,\eta m , η を推定
上記の試行を10000回繰り返し、各方法について推定値の平均値と不偏分散を計算
平均値の相対誤差と、相対化した分散(不偏分散を真値の2乗で割った値)をグラフ化し比較
推定精度の評価には”平均値と真値の相対誤差”と”不偏分散を真値の二乗で割った、相対化した分散”を使用します。
具体的には、未知パラメータの真値を θ \theta θ 、i i i 回目の推定値を θ ^ i \hat{\theta}_{i} θ ^ i 、推定値の平均を θ ^ m e a n \hat{\theta}_{mean} θ ^ m e an 、不偏分散を S θ ^ 2 S^{2}_{\hat{\theta}} S θ ^ 2 、試行回数を N N N として、
推定値の平均値の相対誤差 = θ ^ m e a n − θ θ =\dfrac{\hat{\theta}_{mean}-\theta}{\theta} = θ θ ^ m e an − θ
相対化した分散 = S θ ^ 2 θ 2 =\dfrac{S^{2}_{\hat{\theta}}}{\theta^{2}} = θ 2 S θ ^ 2
θ ^ m e a n = 1 N ∑ i = 1 N θ ^ i , S θ ^ 2 = 1 N − 1 ∑ i = 1 N ( θ ^ i − θ ^ m e a n ) 2 \begin{aligned}
\hat{\theta}_{mean} = \dfrac{1}{N}\sum_{i=1}^{N} \hat{\theta}_{i} ,\
S^{2}_{\hat{\theta}} = \dfrac{1}{N-1}\sum_{i=1}^{N} (\hat{\theta}_{i} - \hat{\theta}_{mean})^{2}
\end{aligned} θ ^ m e an = N 1 i = 1 ∑ N θ ^ i , S θ ^ 2 = N − 1 1 i = 1 ∑ N ( θ ^ i − θ ^ m e an ) 2
と表せます。
結果
最初に、m m m を 0.1 0.1 0.1 から 5 5 5 まで変化させたときの推定値の平均の相対誤差、相対化した分散をグラフ化したものを以下に示します。
条件:m = 0.1 , . . . , 5.0 m=0.1,\ ...\ ,5.0 m = 0.1 , ... , 5.0 、η = 100 \eta=100 η = 100 、乱数の数 n = 10 n=10 n = 10 、試行回数 N = 10000 N=10000 N = 10000
図1-1:m m m を変化させたときの各方法の相対誤差と分散の推移
m m m が小さい場合は η \eta η の推定値は非常に大きくなります。m = 0.1 , . . . , 0.5 m =0.1,\ ...\ ,0.5 m = 0.1 , ... , 0.5 の場合は別途以下のグラフに示します。
図1-2:m m m を変化させたときの各方法の相対誤差と分散の推移 ( 0 < m < 0.5 ) (0 \lt m \lt 0.5) ( 0 < m < 0.5 )
次に、η \eta η を 1 1 1 から 10000 10000 10000 まで変化させたときの推定値の平均の相対誤差、相対化した分散をグラフ化したものを以下に示します。
条件:m = 0.5 m=0.5 m = 0.5 、η = 1 , 2 , 5 , 10 , . . . , 10000 \eta=1,2,5,10,\ ...\ ,10000 η = 1 , 2 , 5 , 10 , ... , 10000 、乱数の数 n = 10 n=10 n = 10 、試行回数 N = 10000 N=10000 N = 10000
図2:η \eta η を変化させたときの各方法の相対誤差と分散の推移
最後に、乱数の数 n n n を 5 5 5 から 10000 10000 10000 まで変化させたときの推定値の平均の相対誤差、相対化した分散をグラフ化したものを以下に示します。
条件:m = 0.5 m=0.5 m = 0.5 、η = 100 \eta=100 η = 100 、乱数の数 n = 5 , 10 , 20 , 50 , . . . , 10000 n=5,10,20,50,\ ...\ ,10000 n = 5 , 10 , 20 , 50 , ... , 10000 、試行回数 N = 10000 N=10000 N = 10000
図3:生成乱数の数 n n n を変化させたときの各方法の相対誤差と分散の推移
まとめ
以上の結果から、m m m の推定については確率紙による推定方法1が勝りますが、乱数の生成数 = 観測値の数が約50以上の場合は、最尤推定による推定方法2が優れます。乱数の生成数 n n n が小さい場合は相対誤差が大きいことから、両方法の推定量は m m m の不偏推定量ではないことが分かります。n n n が大きい場合は、相対誤差、分散ともに0に近づくので、一致推定量であると判断できます。
η \eta η による推定は乱数の生成数に関係なく、最尤推定による推定方法2が優れていますが、両者ともに m m m が小さい場合は、η \eta η の推定値は正の無限大に発散するため、推定値の分散が大きくなり、観測値の数=サンプルサイズは大きくする必要があります。
Python ソースコード
こちら をご覧ください。
Discussion