基本的な統計分析 > シミュレーション > シミュレーション機能の別例 > 一般化回帰モデルに含める説明変数の検討例
公開日: 09/19/2023

ここに画像を表示一般化回帰モデルに含める説明変数の検討例

一般化回帰モデルを作成し、ゼロでない項を使って縮小モデルをあてはめてみましょう。縮小モデルでシミュレーション機能を使用し、特定の説明変数をモデルに含めるべきかどうかを検討します。

製薬会社が持つ過去のデータに基づき、錠剤の溶出速度とその速度に影響をおよぼす可能性のある要因について分析しましょう。溶出速度が70に満たない錠剤は、不適合と見なされます。どの要因が溶出速度に影響するのかを調べてみましょう。

モデルのあてはめ

この節では、一般化回帰モデルのあてはめを行います。

ヒント: この節の手順を省略するには、「Tablet Production.jmp」データテーブルの「一般化回帰」スクリプトの横の緑の三角ボタンをクリックし、モデルを作成してください。

1. [ヘルプ]>[サンプルデータフォルダ]を選択し、「Tablet Production.jmp」を開きます。

2. [分析]>[モデルのあてはめ]を選択します。

3. 「溶出」を選択し、[Y]をクリックします。

4. 「粉砕時間」から「噴霧器圧力」までを選択し、[追加]をクリックします。

5. 「手法」のリストから[一般化回帰]を選択します。

6. [実行]をクリックします。

7. 「モデルの設定」パネルで[適応型]チェックボックスを選択します。

8. 「モデルの設定」パネルで[実行]をクリックします。

図10.13 適応型Lassoに基づくモデル 

適応型Lassoに基づくモデル

「適応型Lasso(検証法: AICc, 分布: 正規)」レポートのパラメータ推定値を見てみましょう。パラメータ推定値がゼロでないものは、「粉砕時間」「スクリーンサイズ」「攪拌時間」「攪拌速度」「圧縮機」「滑沢剤の粘度」、および「噴霧量」で、これらが「溶出」に関係している可能性があります。

効果のさらなる削除

モデルの縮小に進む前に、「Tablet Production.jmp」データテーブルで、列が選択されていないことを確認します。列が選択されたままだと、後述の手順1でも選択された状態になります。列の選択を解除しておくと、誤ってゼロの項の列を含めてしまうことが避けられます。

この節の手順を省略するには、「Tablet Production.jmp」データテーブルの「一般化回帰 縮小モデル」スクリプトの横の緑の三角ボタンをクリックし、縮小モデルを作成してください。

1. 「適応型Lasso(検証法: AICc, 分布: 正規)」レポートの赤い三角ボタンをクリックし、[非ゼロの効果を使って再起動]>[非ゼロの効果を使って再起動]を選択します。

「モデルのあてはめ」ウィンドウが開き、「モデル効果の構成」リストに、パラメータ推定値がゼロでない項が表示されます。応答は「Y」にすでに指定されています。「手法」は[一般化回帰]が選択されています。

2. [実行]をクリックします。

3. 「モデルの設定」パネルで[適応型]チェックボックスを選択します。

4. 「モデルの設定」パネルで[実行]をクリックします。

図10.14 適応型Lassoによる縮小モデル 

適応型Lassoによる縮小モデル

「攪拌速度」の信頼区間(「下側95%」)が、ゼロに非常に近くなっていることに注目してください。次に、シミュレーションによって、現在の推定値が真値であった場合、適応型Lassoを行うと「攪拌速度」の推定値がどれぐらいの割合でゼロになるかを調べてみましょう。

攪拌速度の推定値がどれぐらいゼロになるかの考察

以下の手順では、縮小モデル(Figure 10.14)のレポートを使用します。

1. 「適応型Lasso(検証法: AICc, 分布: 正規)」レポートの赤い三角ボタンをクリックし、[列の保存]>[シミュレーション計算式の保存]を選択します。

「Tablet Production.jmp」データテーブルに、「溶出 シミュレーション計算式」という新しい列が追加されます。

2. (オプション)データテーブルの「列」パネルで、「溶出 シミュレーション計算式」の右側にある+記号をクリックします。

図10.15 シミュレーション計算式 

シミュレーション計算式

この計算式は、あてはめたモデルと「溶出」の分布に従って、各行の値をシミュレートします。「溶出」の分布は、標準偏差が約1.998の正規分布に従うと推定されています。

3. [キャンセル]をクリックします。

4. 縮小モデルのレポートウィンドウに戻ります。「元の説明変数に対する推定値」レポートで、「推定値」列を右クリックし、[シミュレーション]を選択します。

「切り替え元の列」リストで[溶出]が選択されていることを確認します。

5. 「標本数」に「300」と入力します。

「溶出」列を「溶出 シミュレーション計算式」列のシミュレーション値に置き換えて、分析を300回実行します。

6. (オプション)「乱数シード値」に「123」と入力します。

こうすると、後述する結果と同じ結果が再現されます。

図10.16 設定後の「シミュレーション」ウィンドウ 

設定後の「シミュレーション」ウィンドウ

7. [OK]をクリックします。

データテーブルの最初の行は、分析対象のデータから計算された推定値であり、除外されています。その他の行は、シミュレーションで生成された乱数です。

8. 「一変量の分布」スクリプトを実行します。

9. Ctrlキーを押しながら、「スクリーンサイズ[3-5]」の赤い三角ボタンをクリックし、[表示オプション]>[要約統計量のカスタマイズ]を選択します。

10. [ゼロの個数]を選択します。

11. [OK]をクリックします。

12. 「攪拌速度」のレポートにスクロールします。

図10.17 シミュレーションによる攪拌速度の推定値のヒストグラム 

シミュレーションによる攪拌速度の推定値のヒストグラム

「要約統計量」レポートによると、シミュレーションのうち103/300 = 34.3%で、「攪拌速度」の推定値がゼロになっていることがわかります。

より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).