この章では、連続的な量的ターゲットを予測するための監視ありマイニング機能である回帰について説明します。
この章では、次の項目について説明します。
回帰は、数値を予測するデータ・マイニング機能です。利益、売上、住宅ローン金利、住宅価格、建坪、気温、距離などはすべて、回帰の手法を使用して予測することが可能です。たとえば、回帰モデルを使用すると、立地、部屋数、敷地の広さその他の要因に基づいて住宅価格を予測できます。
回帰タスクは、ターゲット値が判明しているデータセットから着手します。たとえば、住宅価格を予測する回帰モデルは、一定の期間に観測された多数の住宅のデータに基づいて作成されます。このデータには、住宅価格だけでなく、築年数、建坪、部屋数、税金、学区、商店街までの距離などのデータが含まれていることが考えられます。住宅価格をターゲット、他の属性を予測子として、各住宅のデータが1つのケースを構成します。
モデルの作成(トレーニング)プロセスでは、回帰アルゴリズムは、作成データの各ケースの予測子の関数としてターゲットの値を予測します。予測子とターゲットの関係はモデルに集約され、このモデルはターゲット値が未知である別のデータセットに適用できます。
回帰モデルは、予測値と期待値の差を測定する様々な統計を計算することによってテストされます。回帰プロジェクト用の履歴データは、通常2つのデータセットに分割し、一方をモデルの作成用、もう一方をモデルのテスト用として使用します。「回帰モデルのテスト」を参照してください。
回帰モデルには、動向分析、経営計画、マーケティング、財務予測、時系列予測、生物医学および薬物反応モデリング、環境モデリングなど、多数の用途があります。
データ・マイニング用の良質な回帰モデルを作成および使用する上で、回帰分析で使用される数学の知識は必要ありません。ただし、いくつかの基本的な概念を理解することは有益です。
回帰分析の目的は、指定した観測データセットにその関数が最も適合するように、関数のパラメータの値を決定することです。次の方程式は、これらの関係を記号で表したものです。この方程式は、回帰が、1つ以上の予測子(x1、x2、...、xn)および1連のパラメータ(θ1、θ2、...、θn)の関数(F)と誤差の測度(e)との和により、連続的ターゲット(y)の値を推定するプロセスであることを示しています。
y = F(x,θ) + e
予測子を独立変数、ターゲットを従属変数と考えることができます。誤差(残差とも呼ばれる)は、従属変数の期待値と予測値の差です。回帰パラメータは、回帰係数とも呼ばれます(「回帰係数」を参照)。
回帰モデルのトレーニング・プロセスでは、誤差の測度(2乗誤差の合計など)を最小にするパラメータ値を見つけます。
回帰関数には様々な種類があり、誤差の測定方法も様々です。
線形回帰の手法は、予測子とターゲットの関係を直線で近似できる場合に使用できます。
視覚化するのが最も簡単なのは、予測子が1つの回帰です。予測子が1つの単純線形回帰を図4-1に示します。
予測子が1つの線形回帰は、次の方程式で表すことができます。
y = θ2x + θ1 + e
単純線形回帰の回帰パラメータは次のとおりです。
多変量線形回帰という用語は、2つ以上の予測子(x1、x2、…、xn)を持つ線形回帰を意味します。複数の予測子を使用する場合、回帰直線は2次元空間で視覚化できません。ただし、この回帰直線は、単一予測子の線形回帰を表す方程式を拡張し、各予測子に対応するパラメータを追加することによって簡単に計算できます。
y = θ1 + θ2x1 + θ3x2 + ..... θn xn-1 + e
多変量線形回帰では、回帰パラメータを係数と呼ぶこともあります。多変量線形回帰モデルを作成すると、そのモデルが使用する各予測子に対応する係数がアルゴリズムによって計算されます。係数とは、ターゲットyに対する予測子xの影響の測度です。回帰直線がどの程度データに適合するかを評価するために回帰係数の分析を行う際には、多数の統計量を使用できます(「回帰統計量」を参照)。
xとyの関係は、直線では近似できないこともしばしばあります。この場合、非線形回帰の手法を使用できます。または、線形の関係になるようにデータを事前処理することもできます。
非線形回帰モデルは、線形回帰方程式よりも複雑な方程式を使用して、yをxの関数として定義します。図4-2では、xとyの関係は非線形です。
年齢別の顧客の購買動向についてさらに詳しく調べる必要があるとします。そこで、様々な人口統計上の特性や購買パターンの関数として顧客の年齢を予測するモデルを作成します。このモデルは数値(年齢)を予測するので、回帰アルゴリズムを使用します。
この例では、回帰モデルsvmr_sh_regr_sample
を使用します。この回帰モデルはOracle Data Miningサンプル・プログラムの1つで作成されるものです。図4-3は、モデルの作成に使用したケース表から抜粋した6つの列と10の行です。affinity_card
列には、1(提携カードを頻繁に使用する)または0(カードをほとんどまたはまったく使用しない)のいずれかが格納されます。
テストを行った後(「回帰モデルのテスト」を参照)、マイニング対象のデータセットにモデルを適用できます。
図4-4は、Oracle Data Miningのサンプル・プログラムに用意されている顧客データセットにモデルを適用したときに生成された予測の一部です。各顧客について予測された年齢とともに、一部の予測子が表示されています。
注意: Oracle Data Minerでは、適用出力表のDMR$CASE_ID 列に一般化されたケースIDが表示されます。出力に含めるように選択した各予測子の列名には「1」が追加されます。予測値(図4-4では予測年齢)は、PREDICTION 列に表示されます。 |
関連項目: Oracle Data Miningのサンプル・プログラムの詳細は、『Oracle Data Mining管理者ガイド』を参照してください。 |
回帰モデルをテストするには、そのモデルを既知のターゲット値を持つテスト・データに適用し、予測値と既知の値を比較します。
テスト・データは、モデルの作成に使用されたデータと互換性がなければなりません。また、作成データと同じ方法で準備する必要があります。通常、作成データとテスト・データは同じ履歴データセットから用意します。レコードの何割かがモデルの作成に使用され、残りのレコードがモデルのテストに使用されます。
これらの既知の値をモデルがどれくらい正確に予測するかを評価するために、テスト・メトリックが使用されます。モデルの予測精度が高くビジネス要件を満たす場合は、新しいデータにそのモデルを適用して将来の予測に役立てることができます。
残差プロットは散布図の一種で、x軸はxの予測値、y軸はxに対する残差です。残差は、xの実際の値とxの予測値の差です。
図4-5に、図4-4で示した回帰の結果の残差プロットを示します。ほとんどのデータ・ポイントが0(ゼロ)付近に集まっています。これは、残差が小さいことを表しています。ただし、xの値が大きくなるにつれデータ・ポイントと0(ゼロ)との距離が大きくなっています。つまり、このモデルは顧客の年齢が高いほど誤差が大きくなることがわかります。
2乗平均平方根誤差および平均絶対誤差は、回帰モデルの全体的な質を評価するためによく使用される統計量です。アルゴリズムによって使用される回帰方法に応じて、異なる統計量を利用できる場合もあります。
2乗平均平方根誤差(RMSE)は、近似線からのデータ・ポイントの平均2乗距離の平方根です。
RMSEは、次のSQL式によって計算できます。
SQRT(AVG((predicted_value
-actual_value
) * (predicted_value
-actual_value
)))
次の式は、RMSEを数学記号で表したものです。大文字のシグマは和を表し、jは現在の予測子、nは予測子の数を表しています。
平均絶対誤差(MAE)は、残差(誤差)の絶対値の平均です。MAEはRMSEに非常に似ていますが、大きな誤差に対する感度は低くなります。
MAEは、次のSQL式によって計算できます。
AVG(ABS(predicted_value
-actual_value
))
次の式は、MAEを数学記号で表したものです。大文字のシグマは和を表し、jは現在の予測子、nは予測子の数を表しています。
Oracle Data Minerは、図4-6に示すような回帰テスト・メトリックを計算します。
Oracle Data Minerは、回帰モデルの予測の信頼度を計算します。予測の信頼度とは、偶然の予測に対する、モデルによって得られる予測の改良度を示す測度です。モデルが「ナイーブ」であり分析が実行されなかった場合、そのモデルは単に平均を予測します。つまり、予測の信頼度は、モデルによる予測がナイーブ・モデルの予測に対して何%向上したかを表します。図4-7に表示されている予測の信頼度は43%です。つまり、このモデルはナイーブ・モデルよりも43%優れていることを意味しています。
Oracle Data Miningは、回帰に対して2つのアルゴリズムをサポートしています。どちらのアルゴリズムも、ディメンション性が非常に高い、つまり多数の属性を持つデータセット(トランザクショナル・データや非構造化データなど)のマイニングに特に適しています。
GLMは、線形モデリングでよく使用される統計的手法です。Oracle Data Miningでは、回帰および2項分類でGLMを実装しています。
GLMでは、係数統計情報やモデルの統計情報、行の診断情報など多数の情報を利用できます。GLMは信頼限界もサポートしています。
サポート・ベクター・マシン(SVM)
SVMは、線形回帰および非線形回帰用の強力な最新のアルゴリズムです。Oracle Data Miningでは、回帰およびその他のマイニング機能に対してSVMが実装されています。
SVM回帰では、非線形回帰用のガウス・カーネルおよび線形回帰用の線形カーネルという2種類のカーネルをサポートしています。また、SVMは能動学習もサポートしています。