この例では、2011年にリリースされた映画に関するデータを使用します。関心の焦点は、総収入を示す「世界収入」の値です。考えられる説明変数は、「ロッテン・トマトのスコア」、「観客スコア」、および「ジャンル」です。2つのスコア変数は連続変数ですが、「ジャンル」は名義尺度の変数です。「ステップワイズ法」を使ってモデルの変数減少を行う前に、関心のある変数を探索したいと思います。
1. [ヘルプ]>[サンプルデータライブラリ]を選択し、「Hollywood Movies.jmp」を開きます。
2. [分析]>[一変量の分布]を選択します。
3. 「ジャンル」を選択して、[Y, 列]をクリックします。
4. [OK]をクリックします。
図5.14 ジャンルの分布
「ジャンル」には9つの水準があるので、8つのモデル項によって表されます。データを詳しく見ると、欠測値があるため、ステップワイズ法では8個の水準だけが考慮されることがわかります。
5. データテーブルの「列」パネルで、関心のある列(「ロッテン・トマトのスコア」、「観客スコア」、「世界収入」)を選択します。
6. [分析]>[スクリーニング]>[欠測値を調べる]を選択します。
7. [Y, 列]をクリックし、[OK]をクリックします。
図5.15 「欠測値に関する情報」レポート
欠測値の行が、「ロッテン・トマトのスコア」には2行、「観客スコア」には1行、「世界収入」には2行あります。
8. 「欠測値に関する情報」レポートで、「列」の下にリストされている3つの列を選択します。
9. [行の選択]をクリックします。
データテーブルの行パネルを見ると、3つの行が選択されているのがわかります。それら3つの行は、データのいずれかに欠測値があるため、「ステップワイズ法」による分析では除外されます。ジャンルが「Adventure」であるのは第128番目の行だけですが、この行は「世界収入」が欠測値です。このため、「Adventure」カテゴリは完全に分析から除外されます。つまり、「ステップワイズ法」の分析対象となる「ジャンル」には、8カテゴリしかないことになります。欠測値の影響がわかったところで、「ステップワイズ法」による分析を実行しましょう。
10. [分析]>[モデルのあてはめ]を選択します。
11. 「ロッテン・トマトのスコア」、「観客スコア」、および「ジャンル」を選択し、[追加]をクリックします。
「ロッテン・トマトのスコア」、「観客スコア」、「ジャンル」を説明変数として、「世界収入」に最小2乗モデルをあてはめると、残差の分散が高度に不均一になります。(これは、財務データに多く見られる現象です。)回帰モデルで仮定される等分散性を満たすには、対数変換を使用します。
12. 「列の選択」リストで「世界収入」を右クリックし、[変換]>[自然対数]を選択します。
「列の選択」リストの末尾に、変換後の変数である「自然対数[世界収入]」が追加されます。
13. 「自然対数[世界収入]」を選択し、[Y]をクリックします。
14. 「手法」リストから[ステップワイズ法]を選択します。
15. [実行]をクリックします。
図5.16 モデル項のリストが表示された「現在の推定値」表
「現在の推定値」表では、「ジャンル」が7つの項によって表されています。これらのうちの2つを使ってモデルを作成し、これらの項がどのように定義されているかを見てみましょう。
16. 「ジャンル」の最初の2つの項の横にある「追加」チェックボックスをオンにします。
– ジャンル{Drama&Horror&Thriller&Fantasy&Romance&Comedy-Action&Animation}
– ジャンル{Drama&Horror&Thriller-Fantasy&Romance&Comedy}
17. [モデルの作成]をクリックします。
これで、「モデルの指定」ウィンドウの「モデル効果の構成」リストに、これらの2つの項が一時的な変換列として追加されたことがわかります。これらの列については、次の節で説明します。
名義尺度の変数「ジャンル」は、欠測値があったため、8水準であったことを思い出してください。「現在の推定値」表では、「ジャンル」が7つの項によって表されています。「ジャンル」は8水準があるので、7つの項になっています。以下では、「ジャンル」から作成された最初の2つの項だけを説明します。残りの項も同じ方法で定義されています。
最初に表示されている項は、
「ジャンル{Drama&Horror&Thriller&Fantasy&Romance&Comedy-Action&Animation}」です。この項は、ジャンル{A1 - A2}という形式になっており、A1とA2はマイナス記号で区切られています。これは、次の2つのグループに分けると、群間平方和が最大となることを示しています。
• Drama、Horror、Thriller、Fantasy、Romance、Comedy(これらを「A1」とする)
• Action、Animation(これらを「A2」とする)
項「ジャンル{Drama&Horror&Thriller&Fantasy&Romance&Comedy-Action&Animation}」をモデルに追加すると、この項を示す一時的な変換列がモデルで使用されます。この列には、次のような値が含まれています。
• 1: Drama、Horror、Thriller、Fantasy、Romance、Comedy
• -1: Action、Animation
2番目に表示されている項は、「ジャンル{Drama&Horror&Thriller-Fantasy&Romance&Comedy}」です。この項は、最初の項における1番目のグループ(A1)からの分岐になっています。この項では、次のように分岐しています。
• Drama、Horror、Thriller
• Fantasy、Romance、Comedy
「Drama」、「Horror」、「Thriller」、「Fantasy」、「Romance」、「Comedy」(A1)の水準と、「Action」、「Animation」(A2)の水準のすべての分岐の中で、アルゴリズムによりこの分岐の群間平方和が最大であると特定されます。
この項をモデルに追加すると、この項を示す一時的な変換列がモデルで使用されます。この列には、次のような値が含まれています。
• 1: Drama、Horror、Thriller
• -1: Fantasy、Romance、Comedy
• 0: Action、Animation
これ以降の分岐も、群間平方和を基準として行われていきます。どのような分岐になっているのか、その階層構造を図5.17に示します。
図5.17 階層的なコード変換に使用される分岐を示すツリー
ルールが[組み合わせ]もしくは[制限]の場合には、ある項を追加するには、それより上位にあるすべての項が追加されていなければいけないという制約が課せられます。たとえば、「ジャンル{Action-Animation}」を追加すると、自動的に「ジャンル{Drama&Horror&Thriller&Fantasy&Romance&Comedy-Action&Animation}」も追加されます。
また、ルールが[効果全体]の場合には、「ジャンル」のいずれかの項を追加した場合は、「ジャンル」のすべての項が追加されます。