プライマリ・コンテンツに移動
Oracle® Data Mining概要
12cリリース1 (12.1) B72966-03
目次へ移動
目次
索引へ移動
索引

前
次
次へ

13 一般化線形モデル

線形モデリングの一般化線形モデル(GLM)の統計手法を使用する方法を学習します。

Oracle Data Miningでは、回帰および 2項分類でGLMがサポートされます。

一般化線形モデルとは

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

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

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

一般化線形モデルでは、リンク関数および分散関数という2つのメカニズムを使用して、線形モデルの仮定に違反する応答に対応しています。リンク関数は、線形モデルの単純な形式を維持できるように、ターゲットの範囲を負の無限大から正の無限大の潜在範囲に変換します。分散関数は、予測応答の1つの関数として分散を表現するため、非一定分散の応答(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では、回帰および分類の両マイニング機能に対してリッジ回帰がサポートされています。アルゴリズムは、データに単一性(正確多重共線性)を検出すると、リッジ回帰を自動的に使用します。

単一性に関する情報は、グローバルなモデルの詳細で戻されます。

リッジ回帰の構成

モデルの構築設定を指定すると、リッジ回帰を明示的に有効化できます。リッジ回帰を明示的に有効化する場合、システム生成のリッジ・パラメータを使用するか、独自のパラメータを指定することが可能です。リッジ回帰が自動的に使用される場合、リッジ・パラメータも自動的に計算されます。

リッジの構成設定については、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。構成の選択について次にまとめます。

  • リッジ回帰に関して、アルゴリズムによる自動選択を優先するかどうかを指定します。

  • リッジ・パラメータの値(リッジ回帰を明示的に有効化した場合にのみ使用される)を指定します。

  • 線形回帰にリッジが使用される際に、分散拡大係数(VIF)統計情報を生成するかどうかを指定します。

リッジと信頼限界

リッジ回帰を使用して作成されたモデルでは信頼限界はサポートされていません。

関連項目:

「信頼限界」

リッジと分散拡大係数(線形回帰用)

GLMでは、リッジ回帰を使用して作成されたものでないかぎり、線形回帰モデルについて分散拡大係数(VIF)の統計情報が生成されます。GLMS_VIF_FOR_RIDGE設定を指定すると、リッジを使用したときもVIFを明示的に要求できます。アルゴリズムは、システム・リソースが十分にある場合にのみ、リッジを使用してもVIFを生成します。

リッジとデータ準備

リッジ回帰が有効化されていると、モデルの係数および診断に関して、データ準備方法の違いで異なる結果が生成される可能性があります。リッジ回帰が使用される場合は特に、一般化線形モデルに対して自動データ準備を有効化することをお薦めします。

スケーラブルな特徴選択

Oracle Data Miningでは、一般化線形モデルの特徴選択および生成の、高度にスケーラブルで自動化されたバージョンがサポートされます。この機能によって、アルゴリズムのパフォーマンスを向上し、精度と解釈性を改善できます。特徴選択および生成は、線形回帰と2項ロジスティック回帰の両方で使用できます。

特徴選択

特徴選択は、モデルに含まれる用語を選択するプロセスです。モデルに含まれる用語が少ないほど、ユーザーはその意味をより簡単に解釈できます。また、一部の列は、モデルで予測しようとしている値とは関係ないことがあります。このような列を削除すると、モデルの精度を向上できます。

特徴選択の構成

特徴選択は、一般化線形モデル用の構築設定です。デフォルトでは無効です。特徴選択用に構成すると、アルゴリズムによって自動的にデフォルトの適切な動作が決定されますが、次の構成オプションも使用できます。

  • 特徴選択の基準は、AIC、SBIC、RICまたはα投資のいずれかです。特徴選択の基準がα投資である場合、特徴の許容範囲は厳密または緩和のいずれかです。

  • 特徴の最大数を指定できます。

  • 特徴は、最終モデルでプルーニングできます。プルーニングは、線形回帰の場合はt統計に、ロジスティック回帰の場合はワルド統計に基づきます。

特徴選択とリッジ回帰

特徴選択とリッジ回帰は、相互に排他的です。特徴選択が有効化されると、アルゴリズムではリッジを使用できません。

注意:

特徴選択とリッジ回帰の両方を使用するようにモデルを構成すると、エラーが発生します。

特徴生成

特徴生成は、用語の変換をモデルに追加するプロセスです。特徴生成によって、ターゲットと予測子の間のより複雑な関係に適合するようにモデルの能力を拡張できます。

特徴生成の構成

特徴生成は、特徴選択が有効化されている場合にのみ使用できます。特徴生成は、構築設定です。デフォルトでは、特徴生成は有効化されていません。

特徴生成の方法は、2次または3次のいずれかです。デフォルトでは、アルゴリズムによって適切な方法が選択されます。明示的に特徴生成の方法を指定することもできます。

特徴選択の次のオプションも、特徴生成に影響を与えます。

  • 厳密または緩和の特徴許容範囲(特徴選択の基準がα投資の場合のみ)

  • 特徴の最大数

  • モデルのプルーニング

注意:

ブロック・サイズ設定は、特徴生成にとって適切ではありません。特徴生成の有効時にブロック・サイズを設定すると、エラーが発生します。

関連項目:

『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』のアルゴリズム設定の一般化線形モデルに関する項

GLM用のチューニングと診断

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

構築設定

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

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

  • 行の重み係数が格納される列。

  • 行レベルの診断情報が格納される表。

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

関連項目:

『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』のアルゴリズム設定の一般化線形モデルに関する項

診断

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

係数統計情報

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

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

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

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

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

関連項目:

「リッジ回帰」

行の診断情報

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

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

GLM用のデータ準備

自動データ準備(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 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でサポートされている一般化線形モデルの回帰アルゴリズムです。このアルゴリズムでは、ターゲット値の範囲に対する一定分散およびターゲット変換を想定していません。

線形回帰の係数統計情報

一般化線形モデルの回帰モデルでは、次に示す係数統計情報が生成されます。

  • 線形係数推定値

  • 係数推定値の標準誤差

  • 係数推定値のt値

  • t値の確率

  • 分散拡大係数(VIF)

  • 係数の標準化推定値

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

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

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

  • モデルの自由度。

  • モデルの平方和。

  • モデル平均平方

  • モデルF統計

  • モデルのF値の確率。

  • 誤差の自由度。

  • 誤差の平方和。

  • 誤差平均平方

  • 修正された総自由度。

  • 修正された総平方和。

  • 2乗平均平方根誤差。

  • 依存平均

  • 変動の係数

  • R2乗

  • 調整済R2乗

  • 赤池情報量基準

  • Schwarzのベイズ情報量基準

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

  • HockingのSp統計

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

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

  • 行数

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

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

線形回帰の行の診断情報

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

表13-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でサポートされている一般化線形モデルの分類アルゴリズムです。このアルゴリズムでは、ロジット・リンク関数および2項分散関数を使用します。

参照クラス

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

クラスの重み

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

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

一般化線形モデルの分類モデルでは、次に示す係数統計情報が生成されます。

  • 予測子の名前

  • 係数推定値

  • 係数推定値の標準誤差

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

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

  • 係数の標準化推定値

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

  • 指数係数

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

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

一般化線形モデルの分類モデルでは、モデル全体を説明する、次に示す統計情報が生成されます。

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

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

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

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

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

  • モデルの-2対数尤度。

  • 尤度比の自由度。

  • 尤度比のカイ二乗確率値。

  • 擬似R2乗(Cox & Snell)

  • 擬似R2乗(Nagelkerke)

  • 依存平均

  • 正確な予測の割合。

  • 不正確な予測の割合

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

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

  • 行数

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

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

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

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

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

説明

CASE_ID

ケースID列の値

TARGET_VALUE

ターゲット値の値

TARGET_VALUE_PROB

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

HAT

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

WORKING_RESIDUAL

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

PEARSON_RESIDUAL

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

DEVIANCE_RESIDUAL

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

C

信頼区間の変位診断

CBAR

信頼区間の変位診断

DIFDEV

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

DIFCHISQ

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