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