4.p%値の算出 1.パラメータが既知の場合(母集団扱い) ................................................................................. 1 1.1 1 確率変数 ............................................................................................................................ 1 1.2 相関のある 2 確率変数......................................................................................................... 2 1.2.1 X , Y が共に正規分布の場合 ......................................................................................... 2 1.2.2 非正規分布の場合.......................................................................................................... 6 1.2.3 算出例............................................................................................................................ 9 2.パラメータが未知の場合(標本扱い)................................................................................... 19 2.1 正規分布 ............................................................................................................................. 19 2.2 非正規分布 ......................................................................................................................... 24 2.2.1 対数正規分布 ............................................................................................................... 24 2.2.2 ワイブル分布 ............................................................................................................... 25 3.計算例...................................................................................................................................... 28 P%値の算出 1.パラメータが既知の場合(母集団扱い) 1.1 1 確率変数 パーセント点(percentile)とは確率 p の値のことで、本書では p % 値と呼ぶことにします。 文献1のように基準強度特性値として 5%値とする。2)基準弾性特性値は 50%値とする。など と使用されます。50%値は分布形が対称の場合には平均値と同じ意味を持ちます。 5%値あるいは 50%値は、確率分布が既知であれば、クォンタイル関数(逆確率分布関数)か ら算出できます。 例えば、平均値 10 、標準偏差 2.5 の母集団がある場合、5%値は下のようになります。 正規分布 5%値 xp qnorm 0.05 xp 5.888 対数正規分布 パラメータ ln 2 ln 1 CV 2 1 CV 5%値 2.272 0.246 xp qlnorm 0.05 xp 6.471 2P ワイブル分布 パラメータ 2 m 2 m 1 m m m 1 15 m root CV m1 m 10.952 m1 m m 4.542 1 5%値 1 xp ( ln ( 1 0.05) ) 「木質構造設計規準・同解説 m xp 5.695 許容応力度・許容耐力設計法」 4-1 日本建築学会 P%値の算出 このように、対数正規分布(6.471)>正規分布(5.888)>2P ワイブル分布(5.695)となっ て、平均、標準偏差が同じでも仮定する分布形により 5%値は異なる値となります。 表-1 に変動係数の変化させた場合(0.1~0.5)の対数正規分布、正規分布、2P ワイブル分布の 5%値の比を示します。変動係数によらず対数正規分布の 5%値が最も高くなり、変動係数が 0.1 ~0.3 程度ならば正規分布と 2P ワイブル分布の 5%値は近い値となることが分かります。 表- 1 対数正規分布、正規分布、2P ワイブル分布の 5%値の比 変動係数 対数正規分布 正規分布 2P ワイブル分布 0.1 101 100 98 0.2 106 100 96 0.3 117 100 98 0.4 144 100 109 0.5 232 100 155 “R”で p % 値を求めるための関数例は以下の通りです。 pcal<-function(μ,CV,p){#p%値を平均値、変動係数から求める関数 σ<-μ*CV#標準偏差 λ<-log(μ/(1+CV^2)^0.5)#対数正規分布パラメータ ξ<-(log(1+CV^2))^0.5#対数正規パラメータ f2p<-function(m){#2P ワイブルパラメータ算出関数 atai<-CV-(gamma(1+2/m)-gamma(1+1/m)^2)^0.5/gamma(1+1/m) return(atai) } m<-uniroot(f2p,lower=1,upper=15)$root#2P ワイブルパラメータ m η<-μ/gamma(1+1/m)#2P ワイブル分布パラメータη normp<-qnorm(p,μ,σ)#正規分布 P%値 logp<-qlnorm(p,λ,ξ)#対数正規分布 P%値 weip<-qweibull(p,m,η)#2P ワイブル分布 P%値 c(" 正 規 "=normp," 対 数 正 規 "=logp,"2P ワ イ ブ ル "=weip," 対 数 正 規 / 正 規 "=logp/normp,"2P ワ イ ブ ル / 正 規 "=weip/normp) } 1.2 相関のある 2 確率変数 相関のある 2 つの確率変数 X , Y の場合です。 X を MOE、 Y を MOR とすると、MOE による 等級区分材の下限値算出などに用いられます。 1.2.1 X , Y が共に正規分布の場合 2 つの確率変数 X , Y を正規分布、相関係数を とし、 X , Y の平均および標準偏差をそれぞれ 4-2 P%値の算出 x , x , y , y とすれば、同時確率密度関数(joint probability density function)は 1)式で表され ます。 f xy ( x, y, xy ) 1 2 x y 1 xy 2 x 2 x x x 2 xy x x 1 exp 2 2 (1 xy ) y x y y y y 2 ・・・ 1) x 10, x 2.5, y 40, y 10 の各確率密度関数を描画すると、図-1のようになります。 (周辺密度関数(marginal density function)と呼ばれます。) 0.2 y 10, y 2.5 0.15 0.1 x 40, x 10 0.05 0 0 20 40 60 80 図- 1 周辺密度関数 各確率変数の 5%値をクォンタイル関数で算出すると下記のようになります。 x05 qnorm 0.05 x x x05 5.888 y05 qnorm 0.05 y y y05 23.551 同時確率密度は図-2 のようになり、4 x 5 の範囲の同時確率密度は図-3 のようになります。 (X=MOE、Y=MOR xy 0.7 、 x 10, x 2.5, y 40, y 10 ) すなわち、図-3 は MOE による区分材の確率密度を表すことになります。 4-3 P%値の算出 図- 2 同時確率密度 図- 3 4 x 5 の同時確率密度 X x に お け る Y の p% 値 を 求 め る た め に は 、 X x で の Y の 条 件 付 確 率 密 度 関 数 (conditional density function f x y y x )を知る必要があります。 同時確率密度関数( f xy x, y )、Y の確率密度関数( f y y )、条件付確率密度関数( f x y y x ) には 2)式の関係が成り立ちます。 f xy x, y f x y x y f x x ・・・ 2) 4-4 P%値の算出 1)式を変形すると 3)式となりますから 2)式を参照して、 X x での Y の条件付確率密度関 数( f x y y x )は 4)式となります。 f xy x, y 1 2 y 1 xy 2 2 y y y xy x x x 1 exp 2 2 y 1 xy ・・・ 3) 1 x 2 1 x exp 2 y 2 x fx y y x 1 2 y 1 xy 4)式は平均値が y xy 2 2 y y y xy x x x 1 exp 2 y 1 xy2 ・・・ 4) y 2 x x 、標準偏差が y 1 xy の正規分布になっており、Y x 軸に平行に切り取った分布は正規分布となることを示しています。また、重みなしの直線回帰式 を算出する仮定と同じになります。逆に言えば、重みなしの直線回帰は確率変数 X , Y を共に正規 分布と仮定していることになります。 x 5,10,15 における Y の条件付確率密度は図-4 となります。 0.06 x 10 x5 0.04 x 15 0.02 0 0 20 40 60 80 図- 4 条件付確率密度関数( x 5,10,15 x 10, x 2.5, y 40, y 10 ) 条件付確率密度関数(この場合は正規分布)が既知であるため、5%値は正規分布のクォンタイ ルタイル関数を使って算出でき、 x 5,10,15 について算出すると以下のようになります。 4-5 P%値の算出 y x yp x0 p qnorm p y xy yp ( 5 0.05) 14.253 2 x0 x y 1 xy yp ( 15 0.05) 42.253 yp ( 20 0.05) 56.253 区分を行わない場合(周辺確率密度関数)の 5%値は y p 23.551 でしたが、この値と等しくな る x を求めると x 8.321 となります。このため、 x 8.321 より小さい区分とした場合には y の 5%値が下がり、逆に x 8.321 より大きい区分とすると y の 5%値は上がることになります。 x0 0 20 60 5%値 40 20 0 0 5 10 15 20 x 図- 5 y の 5%値( y p ) 1.2.2 非正規分布の場合 確率変数 X , Y が非正規分布であっても、何らか方法で正規分布扱いができれば 3)式に準じて 同時確率密度関数が定義できそうです。 このために等価正規分布パラメータという概念を導入します。等価正規分布パラメータとは非 正規分布確率変数 X , Y の任意の値において、確率と確率密度が等しい正規分布のパラメータのこ とを言います。 (理論的には Rosenblatt 変換) 例えば、確率変数 X の x における正規分布のパラメータを zx , zx とすると z x x zx は標準 zx 正規分布となりますから 5)、6)式を満たすパラメータを見出すことができるということです。 x zx zx 確率が等しい: FX x zx 4-6 ・・・ 5) P%値の算出 x zx zx zx 確率密度が等しい: f X x ここに ・・・ 6) Fx x , f x ( x) :累積確率分布関数、確率密度関数 , :標準正規分布の累積確率分布関数、確率密度関数 6)式、7)式を解いて zx , zx は 8)式となります。 zx x zx 1 F x x , zx 1 Fx x fx x ・・・ 7) すなわち、非正規分布の同時確率密度関数は 3)式における x , x , y , y を zx , zx , zy , zy(等 価正規分布パラメータ)に置き換えることで定義できます。しかし、相関係数( xy )と等価正 規分布空間における相関係数( zxy )とは同じ値にはなりませんので、 zxy を xy から算出する 必要があります。 相関係数( xy )は平均値 x , y のまわりの結合二次積率(共分散 Cov X , Y )を標準偏差 x , y で除したものとして 8)式で定義されます。 ( x , y , x , y は等価正規分布パラメータではありま せん。 ) xy ここに x y f x, y, dxdy x y xy zxy x y ・・・ 8) f xy x, y, zxy :同時確率密度関数 8)式での定義域は仮定する確率分布形より異なりますので、標準正規化空間( Z 空間)で書 き換えると 9)式となります。これを解いて換算相関係数 zxy を算出することになりますが、非 線形の方程式を解くことになります。 4-7 P%値の算出 FX 1 z x x xy x FY ここに Fx 1 z y y y f ZXY zx , z y , zxy dzx dz y ・・・ 9) , Fy 1 :確率変数 X , Y のクォンタイル関数 f zxy ( z x , z y , zxy ) zx 1 1 2 1 zxy 2 1 2 2 exp zx 2 zxy zx z y z y 2 2 (1 zxy ) y zy x zx , zy 、 zxy :換算相関係数 zx zy zx , zx , zy , zy :等価正規分布パラメータ 以上のことから、非正規分布の同時確率密度関数は 10)式となります。 f xy x, y 1 2 zy 1 zxy 2 2 zy x zx y zy zxy zx 1 exp 2 2 1 zy zxy ・・・ 10) 1 x 2 1 zx exp 2 2 zy zx ただし、 zx , zx , zy , zy (等価正規分布パラメータ)、 zxy :換算相関係数 同様に X x での Y の条件付確率密度関数( f x y y x )は 11)式となります。 fx y y x 1 2 zy 1 zxy 2 2 zy x zx y zy zxy zx 1 ・・・ 11) exp 2 2 zy 1 zxy すなわち、平均値が 0 zy zxy zy 2 x zx 、標準偏差が 0 zy 1 zxy の正規分布 zx になっていることが分かります。 4-8 P%値の算出 このため、 X x での Y の 5%値( y p )は、クォンタイル関数( qnorm p, 0 , 0 )から求めら れるように感じますが、 0 , 0 が y の関数ですので、12)式を満たす y p を求める収束計算が必要 となります。( pnorm :正規分布の確率分布関数) pnorm ( y p , 0 , 0 ) p 1.2.3 ・・・ 12) 算出例 X :平均値 x 100 、変動係数 cv x 0.1 、 Y :平均値 y 35 、変動係数 cv y 0.2 、相関 係数 xy 0.7 の X の 25%値、50%値、75%値に対する Y の 5%値算出例を示します。 ① X =正規分布、 Y =正規分布 パラメータ x 100 cv x 0.1 x x cv x x 10 y 35 cv y 0.2 y y cv y y 7 xy 0.7 相関係数 周辺密度関数(marginal density function) f x ( x) dnorm x x x 0.04 fx( x) 0.02 0 60 80 100 120 x 4-9 140 P%値の算出 Y(正規分布) Y周辺密度関数(marginal density function) f y ( y) dnorm y y y Y周辺密度関数のp%値 ypm ( p) qnorm p y y Y条件付確率密度関数(conditional density function) y x y x f yxc y x0 dnorm y y xy 2 x0 x y 1 xy Y条件付確率密度関数のp%値 ypc x0 p qnorm p y xy 2 x0 x y 1 xy ypm ( 0.05) 23.486 Y周辺密度関数の5%値 Y条件付確率密度関数の5%値 x25 93.255 ypc x25 0.05 23.472 x50 100 ypc x50 0.05 26.777 x75 106.745 ypc x75 0.05 30.082 確率密度 0.08 fy( y) 0.06 fyxc y x25 fyxc y x50 fyxc y x75 0.04 0.02 0 10 20 30 40 y 4-10 50 60 P%値の算出 ② X =正規分布、 Y =2P ワイブル分布 X(正規分布) パラメータ x 100 x 10 周辺(marginal) f x ( x) dnorm x x x 確率密度関数 x x 3 x x 3 x 0.04 fx( x) 0.02 0 60 80 100 120 140 x 確率分布関数 Fx ( x) pnorm x x x クォンタイル関数 qFx px px pmin if px 0 px pmax if px 1 atai qnorm px x x atai x25 qFx ( 0.25 ) x25 93.255 x50 qFx ( 0.5 ) x50 100 x75 qFx ( 0.75 ) x75 106.745 等価正規変換 zx ( x) q Fx ( x) f x ( x) zx ( x) x zx ( x) q F x ( x) 4-11 P%値の算出 Y(2Pワイブル) パラメータ y 35 y 35 y 7 y 7 Yの2Pワイブル分布パラメータ算出 mcal CV m1 m root CV m2 m1 m m m1 m 2 m m1 m m y mcal y y 1 y 37.801 my mcal y y 2 my 5.792 周辺(marginal) 確率密度関数 my y my my y f y ( y) y exp y y 確率分布関数 y my F y ( y) 1 exp y クォンタイル関数 qF y py py pmin if py 0 py pmax if py 1 1 atai ln 1 py my y atai 等価正規変換 zy ( y) q F y ( y) f y ( y) zy ( y) y zy ( y) q F y ( y) 4-12 P%値の算出 Y周辺密度関数のp%値 Y周辺密度関数の5%値 ypm ( p) qFy ( p) ypm ( 0.05) 22.635 Y条件付確率密度関数(conditional density function) f yxc y x0 zxy dnorm y zy ( y) zxy zy ( y) zx x0 2 x0 zx x0 zy ( y) 1 zxy Y条件付確率密度関数のp%値 ypccal xyp zxy p y x yp qnorm p y zxy 2 xyp x y 1 zxy atai root p f yxc yp xyp zxy yp atai 換算相関係数の算出 関数定義 x、y、z x、z yの定義 x zx qFx zx zx ( x) q F x ( x) y zy qFy zy zy ( y) q Fy ( y) z空間同時確率密度関数 f z zx zy zxy zx2 2 zxy zx zy zy2 exp 2 2 2 1 zxy 2 1 zxy 1 a a 10 XY空間相関係数定義 xycal zxy a a a x zx x y zy y f z zx zy zxy d zx d zy x y XY空間同時確率密度関数 f xy x y zxy f z zx ( x) zy ( y) zxy 4-13 f x ( x) f y ( y) zx ( x) zy ( y) P%値の算出 算出 精度 初期値 TOL 10 10 zxy xy zxy 0.7 zxy root xy xycal zxy zxy zxy 0.70204 確認 xycal zxy 0.7 xy xycal zxy 0 Y条件付確率密度関数(conditional density function) f yxc y x0 zxy dnorm y zy ( y) zxy zy ( y) zx x0 2 x0 zx x0 zy ( y) 1 zxy Y条件付確率密度関数のp%値 ypccal xyp zxy p y x yp qnorm p y zxy 2 xyp x y 1 zxy atai root p f yxc yp xyp zxy yp atai Y条件付確率密度関数の5%値 ypccal x25 zxy 0.05 27.501 x25 93.255 ypccal x50 zxy 0.05 30.929 x50 100 ypccal x75 zxy 0.05 34.123 x75 106.745 確率密度 0.1 fy( y) 0.05 fyxc y x50 zxy fyxc y x75 zxy fyxc y x25 zxy 0 10 20 30 40 y 4-14 50 60 P%値の算出 ③ X =2P ワイブル分布、 Y =2P ワイブル分布 X(2Pワイブル分布 ) パラメータ x 100 x 10 Xの2Pワイブル分布パラメータ算出 x mcal x x 1 x 104.323 mx mcal x x 2 mx 12.093 周辺(marginal) mx x mx mx x f x ( x) x exp x x 確率密度関数 x x 3 x x 3 x 0.06 0.04 fx( x) 0.02 0 60 80 100 120 140 x 確率分布関数 x mx Fx ( x) 1 exp x クォンタイル関数 qFx px px pmin if px 0 px pmax if px 1 1 atai ln 1 px atai x25 qFx ( 0.25 ) x25 94.11 x50 qFx ( 0.5 ) x50 101.209 x75 qFx ( 0.75 ) x75 107.179 4-15 mx x P%値の算出 等価正規変換 zx ( x) q Fx ( x) zx ( x) x zx ( x) q F x ( x) f x ( x) Y(2Pワイブル) パラメータ y 35 y 7 Yの2Pワイブル分布パラメータ算出 y mcal y y 1 y 37.801 my mcal y y 2 my 5.792 周辺(marginal) 確率密度関数 my y my my y f y ( y) y exp y y 確率分布関数 y my Fy ( y) 1 exp y クォンタイル関数 qFy py py pmin if py 0 py pmax if py 1 1 atai ln 1 py my y atai 等価正規変換 zy ( y) q F y ( y) f y ( y) Y周辺密度関数のp%値 zy ( y) y zy ( y) q Fy ( y) Y周辺密度関数の5%値 ypm ( p) qFy ( p) ypm ( 0.05) 22.635 Y条件付確率密度関数(conditional density function) f yxc y x0 zxy dnorm y zy ( y) zxy zy ( y) zx x0 4-16 2 x0 zx x0 zy ( y) 1 zxy P%値の算出 Y条件付確率密度関数のp%値 ypccal xyp zxy p y x yp qnorm p y zxy 2 xyp x y 1 zxy atai root p f yxc yp xyp zxy yp atai 換算相関係数の算出 算出 精度 初期値 TOL 10 10 zxy xy zxy 0.7 zxy root xy xycal zxy zxy zxy 0.70147 確認 xycal zxy 0.699999999999315 xy xycal zxy 6.846 10 13 Y条件付確率密度関数の5%値 ypccal x25 zxy 0.05 27.506 x25 94.11 ypccal x50 zxy 0.05 30.93 x50 101.209 ypccal x75 zxy 0.05 34.121 x75 107.179 確率密度 0.1 fy( y) 0.05 fyxc y x50 zxy fyxc y x75 zxy fyxc y x25 zxy 0 10 20 30 40 y 4-17 50 60 P%値の算出 X Y の組み合わせとして、④正規分布-対数正規分布、⑤対数正規分布-対数正規分布、⑥ 対数正規分布-2Pワイブル分布を付け加えて、算出結果を表-1、図に示します。 ①正規分布-正規分布の場合が最も低い値となります。当然ながら Y の分布形の違いが Y の 5%値に影響し、2Pワイブル分布>対数正規分布>正規分布の順になっています。なお、換算相 関係数の差は少数点以下 3 桁目が異なるだけの結果となりました。 表- 2 5%値の算出結果 項目 X Y 相関係数 X Y 相関係数 X Y 相関係数 X Y 相関係数 X Y 相関係数 X Y 相関係数 36 X 分布形 正規分布 正規分布 0.7000 正規分布 2Pワイブル分布 0.7020 2Pワイブル分布 2Pワイブル分布 0.7015 正規分布 対数正規分布 0.7069 対数正規分布 対数正規分布 0.7038 対数正規分布 2Pワイブル分布 0.7068 34 % 25% 50% 75% 25% 50% 75% 25% 50% 75% 25% 50% 75% 25% 50% 75% 25% 50% 75% 34 34 34 33 31 32 Y 5%値 23.47 26.78 30.08 27.50 30.93 34.12 27.51 30.93 34.12 26.23 29.19 32.52 26.23 29.18 32.50 27.46 30.92 34.14 %値 93.26 100.00 106.75 93.26 100.00 106.75 94.11 101.21 107.18 93.26 100.00 106.75 93.03 99.50 106.43 93.03 99.50 106.43 33 31 31 30 5%値 30 28 27 28 29 29 26 26 28 27 26 24 23 X25% X50% X75% 22 20 正規-正規 正規-2P 2P-2P 正規-対数 対数-対数 正規:正規分布、 2P:2Pワイブル分布、対数:対数正規分布 図- 6 5%値の算出結果 4-18 対数-2P P%値の算出 2.パラメータが未知の場合(標本扱い) 2.1 正規分布 標本平均値( es n 1 2 xi x )が得られてい n 1 i 1 1 n xi es )、標本不偏標準偏差( es n i 1 るものとすれば、u p を標準正規分布の p % 点として、変量 Tes es u p es は確率変数となりま す。 例えば、平均値 100 、標準偏差 20 とする母集団から大きさ n1 50 の乱数を発生させ、 es 、 es から、変量 Tes es u p es (5%値: u p 1.644854 )を計算します。 そして、これを n 1000 回繰り返して真の 5%値(=67.103)より大きい個数( U n )と小さい個 数( Ln )を計算してみます。 ( n U n Ln ) 2000 1500 Frequency 2500 3000 3500 Histogram of tl 0 500 1000 > #5%値の実験(正規分布) > n<-1000#繰り返し回数 > n1<-50#乱数発生回数 > μ<-100#平均値(母集団) > σ<-20#標準偏差(母集団) > Ln<-0 > Un<-0 > for (i in 1:n){ + x<-rnorm(n1,μ,σ)#乱数発生 + tl[i]<-mean(x)+qnorm(0.05,0,1)*sd(x)#5%値算出 + if (tl[i]<qnorm(0.05,μ,σ)){Ln<-Ln+1} + if (tl[i]>qnorm(0.05,μ,σ)){Un<-Un+1} +} > c(n,Ln,Un,Ln+Un) [1] 1000 463 537 1000 >hist(tl) 40 50 60 70 80 90 tl 変量 Tes es u p es はヒストグラムから分かるように何らかの分布に従い、真の 5%値より 小さくなる個数は 463、大きくなる個数は 537 となることが分かります。 4-19 P%値の算出 発生回数を 100、150、200 回とした場合について表-4 に示します。いずれの結果も標本から求 めた 5%値は真の 5%値より大きい・小さい確率が 50%程度となることが分かります。 表- 3 5%値算出の実験結果(繰り返し数 1000 回) 発生回数 真の 5%値の対して 小さくなる個数 大きいなる個数 50 463 537 100 516 484 150 503 497 200 477 523 強度の 5%値を算出する際に、真の p % 値より変量 Ta a u p a が小さくなる確率( % ) を設定し算出する場合があります。 Pr を確率を意味するものとすれば 13)式を満たす k p を使って、14)式から信頼水準が明 確な TL p が計算できることになります。 Pr es k p es u p ・・・ 13) ここに 、 :母集団(真)の平均、 :母集団(真)の標準偏差 n 1 n 1 2 es :標本平均、 es :標本不偏標準偏差、 es xi , es xi es n i 1 n 1 i 1 TL p es k p es ・・・ 14) TL p を正確に言うと、真の p % 値より下回る水準を信頼として、下側信頼水準 % の p % 値と 呼ぶことになります。逆の言い方をして、上側不信頼水準 1 % と呼んでも良いかも知れませ ん。 この概念は図-7 となります。 4-20 P%値の算出 K・σ a μ a -K・σ a Up・σ N(μ、σ) 1-α μ a -K・σ a 図- 7 μ Low Tolerance Limits with One-side confidence of Normal Distribution k p 値の算出は式 13)式を変形して、15)式となることを利用します。 es k p es p Pr Pr ( es k p es ) u p Pr u p es k p es n es / n u p Pr es U p k p es Pr n kes es / 15)式における n ( es ) / n u p es / ・・・ 15) は、自由度 n 1 、非心度λ= n u p の非心 t 分 布に従いますので、個数 n と下側信頼水準 % 、 p % 値を与え、式 16)となるように、収束計算 をして k p 値を算出します。 Pr t , n k p ここに k p Pr t , ・・・ 16) n t , :非心 t 分布、 Pr t , :非心 t 分布の確率積分値(=確率分布関数) “R”には非心 t 分布の確率分布関数(pt(t 値、自由度、非心度))がありますので、16)式か ら収束計算することができますが、非心 t 分布の確率分布関数がない場合には、自由度νが奇数の 4-21 P%値の算出 ときは A)式から、自由度νが偶数のときには B)式から求めることができます。 自由度νが奇数: ( 1) / 2 1 exp{ 2 B(1 x 2 ) / 2} Pr [t ( , )] ( B ) dx 2 M 2i 1 0 1 x2 i 1 A A) 自由度νが偶数: Pr [t ( , )] ( ) 2 ( 2) / 2 i 0 B) M 2i M i に関しては i 0 M 0 A B ( B ) ( A B ) A i 1 M 1 B AM 0 ( ) 2 B i 2 M 2 AM 1 M 0 2 j 1 i jMj B a j AM j 1 M j 2 ( j 3) j 1 a2 1, a j ( j 3, 4,・・・・ 2) ( j 2) a j 1 ここに :標準正規分布の確率密度関数 A :標準正規分布の確率分布関数 t ,B t2 b b2 a c t の初期値: t0 a ここで A t' t ' の初期値は t ' B 2 1 u 1 a 1 P , b 1 4 2 4 2 2 ,c up であり、 t '2 1 b b 2 ac a 2 1 U 1 a 1 P , b 1 4 2 4 “R”で k p を算出する関数の一例は下記の通りです。 #k値算出 4-22 2 2 ,c up P%値の算出 kcalc<-function(n,p,α){#k 値の算出関数 if (p<=0.5){p<-1-p} v<-(n-1)#自由度 up<-qnorm(p,0,1)#標準正規分布のp%点 λ<-up*n^0.5#非心度 a0<-(1-1/4/v)^2-up/2/v#初期値 b0<-λ*(1-1/4/v)#初期値 c0<-λ^2-up^2#初期値 t<-(b0+(b0^2-a0*c0)^0.5)/a0 f<-function(t){pt(t,v,λ)-α}#非心t分布 t<-uniroot(f,c(0.1*t,2*t))$root#収束 c("n"=n,"k"=round(t/n^0.5,4)) } この関数を使って p 0.05, 0.75 として n 50,100,150,200 について K 値を算出すると以 下のようになります。 > kcalc(50,0.05,0.75) n k 50.0000 1.8109 > kcalc(100,0.05,0.75) n k 100.0000 1.7576 > kcalc(150,0.05,0.75) n k 150.0000 1.7354 > kcalc(200,0.05,0.75) n k 200.0000 1.7225 この K 値を使って、上記と同様なシミュレーションを行うと下記のようになります。 > #5%値の実験(その 2) > test2<-function(n,n1,μ,σ,p,α){ + kcalc<-function(n,p,α){#k 値の算出関数 + if (p<=0.5){p<-1-p} + v<-(n-1)#自由度 + up<-qnorm(p,0,1)#標準正規分布のp%点 + λ<-up*n^0.5#非心度 + a0<-(1-1/4/v)^2-up/2/v#初期値 + b0<-λ*(1-1/4/v)#初期値 + c0<-λ^2-up^2#初期値 + t<-(b0+(b0^2-a0*c0)^0.5)/a0 + f<-function(t){pt(t,v,λ)-α}#非心t分布 + t<-uniroot(f,c(0.1*t,2*t))$root#収束 + atai<-round(t/n^0.5,4) + return(atai) +} + K<-kcalc(n1,p,α) + Ln<-0 + Un<-0 + for (i in 1:n){ + x<-rnorm(n1,μ,σ)#乱数発生 + tl[i]<-mean(x)-K*sd(x)#5%値算出 + if (tl[i]<qnorm(p,μ,σ)){Ln<-Ln+1} + if (tl[i]>qnorm(p,μ,σ)){Un<-Un+1} +} + c(n,Ln,Un,Ln+Un) +} 4-23 P%値の算出 > test2(1000,50,100,200,0.05,0.75) [1] 1000 737 263 1000 > test2(1000,100,100,200,0.05,0.75) [1] 1000 747 253 1000 > test2(1000,150,100,200,0.05,0.75) [1] 1000 758 242 1000 > test2(1000,200,100,200,0.05,0.75) [1] 1000 743 257 1000 真の 5%値を下回る個数が 750 前後になり下側信頼水準 75%に近いことが分かると思います。 表- 4 K 値を用いた 5%値算出実験結果(繰り返し数 1000 回) 真の 5%値の対して 発生回数 2.2 小さくなる個数 K値 50 737 1.8109 100 747 1.7576 150 758 1.7354 200 743 1.7225 非正規分布 2.2.1 対数正規分布 対数正規分布とはデータの対数値が正規分布に従うことですので、17)式で計算できることに なります。 TL p Exp(es k p es ) ここに ・・・ 17) es , es :対数正規分布の平均値・標準偏差の推定値 なお、等価正規分布パラメータを使って 18)式としても表現できます。 TL p es k p es ここに es 1 p f log x p x p Flog f log 1 ・・・ 18) es x p es 1 p p, es , es :対数正規分布の確率密度関数 4-24 P%値の算出 1 Flog 2.2.2 :対数正規分布のクォンタイル関数 ワイブル分布 パラメータ 200, m 12 の 2P ワイブル母集団から大きさ n1 50,100,150,200 個の乱数を 発生させ、最尤法を用いてパラメータ es , mes を推定し、そのパラメータから 5%値を計算します。 そして、これを n 1000 回繰り返して真の 5%値(= 156.148)より大きい個数( U n )と小さい個 数( Ln )を計算してみます。 ( n U n Ln ) > #5%値の実験(その 3) > test3<-function(n,n1,η,m,p,α){ + Ln<-0 + Un<-0 + tl<-0 + for (i in 1:n){ + x<-rweibull(n1,m,η)#乱数発生 + #2P ワイブル分布のパラメータ推定 + LL2p<-function(para){#対数尤度関数の定義(2P ワイブル、完全) + atai<-sum(log(dweibull(x,para[1],para[2],log=FALSE))) + return(atai) +} + fm<-function(mes){#m 関数定義 + s1<-gamma(1+1/mes) + s2<-gamma(1+2/mes) + atai<-((n1-1)/n1)^0.5*sd(x)/mean(x)-(s2-s1^2)^0.5/s1 + return(atai) +} + mes0<-uniroot(fm,c(m/2,m*2))$root#m 初期値 + ηes0<-mean(x)/gamma(1+1/mes0)#η初期値 + para<-c(mes0,ηes0)#パラメータ初期値 + para2p<-optim(para, LL2p, control=list(fnscale=-1))$par + ηes<-para2p[2] + mes<-para2p[1] + tl[i]<-qweibull(p,mes,ηes)#5%値算出 + if (tl[i]<qweibull(p,m,η)){Ln<-Ln+1} + if (tl[i]>qweibull(p,m,η)){Un<-Un+1} +} + c(n,Ln,Un,Ln+Un) +} > test3(1000,50,200,12,0.05,0.75) [1] 1000 452 548 1000 > test3(1000,100,200,12,0.05,0.75) [1] 1000 473 527 1000 > test3(1000,150,200,12,0.05,0.75) [1] 1000 465 535 1000 > test3(1000,200,200,12,0.05,0.75) [1] 1000 466 534 1000 結果を表-5 に示しますが、標本から求めた 5%値は真の 5%値より大きい・小さい確率がほぼ 50%となることが分かります。 4-25 P%値の算出 表- 5 2P ワイブルの 5%値算出実験結果(繰り返し数 1000 回) 発生回数 真の 5%値の対して 小さくなる個数 大きいなる個数 50 452 548 100 473 527 150 465 535 200 466 534 正規分布と同様に、何らかの下側信頼水準 % を設定手法について考えてみます。 ワイブル分布の p % 値を x p とすると x p における等価正規分布パラメータを使って x p は 19)式 で表現されます。 x p m u p m ・・・ 19) ここに、 u p :標準正規分布の p % 点 同様にして、標本データから求められたパラメータ( es , mes , es )からの推定 p % 値( x pes ) は 20)式で表現できることになります。 x pes m es u p m es ここに ・・・ 20) m es , m es : x pes における等価正規分布パラメータ すなわち、下側信頼水準 % を設定すると正規分布と同様な 21)式を満たす k p が存在すること になります。 Pr m es k p m es m u p m ・・・ 21) k p は正規分布の場合には非心 t 分布に従うことから算出できましたが、ワイブル分布の場合に どのような分布に従うかは分っていません。 (筆者だけかも?) 4-26 P%値の算出 ここでは、ワイブル分布の下側信頼水準 %の p % 値を正規分布で求めた k p と等価正規パラ メータを使って算出する 22)式について考えてみたいと思います。 TL p m es k p m es ここに m es 1 p f wei x p ・・・ 22) 1 m es x p m es 1 p 、 x p es es ln 1 p mes パラメータ 200, m 12 の 2P ワイブル母集団から大きさ n1 50,100,150,200 個の乱数を 発生させ、最尤法を用いてパラメータ es , mes を推定し 22)式から 5%値を計算します。そして、 これを n 1000 回繰り返して真の 5%値(= 156.148)よりと小さい個数( Ln )を計算してみます。 > #5%値の実験(その 4) > test4<-function(n,n1,η,m,p,K){ + Ln<-0 + Un<-0 + tl<-0 + for (i in 1:n){ + x<-rweibull(n1,m,η)#乱数発生 + #2P ワイブル分布のパラメータ推定 + LL2p<-function(para){#対数尤度関数の定義(2P ワイブル、完全) + atai<-sum(log(dweibull(x,para[1],para[2],log=FALSE))) + return(atai) +} + fm<-function(mes){#m 関数定義 + s1<-gamma(1+1/mes) + s2<-gamma(1+2/mes) + atai<-((n1-1)/n1)^0.5*sd(x)/mean(x)-(s2-s1^2)^0.5/s1 + return(atai) +} + mes0<-uniroot(fm,c(m/2,m*2))$root#m 初期値 + ηes0<-mean(x)/gamma(1+1/mes0)#η初期値 + para<-c(mes0,ηes0)#パラメータ初期値 + para2p<-optim(para, LL2p, control=list(fnscale=-1))$par + ηes<-para2p[2] + mes<-para2p[1] + xp<-qweibull(p,mes,ηes)#推定 5%値算出 + σn<-dnorm(qnorm(pweibull(xp,mes,ηes),0,1),0,1)/dweibull(xp,mes,ηes)#等価正規分布パラメータσ + μn<-xp-σn*qnorm(pweibull(xp,mes,ηes),0,1)#等価正規パラメータμ + tl[i]<-μn-K*σn#5%値算出 + if (tl[i]<qweibull(p,m,η)){Ln<-Ln+1} + if (tl[i]>qweibull(p,m,η)){Un<-Un+1} +} + c(n,Ln,Un,Ln+Un) +} > test4(1000,50,200,12,0.05,1.8109) [1] 1000 745 255 1000 > test4(1000,100,200,12,0.05,1.7576) [1] 1000 768 232 1000 4-27 P%値の算出 > test4(1000,150,200,12,0.05,1.7354) [1] 1000 758 242 1000 > test4(1000,200,200,12,0.05,1.7225) [1] 1000 770 230 1000 計算結果を表-6 に示しますが、22)式から算出される 5%値は真の 5%値を下回る個数が 750 前後になり下側信頼水準 75%に近いことが分かると思います。 表- 6 K 値を用いたワイブル分布の 5%値算出実験結果(繰り返し数 1000 回) 発生回数 真の 5%値の対して 小さくなる個数 K値 50 745 1.8109 100 768 1.7576 150 758 1.7354 200 770 1.7225 3.計算例 データが得られた場合、①母集団パラメータを推定し、その後② TL 値を算出することになりま す。 完全データ扱いのパラメータ算出し、 TL 値を算出する関数例を下記に示します。 #パラメータ及び TL 値の算出(完全データ扱い) paraTLcalfull<-function(x,p,α){#最尤法によるパラメータ推定(完全データ扱い) #x:データ #p:p% #α:下側信頼水準 n<-length(x)#データ大きさ #k値算出 if (p<=0.5){p<-1-p} v<-(n-1)#自由度 up<-qnorm(p,0,1)#標準正規分布のp%点 λ<-up*n^0.5#非心度 a0<-(1-1/4/v)^2-up/2/v#初期値 b0<-λ*(1-1/4/v)#初期値 c0<-λ^2-up^2#初期値 t<-(b0+(b0^2-a0*c0)^0.5)/a0 f<-function(t){pt(t,v,λ)-α}#非心t分布 t<-uniroot(f,c(0.1*t,2*t))$root#収束 K<-round(t/n^0.5,4)#K 値 #パラメータ算出 #正規分布 LL.norm<-function(para){#対数尤度関数(完全) atai<-sum(dnorm(x,mean=para[1],sd=para[2],log=TRUE)) return(atai) 4-28 P%値の算出 } μes<-mean(x) σes<-((n-1)/n)^0.5*sd(x) LLmax.norm<-LL.norm(c(μes,σes))#最大対数尤度 AIC.norm<-2*2-2*LLmax.norm #対数正規分布 LL.lnorm<-function(para){#対数尤度関数(完全) atai<-sum(dlnorm(x,meanlog=para[1],sdlog=para[2],log=TRUE)) return(atai) } lx<-log(x)#データ log 化 λes<-mean(lx) ξes<-((n-1)/n)^0.5*sd(lx) LLmax.lnorm<-LL.lnorm(c(λes,ξes))#最大対数尤度 AIC.lnorm<-2*2-2*LLmax.lnorm #2P ワイブル分布 LL.weibull<-function(para){#対数尤度関数(完全) atai<-sum(dweibull(x,para[1],para[2],log=TRUE)) return(atai) } fm<-function(mes){#fm 関数(2P ワイブル用) s1<-gamma(1+1/mes) s2<-gamma(1+2/mes) atai<-((n-1)/n)^0.5*sd(x)/mean(x)-(s2-s1^2)^0.5/s1 return(atai) } mes0<-1 mes0<-uniroot(fm,c(1,15))$root#m 初期値 ηes0<-mean(x)/gamma(1+1/mes0)#η初期値 para<-c(mes0,ηes0)#パラメータ初期値 para<-optim(para, LL.weibull, method="SANN",control=list(fnscale=-1))$par#2P ワイブル分布のパラメー タ推定"シミュレーテッドアニーリング法" para<-optim(para, LL.weibull, method="BFGS",control=list(fnscale=-1))$par#2P ワイブル分布のパラメータ 推定"準ニュートン法" mes<-para[1] ηes<-para[2] LLmax.weibull<-LL.weibull(para)#最大対数尤度 AIC.weibull<-2*2-2*LLmax.weibull #最小 AIC minAIC<-min(AIC.norm,AIC.lnorm,AIC.weibull) if(minAIC==AIC.norm){fname<-"正規分布"} if(minAIC==AIC.lnorm){fname<-"対数正規分布"} if(minAIC==AIC.weibull){fname<-"2P ワイブル分布"} #図化 hist(x,main="最尤法に よる推定(完全 データ扱い )¥n(正規:黒)(対数正 規:青)(ワイブル:赤) ", freq=F,ylim=c(0,1.2*dnorm(μes,μes,σes))) curve(dnorm(x,μes,σes),add=T,col="black",lwd=ifelse(minAIC==AIC.norm,2,1)) curve(dlnorm(x,λes,ξes),add=T,col="blue",lwd=ifelse(minAIC==AIC.lnorm,2,1)) curve(dweibull(x,mes,ηes),add=T,col="red",lwd=ifelse(minAIC==AIC.weibull,2,1)) #TL 値の算出 TLnorm<-μes-K*σes#正規分布 TL 値 TLlnorm<-exp(λes-K*ξes)#対数正規分布 TL 値 4-29 P%値の算出 #2p ワイブル xp<-qweibull(p,mes,ηes)#推定 p%値算出 σn<-dnorm(qnorm(pweibull(xp,mes,ηes),0,1),0,1)/dweibull(xp,mes,ηes)#等価正規分布パラメータσn μn<-xp-σn*qnorm(pweibull(xp,mes,ηes),0,1)#等価正規パラメータμn TLweibull<-μn-K*σn#2P ワイブル TL 値 p0<-p if (p>=0.5){p0<-1-p} kekka<-c( c("n"=n,"p"=p0,"α"=α,"K"=K), c("μes"=μes,"σes"=σes,"AICnorm"=AIC.norm), c("λes"=λes,"ξes"=ξes,"AIClnorm"=AIC.lnorm), c("mes"=mes,"ηes"=ηes,"AICweibull"=AIC.weibull), c("AIC 最小分布:"=fname), c("TLnorm"=TLnorm,"TLlnorm"=TLlnorm,"TLweibull"=TLweibull) ) return(kekka) } 正規分布乱数( 100, 20 )を 1000 個発生させ、下側信頼水準 75% の 5%値の TL を 求めた例を下記に示します。 > x<-rnorm(1000,100,20) > kekka<-paraTLcalfull(x,0.05,0.75) > kekka n p α "1000" "0.05" "0.75" K μes σes "1.6784" "100.944079580483" "20.2931478713422" AICnorm λes ξes "8862.44363797644" "4.59292149201174" "0.213445695477769" AIClnorm mes ηes "8938.97438563091" "5.41592797533742" "109.17202743562" AICweibull AIC 最小分布: TLnorm "8895.33456294908" "正規分布" "66.8840601932219" TLlnorm TLweibull "69.0391846387337" "77.2049942552876" 0.010 0.000 Density 0.020 最尤法による推定(完全データ扱い) (正規:黒)(対数正規:青)(ワイブル:赤) 50 100 x 4-30 150
© Copyright 2024 Paperzz