次の例では、説明変数がない単なる打ち切りデータの場合に、最尤法で分布を推定する方法を紹介します。
なお、「Loss Function Templates」フォルダには、指数分布・極値分布(Weibull分布を最小極値分布で表現したもの)・対数ロジスティック分布・対数正規分布・正規分布・Weibull分布の損失関数を使ったテンプレートが用意されています。これらの損失関数を使うには、各確率分布に対する損失関数テンプレートの「生存日数」列と「打ち切りの有無」列に時間と打ち切りの値を入力してください。そして、[非線形回帰]を選択し、損失列を[損失]変数に指定してください。この損失関数では生存時間や打ち切りが考慮されています。また、モデルには説明変数がありません。損失関数ですべて定義されているので、予測式の列(モデルの列)を定義する必要はありません。
「Fan.jmp」データテーブルを使って、Nelson(1982)の著作で説明されている、指数分布・Weibull分布・極値分布の損失関数について解説します。これは、70台のディーゼルファンを対象に、累積合計344,440時間のサービスをデータにまとめたものです。ファンはさまざまな時間で稼働しています。そして、ファンが故障した時間か、観察を打ち切った時間が測定されています。
ヒント: 損失関数の計算式を表示するには、「Fan.jmp」データテーブルで、「指数損失関数」、「Weibull損失関数」、「極値損失関数」の各列を右クリックし、[計算式]を選択します。
1. [ヘルプ]>[サンプルデータライブラリ]を選択し、「Reliability」フォルダにある「Fan.jmp」を開きます。
2. [分析]>[発展的なモデル]>[非線形回帰]を選択します。
3. 「指数損失関数」を選択し、[損失]をクリックします。
4. [OK]をクリックします。
5. [損失は負の対数尤度]チェックボックスがオンになっていることを確認します。
6. [実行]をクリックします。
7. [信頼限界]をクリックします。
8. 上記の手順を、「指数損失関数」の代わりに「Weibull損失関数」と「極値損失関数」を選択して繰り返します。
図14.19 非線形回帰のあてはめ結果
「Locomotive.jmp」サンプルデータを取り上げ、対数正規損失について説明します。対数正規分布は、データの誤差が指数的に分布している場合に適しています。
ヒント: 損失関数の計算式を表示するには、「Locomotive.jmp」データテーブルで、「対数正規損失関数」列を右クリックして[計算式]を選択します。
対数正規損失関数は、パラメータの初期値に大きく左右されます。対数正規分布は対数変換すれば正規分布なので、「時間」の自然対数である新しい変数を作成し、「一変量の分布」プラットフォームでその列の平均と標準偏差を求めます。次に、それらの値を「非線形回帰」プラットフォームで初期値として使います。この例では、「時間」の自然対数の平均は4.72で、標準偏差は0.35です。
1. [ヘルプ]>[サンプルデータライブラリ]を選択し、「Reliability」フォルダにある「Locomotive.jmp」を開きます。
2. [分析]>[発展的なモデル]>[非線形回帰]を選択します。
3. 「対数正規損失関数」を選択し、[損失]をクリックします。
4. [OK]をクリックします。
5. 「Mu」の横のボックスに「4.72」と入力します。
6. 「Sigma」の横のボックスに「0.35」と入力します。
7. [実行]をクリックします。
8. [信頼限界]をクリックします。
図14.20 「解」レポート
対数正規分布のパラメータの最尤推定値は、「Mu」が5.11692で、「Sigma」が0.7055です。対数正規分布のメディアンの推定値は、5.11692の真数(e5.11692)で、およそ167です。これが機関車のエンジンの標準的な寿命ということになります。