Excelでワイブル分布の乱数を作る:形状パラメーター、尺度パラメーター、故障までの時間
ひとことで言うと:部品が故障するまでどれだけ持つかを表します。1つの数値が典型的な寿命を決め、もう1つが、故障が早期に起きるか、ランダムに起きるか、摩耗して起きるかを決めます。
ワイブル分布は、ものが故障するまでどれだけ持つかを表します。尺度パラメーターが典型的な寿命を決め、形状パラメーターが故障の時間的な広がりを決めます。1より小さいと故障は早期に起き、1だと一定の割合で起き(指数分布)、1より大きいと部品が摩耗します。Excelには WEIBULL.DIST はありますが逆関数はないので、値は =scale * (-LN(1 - RAND()))^(1 / shape) で引きます。形状パラメーター1.5、尺度パラメーター20,000時間のポンプは、平均18,055時間持ち、連続運転の1年以内に25.2%のポンプが故障します。
形状パラメーターと尺度パラメーター
尺度パラメーター(η、イータ)は特性寿命です。形状パラメーターにかかわらず、この年齢に達するまでに、個体の63.2%が故障しています。形状パラメーター(β、ベータ)は、故障率、つまり、まだ動いている個体が次の1時間に故障する確率が、年齢とともにどう変わるかを表します。
- 1より小さい:故障率は年齢とともに下がります。弱い個体が早期に故障し(初期故障)、生き残った個体は長持ちします。
- ちょうど1:故障率は一定です。年齢は関係なく、指数分布になります。
- 1より大きい:部品が摩耗するため、故障率は年齢とともに上がります。形状パラメーターが1.5なら、20,000時間のポンプは、5,000時間のポンプの2.0倍、次の1時間に故障しやすくなります。3〜4あたりでは、寿命は尺度パラメーターのまわりでほぼ左右対称になります。
グラフの見方:線は、尺度パラメーターが同じで、形状パラメーターが違う場合を表します。線が高い所は、その年齢で多くの個体が故障することを意味します。形状パラメーターが0.8なら、故障の大半はごく早期に起き、3なら典型的な寿命のあたりに集まります。
Excelでのワイブル分布
WEIBULL.DIST(x, shape, scale, TRUE) は、年齢xまでに故障した個体の割合を返します。=WEIBULL.DIST(8760, 1.5, 20000, TRUE) は25.2%で、ポンプが1年(8,760時間)以内に故障する確率です。Excelは形状パラメーターをアルファ(alpha)、尺度パラメーターをベータ(beta)と呼びますが、技術者は形状パラメーターにβ、尺度パラメーターにηを使うことが多いので、順番に注意してください。ランダムな寿命を得るには、0〜1の乱数uを年齢に変えます。寿命は scale × (−ln(1 − u))1/shape で、1つのセルにまとめると =F10*(-LN(1-RAND()))^(1/D10) です。
グラフの見方:棒は、シミュレーションで引いた10,000個の値がその区間にいくつ入ったかを表し、線は理論上の曲線です。棒が高いほど、その付近の値がよく出ます。点線はB10寿命と平均の位置です。
| セル | 数式 | 値 |
|---|---|---|
| 乱数 u(I10) | =RAND() | |
| 引いた値(J10) | =F10*(-LN(1-I10))^(1/D10) | |
| 1つのセルで引く | =F10*(-LN(1-RAND()))^(1/D10) | |
| 平均(K10) | =F10*EXP(GAMMALN(1+1/D10)) | 18,055 |
| P10 (L10) | =F10*(-LN(1-0.1))^(1/D10) | 4,462 |
| P90 (M10) | =F10*(-LN(1-0.9))^(1/D10) | 34,874 |
数値の確認:理論値と、Excelとxellstormがそれぞれ引いた10,000個の値の比較
| 理論値 | Excel(RAND()) | xellstorm | |
|---|---|---|---|
| 平均 | 18,055 | 18,229 | 18,055 |
| 標準偏差 | 12,259 | 12,465 | 12,262 |
| P10 | 4,462 | 4,443 | 4,462 |
| P50(中央値) | 15,664 | 15,628 | 15,665 |
| P90 | 34,874 | 35,730 | 34,870 |
Excelは RAND() で完全にランダムに引きます。xellstormは範囲全体に均等に散らして引く(ラテンハイパーキューブサンプリング)ので、統計値が理論値に近くなります。
B10寿命は、個体の10%が故障するまでの年齢で、P10にあたります。このポンプでは4,462時間です。中央値の寿命は15,664時間、平均は18,055時間で、平均が中央値より上にあるのは、一部のポンプが大半よりはるかに長持ちするためです。
指数分布:形状パラメーターが1のワイブル分布
故障や到着が、一定の平均頻度でランダムに起きるとき、その間隔は指数分布に従います。平均500時間に1回の故障は、1時間あたり0.002回の発生率です。パラメーターは平均(またはその逆数の発生率)の1つだけです。記憶を持たないので、すでに待った時間は、これから待つ時間について何も教えてくれません。故障なしで1,000時間動いた機械が次の1週間(168時間)を乗り切る確率は、新品と同じ71.5%です。間隔の大半は短く、63.2%は平均より短く、中央値は347時間にすぎません。
| セル | 数式 | 値 |
|---|---|---|
| 乱数 u(I11) | =RAND() | |
| 引いた値(J11) | =-D11*LN(1-I11) | |
| 1つのセルで引く | =-D11*LN(1-RAND()) | |
| 平均(K11) | =D11 | 500 |
| P10 (L11) | =-D11*LN(1-0.1) | 53 |
| P90 (M11) | =-D11*LN(1-0.9) | 1,151 |
数値の確認:理論値と、Excelとxellstormがそれぞれ引いた10,000個の値の比較
| 理論値 | Excel(RAND()) | xellstorm | |
|---|---|---|---|
| 平均 | 500 | 497 | 500 |
| 標準偏差 | 500 | 499 | 500 |
| P10 | 53 | 54 | 53 |
| P50(中央値) | 347 | 347 | 347 |
| P90 | 1,151 | 1,132 | 1,151 |
Excelは RAND() で完全にランダムに引きます。xellstormは範囲全体に均等に散らして引く(ラテンハイパーキューブサンプリング)ので、統計値が理論値に近くなります。
Excelでは、EXPON.DIST(x, rate, TRUE) は平均ではなく、発生率(1 / 平均)を受け取ります。値の引き方は =-D11*LN(1-RAND()) です。こうした事象が何回か続いたときの合計時間はガンマ分布に、一定期間の事象の回数はポアソン分布に従います。
ワイブル分布と指数分布の使い分け
- ワイブル分布は、部品や設備の寿命、疲労、そして年齢が影響する故障までの時間全般に使います。故障データがあれば、当てはめます。直列系の信頼性の例は、このポンプを含む4つのワイブル分布の部品を組み合わせています。
- 指数分布は、ランダムな事象の間隔に使います。多数の部品でできたシステムの故障、顧客の到着、問い合わせなどです。摩耗には使わないでください。古い個体の故障を過小評価します。
- 対数正規分布は、修理時間のように、短いことがまれな所要期間に使います。同じデータに、ワイブル分布と並べて当てはめることもよくあります。
xellstormでワイブル分布と指数分布を入力する
- セルを入力にして、「分布」ステップでワイブル分布を選び、形状とscaleを入力します(locは故障のない期間で、通常は0)。指数分布にするなら、指数分布を選び、平均をscaleに入力します。
- 故障までの時間のデータがあれば、入力を選び、サイドパネルの「データから」を使います。ワイブル分布、指数分布、ガンマ分布、対数正規分布(いずれも0から始まる)などを当てはめ、当てはまりのよい順に並べるので、データがどの分布を支持するかがわかります。
- 寿命は、Excelファイルの数式で必要な答えに変えます。最初の故障で止まるシステムは、部品の寿命の
MINです。1年以内の故障はIF(life<8760,1,0)で数えます。
アドイン向けのモデルは、RiskWeibull、VoseWeibull、PsiWeibull と、RiskExpon、VoseExpon、PsiExponential から変換できます。
よくある質問
Excelでワイブル乱数を作るには?
Excelに WEIBULL.INV はないので、分布の逆関数を自分で書きます。=scale*(-LN(1-RAND()))^(1/shape) です。形状パラメーター1.5、尺度パラメーター20,000なら =20000*(-LN(1-RAND()))^(1/1.5) です。上の表のとおり、引いた値は理論値どおりのワイブル分布になります。
ワイブル分布の形状パラメーターと尺度パラメーターは何を表しますか?
尺度パラメーターは特性寿命で、個体の63.2%が故障する年齢です。形状パラメーターは、時間にともなう故障率の変化を表します。1より小さければ下がり(初期故障)、1なら一定(ランダムな故障)、1より大きければ上がります(摩耗故障)。
B10寿命とは?
B10寿命は、個体の10%が故障するまでの年齢です。寿命分布のP10にあたり、scale × (−ln 0.9)1/shape で求まります。形状パラメーター1.5、尺度パラメーター20,000時間のポンプでは、4,462時間です。
指数分布とワイブル分布は、どう関係していますか?
指数分布は、形状パラメーターが1のワイブル分布で、平均が尺度パラメーターになります。寿命が年齢に依存しない場合を表し、次の1時間に故障する確率は、新品でも使い込んだ個体でも同じです。
関連ページ
- ガイド
確率分布の選び方:モンテカルロシミュレーションで使う分布はどれか?
2つの質問で、適した確率分布が見つかります。PERT分布、三角分布、正規分布、対数正規分布、ワイブル分布、ポアソン分布、二項分布、ベータ分布などについて、使いどころとExcelの数式を紹介します。 - 設備の信頼性
直列系が1年以内に故障する確率はどのくらいか?
寿命がワイブル分布に従う4部品の直列系で、機器の79.0%が1年(8,760時間)以内に故障、平均寿命は5,712時間。シミュレーションと理論値を比べます。 - ガイド
Excelのガンマ分布:待ち時間、合計、GAMMA.INV
ガンマ分布は、複数の工程の合計時間のような、正の値で右に歪む量を表します。形状パラメーターと尺度パラメーター、ExcelのGAMMA.INVとGAMMA.DIST、対数正規分布との違いを解説します。
xellstormは、Excelモデル向けのブラウザー型モンテカルロシミュレーションツールです。アドインは不要で、Excelファイルがパソコンの外に出ることはありません。