ヘッダーをスキップ
Oracle Data Mining概要
11g リリース2(11.2)
E48231-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

12 一般化線形モデル

この章では、線形モデリング用の統計的手法である、一般化線形モデル(GLM)について説明します。Oracle Data Miningでは、回帰および分類の両マイニング機能に対してGLMがサポートされています。

この章には、次の項が含まれます。

一般化線形モデルとは

一般化線形モデル(GLM)は、「線形回帰」で説明する線形モデルのクラスを含み、このクラスを拡張したものです。

線形モデルでは、ターゲット(従属変数y)が予測応答値に関係なく一定分散を持つ予測子の値を条件として正規分布するという、一連の制限が仮定される点が最も重要です。線形モデルおよび線形モデルの制限のメリットは、計算が容易なこと、解釈可能なモデルの形式であること、および適合度の質に関する一定の診断情報を計算できる点にあります。

一般化線形モデルは、実際には違反されることが多いこれらの制限を緩和したものです。たとえば、2値(yes/noまたは0/1)応答は、クラス間で同じ分散を持ちません。さらに、線形モデルでの項の合計は、一般的に、極端にネガティブな値と極端にポジティブな値を包含する非常に大きな範囲をとる場合があります。2値応答の例では、場合によっては、応答が[0,1]の範囲内の確率となるようにする必要があります。

一般化線形モデルでは、2つのメカニズム(リンク関数および分散関数)に違反する線形モデルの仮定への応答に対応しています。リンク関数は、ターゲット範囲を潜在的に-無限大から+無限大に変換して、線形モデルを単純な形式に維持します。分散関数は、分散を予測応答の機能として表し、非定分散への応答(2値応答など)に対応しています。

Oracle Data Miningは、GLMモデルのファミリのうち最もよく使用されている次の2つのアルゴリズムを備えています。これらのアルゴリズムでは、最もよく使用されているリンク関数および分散関数が使用されます。

  • 線形回帰。恒等リンク関数および分散関数(定数1に等しい: 応答値の範囲に対する一定分散)を使用します。「線形回帰」を参照してください。

  • ロジスティック回帰。ロジット・リンク関数および2項分散関数を使用します。「ロジスティック回帰」を参照してください。

Oracle Data MiningのGLM

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用のチューニングと診断

GLMモデルの開発プロセスでは通常、多数のモデルを作成します。モデルを作成するたびに、モデルの質を判別するために評価できる統計情報が多数生成されます。これらの診断に応じて、モデル設定の変更などを試行できます。

構築設定

構築設定を使用すると、次のものを指定できます。

  • 係数の信頼度 - GLMS_CONF_LEVEL設定は、モデルによって計算される信頼限界内に真の係数が収まる確度を示します。デフォルトの信頼度は、.95です。

  • 行の重み - ODMS_ROW_WEIGHT_COLUMN_NAME設定は、行の重み係数が格納される列を識別します。

  • 行の診断情報 - GLMS_DIAGNOSTICS_TABLE_NAME設定は、行レベルの診断情報を格納する表を識別します。

その他にも、次のような目的で構築設定を使用できます。


関連項目:

GLM設定の詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。

診断

GLMモデルでは、モデルの質を評価する際に役立つメトリックが多数生成されます。

係数統計情報

線形およびロジスティックの両回帰では同じ統計情報のセットが戻されますが、該当のマイニング機能に適用されない統計情報はNULLとして戻されます。係数統計情報については、「線形回帰の係数統計情報」および「ロジスティック回帰の係数統計情報」を参照してください。

係数統計情報は、DBMS_DATA_MININGGET_MODEL_DETAILS_GLMファンクションによって戻されます。

グローバルなモデルの統計情報

線形およびロジスティックの両回帰には、モデル全体を説明する高水準の統計情報が個別に戻されます。リッジ回帰が有効化されている場合、戻されるグローバルな詳細情報は少なくなります(「リッジ回帰」を参照)。グローバルなモデルの統計情報については、「線形回帰のグローバルなモデルの統計情報」および「ロジスティック回帰のグローバルなモデルの統計情報」を参照してください。

グローバルな統計情報は、DBMS_DATA_MININGGET_MODEL_DETAILS_GLOBALファンクションによって戻されます。

行の診断情報

構築設定のGLMS_DIAGNOSTICS_TABLE_NAMEで診断表の名前を指定することによって、行単位の診断情報を生成するようにGLMモデルを構成できます。行の診断情報については、「線形回帰の行の診断情報」および「ロジスティック回帰の行の診断情報」を参照してください。

GLMでは、行の診断情報を生成するためにケースIDが必要となります。診断表の名前は指定したが、データにケースID列が含まれない場合、例外が発生します。

GLM用のデータ準備

自動データ準備(ADP)には、線形およびロジスティックの両回帰に適したデータの変換方法が実装されています。


注意:

GLMでは自動データ準備を使用することをお薦めします。

線形回帰用のデータ準備

ADPが有効化されている場合、作成データは、広く使用されている相関変換(Netter他、1990)を使用して標準化されます。データは、最初に各観測の属性値から属性の平均値が減算され、センタリングされます。次に、すべての観測にわたって属性ごとに2乗和平方根で観測の各属性値が除算され、データがスケーリングされます。この変換は、量的属性および質的属性の両方に対して適用されます。

標準化の前に、カテゴリ属性がN-1列(Nは属性のカーディナリティ)に展開されます。最頻値(mode)は、展開の変換中に省略されます。頻度が最も高い一致の場合、属性値は英数字順に昇順でソートされ、リストの最初の値が展開中に省略されます。展開の変換は、ADPが有効化されているかどうかに関係なく発生します。

カーディナリティの高いカテゴリ属性の場合、前述の変換(展開の後に標準化が続く)によって、結果となるデータ表現が稠密なため作成データ・サイズが大きくなる可能性があります。必要なメモリ、ディスク領域および処理を減らすには、代替の手法が必要となります。予測の内部表記の密度の高い大規模なデータセットでは、1GBを超えるディスク領域が必要となるため、カテゴリ属性は標準化されません。この状況の場合、VIF統計は注意して使用する必要があります。


参考:

Neter, J.、Wasserman, W.およびKutner, M.H.共著、『Applied Statistical Models』(Richard D.Irwin, Inc.、Burr Ridge、IL、1990)

ロジスティック回帰用のデータ準備

カテゴリ属性は、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は、モデルの作成または適用時に、量的属性の欠損値を平均値に、質的属性の欠損値を最頻値に自動的に置換します。

欠損値のデフォルトの処理を無視するようにGLMモデルを構成できます。ODMS_MISSING_VALUE_TREATMENT設定を使用すると、欠損値が含まれるトレーニング・データ内の行を、平均値や最頻値に置換するのではなく、アルゴリズムによって削除するように設定できます。ただし、モデルの適用時には、Oracle Data Miningは通常の平均値/最頻値による欠損値置換を実行します。そのため、スコアリングによって生成された統計情報が、モデルの作成によって生成された統計情報と一致しないことがあります。

モデルのスコアリングにおいて欠損値を持つ行を削除する場合、変換の明示的な実行が必要です。作成時と適用時の統計情報を一致させるには、適用操作を実行する前に、NULLが含まれる行をスコアリング・データから削除する必要があります。これは、ビューを作成して実行します。

CREATE VIEW viewname AS SELECT * from tablename 
     WHERE column_name1 is NOT NULL 
     AND   column_name2 is NOT NULL 
     AND   column_name3 is NOT NULL ..... 

注意:

Oracle Data Miningでは、ネストしたデータの欠損値は、ランダムに欠損している値ではなく、スパース性を示します。

ODMS_MISSING_VALUE_DELETE_ROWは、ネストした列を持たない表についてのみ有効です。ネストしたデータでこの値を使用すると、例外が発生します。


線形回帰

線形回帰は、Oracle Data MiningでサポートされているGLM回帰アルゴリズムです。このアルゴリズムでは、ターゲット値の範囲に対する一定分散およびターゲット変換を想定していません。

線形回帰の係数統計情報

GLM回帰モデルでは、次に示す係数統計情報が生成されます。

  • 線形係数推定値

  • 係数推定値の標準誤差

  • 係数推定値のt値

  • t値の確率

  • 分散拡大係数(VIF)

  • 係数の標準化推定値

  • 係数の信頼限界値の下限および上限

線形回帰のグローバルなモデルの統計情報

GLM回帰モデルでは、モデル全体を説明する、次に示す統計情報が生成されます。

  • モデル自由度

  • モデル平方和

  • モデル平均平方

  • モデルF統計

  • モデルF値確率

  • 誤差自由度

  • 誤差平方和

  • 誤差平均平方

  • 修正された総自由度

  • 修正された総平方和

  • 2乗平均平方根誤差

  • 依存平均

  • 変動係数

  • R2乗

  • 調整済R2乗

  • 赤池情報量基準

  • Schwarzのベイズ情報量基準

  • 予測の推定平均平方誤差

  • HockingのSp統計

  • JP統計(最終予測誤差)

  • パラメータ数(切片を含む係数の数)

  • 行数

  • モデルが収束したかどうか

  • 共分散行列が計算されたかどうか

線形回帰の行の診断情報

線形回帰の診断表には、表12-1で説明する列が含まれます。列はすべてNUMBERですが、CASE_ID列のみ、トレーニング・データの型を保持します。

表12-1 GLM回帰モデルの診断表

説明

CASE_ID

ケースID列の値

TARGET_VALUE

ターゲット列の値

PREDICTED_VALUE

ターゲットについてモデルにより予測された値

HAT

ハット行列の対角要素の値

RESIDUAL

誤差の測度

STD_ERR_RESIDUAL

残差の標準誤差

STUDENTIZED_RESIDUAL

スチューデント化された残差

PRED_RES

予測残差

COOKS_D

Cookの距離影響統計


ロジスティック回帰

2項ロジスティック回帰は、Oracle Data MiningでサポートされているGLM分類アルゴリズムです。このアルゴリズムでは、ロジット・リンク関数および2項分散関数を使用します。

参照クラス

構築設定GLMS_REFERENCE_CLASS_NAMEを使用すると、2項ロジスティック回帰モデルで参照として使用されるターゲット値を指定できます。その他の(非参照)クラスに対しては確率が生成されます。デフォルトでは、アルゴリズムは普及率の最も高い値を選択します。タイの値が存在する場合、属性値は英数字の昇順でソートされます。

クラスの重み

構築設定CLAS_WEIGHTS_TABLE_NAMEを使用すると、クラスの重み表の名前を指定できます。クラスの重みは、モデルの作成時にターゲット・クラスの重み付けに影響します。

ロジスティック回帰の係数統計情報

GLM分類モデルでは、次に示す係数統計情報が生成されます。

  • 予測子の名前

  • 係数推定値

  • 係数推定値の標準誤差

  • 係数推定値のワルドのカイ2乗値

  • ワルドのカイ2乗値の確率

  • 係数の標準化推定値

  • 係数の信頼限界値の下限および上限

  • 指数係数

  • 係数の信頼限界値の上限および下限に対する指数係数

ロジスティック回帰のグローバルなモデルの統計情報

GLM分類モデルでは、モデル全体を説明する次のような統計情報が生成されます。

  • 切片のみのモデルの適合度に関する赤池の基準

  • 切片および共変量(予測子)モデルの適合度に関する赤池の基準

  • 切片のみのモデルの適合度に関するSchwarzの基準

  • 切片および共変量(予測子)モデルの適合度に関するSchwarzの基準

  • 切片のみのモデルの-2対数尤度

  • モデルの-2対数尤度

  • 尤度比自由度

  • 尤度比カイ2乗確率値

  • 擬似R2乗(Cox & Snell)

  • 擬似R2乗(Nagelkerke)

  • 依存平均

  • 正確な予測の割合

  • 不正確な予測の割合

  • タイの(2つのケースの確率が等しい)割合

  • パラメータ数(切片を含む係数の数)

  • 行数

  • モデルが収束したかどうか

  • 共分散行列が計算されたかどうか

ロジスティック回帰の行の診断情報

ロジスティック回帰の診断表には、表12-2で説明する列が含まれます。列はすべてNUMBERですが、CASE_ID列およびTARGET_VALUE列のみ、トレーニング・データの型を保持します。

表12-2 ロジスティック回帰の行の診断表

説明

CASE_ID

ケースID列の値

TARGET_VALUE

ターゲット値の値

TARGET_VALUE_PROB

ターゲット値に関連付けられている確率

HAT

ハット行列の対角要素の値

WORKING_RESIDUAL

調整済従属変数に関する残差

PEARSON_RESIDUAL

ターゲットの推定標準偏差によってスケーリングされた生の残差

DEVIANCE_RESIDUAL

モデルの全体的な適合度に対する寄与率

C

信頼区間の変位診断

CBAR

信頼区間の変位診断

DIFDEV

特定の観測値を削除したことによる逸脱度の変化

DIFCHISQ

ピアソンのカイ2乗の変化