線形モデリングの一般化線形モデル(GLM)の統計手法を使用する方法を学習します。
一般化線形モデル(GLM)は、「線形回帰」で説明する線形モデルのクラスを含み、このクラスを拡張したものです。
線形モデルでは、ターゲット(従属変数y)が予測応答値に関係なく一定分散を持つ予測子の値を条件として正規分布するという、一連の制限が仮定される点が最も重要です。線形モデルおよび線形モデルの制限のメリットは、計算が容易なこと、解釈可能なモデルの形式であること、および適合度の質に関する一定の診断情報を計算できる点にあります。
一般化線形モデルは、実際には違反されることが多いこれらの制限を緩和したものです。たとえば、2値(yes/noまたは0/1)応答は、クラス間で同じ分散を持ちません。さらに、線形モデルでの項の合計は、一般的に、極端にネガティブな値と極端にポジティブな値を包含する非常に大きな範囲をとる場合があります。2値応答の例では、場合によっては、応答が[0,1]の範囲内の確率となるようにする必要があります。
一般化線形モデルでは、リンク関数および分散関数という2つのメカニズムを使用して、線形モデルの仮定に違反する応答に対応しています。リンク関数は、線形モデルの単純な形式を維持できるように、ターゲットの範囲を負の無限大から正の無限大の潜在範囲に変換します。分散関数は、予測応答の1つの関数として分散を表現するため、非一定分散の応答(2値応答など)に対応できます。
Oracle Data Miningは、GLMモデルのファミリのうち最もよく使用されている次の2つのアルゴリズムを備えています。これらのアルゴリズムでは、最もよく使用されているリンク関数および分散関数が使用されます。
線形回帰: 恒等リンク関数および分散関数(定数1に等しい: 応答値の範囲に対する一定分散)を使用します。「線形回帰」を参照してください。
ロジスティック回帰: ロジット・リンク関数および2項分散関数を使用します。「ロジスティック回帰」を参照してください。
一般化線形モデル(GLM)はパラメトリック・モデリング手法です。パラメトリック・モデルでは、データの分散を仮定します。仮定が満たされる場合、パラメトリック・モデルはノンパラメトリック・モデルよりも効率的になります。
このタイプのモデルの作成では、どの程度仮定が満たされるかを見極めることが課題となります。このため、良質なパラメトリック・モデルを作成するには質の診断が重要です。
一般化線形モデル(GLM)は、信頼限界を予測する機能があります。GLMでは、各行の確率(分類のみ)および最良推定値の予測に加え、予測値(回帰)または確率(分類)が収まる区間の特定が可能です。区間の幅は、モデルの精度やユーザーが指定した信頼度に応じて変わります。
信頼度は、モデルによって計算される信頼区間内に実際の値が収まることについてのモデルの確からしさを表す尺度です。一般的には、信頼度95%を使用します。たとえば、従業員の収入を$125,000と予測するモデルの場合、収入は95%の確率で$90,000から$160,000の範囲に収まります。Oracle Data Miningのデフォルトの信頼度は95%ですが、この値は設定可能です。
注意:
信頼限界は、係数統計情報とともに戻されます。また、PREDICTION_BOUNDS
SQL関数を使用すると、モデルの予測の信頼限界値を取得できます。『Oracle Database SQL言語リファレンス』を参照してください。
最良の回帰モデルは、予測子とターゲットとの相関が高く、予測子同士の相関はほとんどないモデルです。多重共線性は、相関関係にある予測子を使用する多変量回帰を説明するための用語です。
リッジ回帰は、多重共線性を補う手法です。Oracle Data Miningでは、回帰および分類の両マイニング機能に対してリッジ回帰がサポートされています。アルゴリズムは、データに単一性(正確多重共線性)を検出すると、リッジ回帰を自動的に使用します。
単一性に関する情報は、グローバルなモデルの詳細で戻されます。
モデルの構築設定を指定すると、リッジ回帰を明示的に有効化できます。リッジ回帰を明示的に有効化する場合、システム生成のリッジ・パラメータを使用するか、独自のパラメータを指定することが可能です。リッジ回帰が自動的に使用される場合、リッジ・パラメータも自動的に計算されます。
リッジの構成設定については、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。構成の選択について次にまとめます。
リッジ回帰に関して、アルゴリズムによる自動選択を優先するかどうかを指定します。
リッジ・パラメータの値(リッジ回帰を明示的に有効化した場合にのみ使用される)を指定します。
線形回帰にリッジが使用される際に、分散拡大係数(VIF)統計情報を生成するかどうかを指定します。
Oracle Data Miningでは、一般化線形モデルの特徴選択および生成の、高度にスケーラブルで自動化されたバージョンがサポートされます。この機能によって、アルゴリズムのパフォーマンスを向上し、精度と解釈性を改善できます。特徴選択および生成は、線形回帰と2項ロジスティック回帰の両方で使用できます。
特徴選択は、モデルに含まれる用語を選択するプロセスです。モデルに含まれる用語が少ないほど、ユーザーはその意味をより簡単に解釈できます。また、一部の列は、モデルで予測しようとしている値とは関係ないことがあります。このような列を削除すると、モデルの精度を向上できます。
特徴選択は、一般化線形モデル用の構築設定です。デフォルトでは無効です。特徴選択用に構成すると、アルゴリズムによって自動的にデフォルトの適切な動作が決定されますが、次の構成オプションも使用できます。
特徴選択の基準は、AIC、SBIC、RICまたはα投資のいずれかです。特徴選択の基準がα投資である場合、特徴の許容範囲は厳密または緩和のいずれかです。
特徴の最大数を指定できます。
特徴は、最終モデルでプルーニングできます。プルーニングは、線形回帰の場合はt統計に、ロジスティック回帰の場合はワルド統計に基づきます。
特徴生成は、特徴選択が有効化されている場合にのみ使用できます。特徴生成は、構築設定です。デフォルトでは、特徴生成は有効化されていません。
特徴生成の方法は、2次または3次のいずれかです。デフォルトでは、アルゴリズムによって適切な方法が選択されます。明示的に特徴生成の方法を指定することもできます。
特徴選択の次のオプションも、特徴生成に影響を与えます。
厳密または緩和の特徴許容範囲(特徴選択の基準がα投資の場合のみ)
特徴の最大数
モデルのプルーニング
注意:
ブロック・サイズ設定は、特徴生成にとって適切ではありません。特徴生成の有効時にブロック・サイズを設定すると、エラーが発生します。
関連項目:
『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』のアルゴリズム設定の一般化線形モデルに関する項
一般化線形モデルの開発プロセスでは通常、多数のモデルを作成します。モデルを作成するたびに、モデルの質を判別するために評価できる統計情報が多数生成されます。これらの診断に応じて、モデル設定の変更などを試行できます。
構築設定を使用すると、次のものを指定できます。
モデルによって計算される信頼限界内に真の係数が収まる確度。デフォルトの信頼度は、.95です。
行の重み係数が格納される列。
行レベルの診断情報が格納される表。
その他にも、次のような目的で構築設定を使用できます。
リッジ回帰の使用の制御(「リッジ回帰」を参照)。
トレーニング・データにおける欠損値の処理の指定(「GLM用のデータ準備」を参照)。
ロジスティック回帰モデルで参照として使用されるターゲット値の指定(「ロジスティック回帰」を参照)。
関連項目:
『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』のアルゴリズム設定の一般化線形モデルに関する項
一般化線形モデルでは、モデルの質を評価する際に役立つメトリックが多数生成されます。
線形およびロジスティックの両回帰では同じ統計情報のセットが戻されますが、該当のマイニング機能に適用されない統計情報はNULLとして戻されます。
係数統計情報は、DBMS_DATA_MINING
のGET_MODEL_DETAILS_GLM
ファンクションによって戻されます。
線形およびロジスティックの両回帰には、モデル全体を説明する高水準の統計情報が個別に戻されます。リッジ回帰が有効な場合、戻されるグローバルな詳細がより少なくなります。グローバルなモデルの統計情報については、「線形回帰のグローバルなモデルの統計情報」および「ロジスティック回帰のグローバルなモデルの統計情報」を参照してください。
グローバルな統計情報は、DBMS_DATA_MINING
のGET_MODEL_DETAILS_GLOBAL
ファンクションによって戻されます。
関連項目:
構築設定のGLMS_DIAGNOSTICS_TABLE_NAME
で診断表の名前を指定することによって、行単位の診断情報を生成するように一般化線形モデル(GLM)を構成できます。行の診断情報については、「線形回帰の行の診断情報」および「ロジスティック回帰の行の診断情報」を参照してください。
GLMでは、行の診断情報を生成するためにケースIDが必要となります。診断表の名前は指定したが、データにケースID列が含まれない場合、例外が発生します。
自動データ準備(ADP)には、線形およびロジスティックの両回帰に適したデータの変換方法が実装されています。
注意:
一般化線形モデルでは自動データ準備を使用することをお薦めします。
関連項目:
『Oracle Data Miningユーザーズ・ガイド』
ADPが有効化されている場合、作成データは、広く使用されている相関変換(Netter他、1990)を使用して標準化されます。データは、最初に各観測の属性値から属性の平均値が減算され、センタリングされます。次に、すべての観測にわたって属性ごとに2乗和平方根で観測の各属性値が除算され、データがスケーリングされます。この変換は、量的属性および質的属性の両方に対して適用されます。
標準化の前に、質的属性はN-1個の列に展開されます(Nは属性のカーディナリティ)。最頻値(mode)は、展開の変換中に省略されます。タイの最頻値が存在する場合、属性値は英数字の昇順でソートされ、リストの最初の値が展開時に除外されます。展開の変換は、ADPが有効化されているかどうかに関係なく発生します。
質的属性のカーディナリティが高い場合、ここで説明した変換(展開の後に標準化)によって、作成データのサイズが増えることがありますが、これは、結果のデータ表現が稠密であるためです。メモリー、ディスク領域および処理に関する要件を下げるには、代替手段を使用します。これらの事情により、VIF統計は注意して使用する必要があります。推定される内部の稠密表現に1GBを超えるディスク領域を必要とする大きいデータセットの場合、質的属性は標準化されません。
関連項目:
Neter, J.、Wasserman, W.およびKutner, M.H.共著、『Applied Statistical Models』(Richard D.Irwin, Inc.、Burr Ridge、IL、1990)
『Oracle Data Miningユーザーズ・ガイド』の第4章「データの変換」
質的属性はN-1個の列に展開されます(Nは属性のカーディナリティ)。最頻値(mode)は、展開の変換中に省略されます。タイの最頻値が存在する場合、属性値は英数字の昇順でソートされ、リストの最初の値が展開時に除外されます。展開の変換は、ADPが有効化されているかどうかに関係なく発生します。
ADPが有効化されている場合、量的属性が標準偏差によってスケーリングされます。この変動性の測度は、原点(平均値ではない)に関して属性ごとに標準偏差として計算されます(Marquardt、1980)。
関連項目:
Marquardt, D.W.著、『A Critique of Some Ridge Regression Methods: Comment』(Journal of the American Statistical Association、Vol. 75、No. 369、1980、pp 87-91)
Oracle Data Miningは、モデルの作成または適用時に、量的属性の欠損値を平均値に、質的属性の欠損値を最頻値に自動的に置換します。
欠損値のデフォルトの処理を無視するように一般化線形モデルを構成できます。ODMS_MISSING_VALUE_TREATMENT
設定を使用すると、欠損値が含まれるトレーニング・データ内の行を、平均値や最頻値に置換するのではなく、アルゴリズムによって削除するように設定できます。ただし、モデルの適用時には、Oracle Data Miningは通常の平均値/最頻値による欠損値置換を実行します。そのため、スコアリングによって生成された統計情報が、モデルの作成によって生成された統計情報と一致しない可能性があります。
モデルのスコアリングにおいて欠損値を持つ行を削除する場合、変換の明示的な実行が必要です。作成時と適用時の統計情報を一致させるには、適用操作を実行する前に、NULLが含まれる行をスコアリング・データから削除する必要があります。これは、ビューを作成して実行します。
CREATE VIEWviewname
AS SELECT * fromtablename
WHEREcolumn_name1
is NOT NULL ANDcolumn_name2
is NOT NULL ANDcolumn_name3
is NOT NULL .....
注意:
Oracle Data Miningでは、ネストしたデータの欠損値は、ランダムに欠損している値ではなく、スパース性を示します。
値ODMS_MISSING_VALUE_DELETE_ROW
は、ネストした列を含まない表でのみ有効です。ネストしたデータでこの値を使用すると、例外が発生します。
線形回帰は、Oracle Data Miningでサポートされている一般化線形モデルの回帰アルゴリズムです。このアルゴリズムでは、ターゲット値の範囲に対する一定分散およびターゲット変換を想定していません。
一般化線形モデルの回帰モデルでは、次に示す係数統計情報が生成されます。
線形係数推定値
係数推定値の標準誤差
係数推定値のt値
t値の確率
分散拡大係数(VIF)
係数の標準化推定値
係数の信頼限界値の下限および上限
一般化線形モデルの回帰モデルでは、モデル全体を説明する、次に示す統計情報が生成されます。
モデルの自由度。
モデルの平方和。
モデル平均平方
モデルF統計
モデルのF値の確率。
誤差の自由度。
誤差の平方和。
誤差平均平方
修正された総自由度。
修正された総平方和。
2乗平均平方根誤差。
依存平均
変動の係数
R2乗
調整済R2乗
赤池情報量基準
Schwarzのベイズ情報量基準
予測の推定平均平方誤差
HockingのSp統計
JP統計(最終予測誤差)。
パラメータ数(切片を含む係数の数)。
行数
モデルが収束したかどうか
共分散行列が計算されたかどうか
線形回帰の診断表には、次の表で説明する列が含まれます。列はすべてNUMBER
ですが、CASE_ID
列のみ、トレーニング・データの型を保持します。
表13-1 GLM回帰モデルの診断表
列 | 説明 |
---|---|
|
ケースID列の値 |
|
ターゲット列の値 |
|
ターゲットについてモデルにより予測された値 |
|
ハット行列の対角要素の値 |
|
誤差の測度 |
|
残差の標準誤差 |
|
スチューデント化された残差 |
|
予測残差 |
|
Cookの距離影響統計 |
一般化線形モデルの分類モデルでは、次に示す係数統計情報が生成されます。
予測子の名前
係数推定値
係数推定値の標準誤差
係数推定値のワルドのカイ2乗値
ワルドのカイ2乗値の確率
係数の標準化推定値
係数の信頼限界値の下限および上限
指数係数
係数の信頼限界値の上限および下限に対する指数係数
一般化線形モデルの分類モデルでは、モデル全体を説明する、次に示す統計情報が生成されます。
切片のみのモデルの適合度に関する赤池の基準。
切片および共変量(予測子)モデルの適合度に関する赤池の基準
切片のみのモデルの適合度に関するSchwarzの基準
切片および共変量(予測子)モデルの適合度に関するSchwarzの基準
切片のみのモデルの-2対数尤度。
モデルの-2対数尤度。
尤度比の自由度。
尤度比のカイ二乗確率値。
擬似R2乗(Cox & Snell)
擬似R2乗(Nagelkerke)
依存平均
正確な予測の割合。
不正確な予測の割合
タイの(2つのケースの確率が等しい)割合
パラメータ数(切片を含む係数の数)。
行数
モデルが収束したかどうか
共分散行列が計算されたかどうか
ロジスティック回帰の診断表には、次の表で説明する列が含まれます。列はすべてNUMBER
ですが、CASE_ID
列およびTARGET_VALUE
列のみ、トレーニング・データの型を保持します。
表13-2 ロジスティック回帰の行の診断表
列 | 説明 |
---|---|
|
ケースID列の値 |
|
ターゲット値の値 |
|
ターゲット値に関連付けられている確率 |
|
ハット行列の対角要素の値 |
|
調整済従属変数に関する残差 |
|
ターゲットの推定標準偏差によってスケーリングされた生の残差 |
|
モデルの全体的な適合度に対する寄与率 |
|
信頼区間の変位診断 |
|
信頼区間の変位診断 |
|
特定の観測値を削除したことによる逸脱度の変化 |
|
ピアソンのカイ2乗の変化 |