この章では、連続的な量的ターゲットを予測するための監視ありマイニング機能である回帰について説明します。
この章には、次の項が含まれます。
回帰は、連続体に沿って数値を予測するデータ・マイニング機能です。利益、売上、住宅ローン金利、住宅価格、建坪、気温、距離などはすべて、回帰の手法を使用して予測することが可能です。たとえば、回帰モデルを使用すると、立地、部屋数、敷地の広さその他の要因に基づいて住宅価格を予測できます。
回帰タスクは、ターゲット値が判明しているデータセットから着手します。たとえば、住宅価格を予測する回帰モデルは、一定の期間に観測された多数の住宅のデータに基づいて作成されます。このデータには、住宅価格だけでなく、築年数、建坪、部屋数、税金、学区、商店街までの距離などのデータが含まれていることが考えられます。住宅価格をターゲット、他の属性を予測子として、各住宅のデータが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) - データ・ポイントと回帰直線との間の角度
y切片(θ1) - xがy軸と交差する点(x = 0)
多変量線形回帰という用語は、2つ以上の予測子(x1、x2、…、xn)を持つ線形回帰を意味します。複数の予測子を使用する場合、回帰直線は2次元空間で視覚化できません。ただし、この回帰直線は、単一予測子の線形回帰を表す方程式を拡張し、各予測子に対応するパラメータを追加することによって簡単に計算できます。
y = θ1 + θ2x1 + θ3x2 + ..... θn xn-1 + e
多変量線形回帰では、回帰パラメータを係数と呼ぶこともあります。多変量線形回帰モデルを作成すると、そのモデルが使用する各予測子に対応する係数がアルゴリズムによって計算されます。係数とは、ターゲットyに対する予測子xの影響の測度です。回帰直線がどの程度データに適合するかを評価するために回帰係数の分析を行う際には、多数の統計量を使用できます (「回帰統計量」を参照)。
xとyの関係は、直線では近似できないこともしばしばあります。この場合、非線形回帰の手法を使用できます。または、線形の関係になるようにデータを事前処理することもできます。
非線形回帰モデルは、線形回帰方程式よりも複雑な方程式を使用して、yをxの関数として定義します。図4-2では、xとyの関係は非線形です。
回帰モデルをテストするには、そのモデルを既知のターゲット値を持つテスト・データに適用し、予測値と既知の値を比較します。
モデルを適用するテスト・データは、モデルの構築で使用したデータと互換性があることが必要で、モデル構築データが準備されたのと同じ方法で準備される必要があります。通常、作成データとテスト・データは、同じ履歴データ・セットからのものである必要があります。モデルの作成に数パーセントのレコードが使用され、残りのレコードはモデルのテストに使用されます。
これらの既知の値をモデルがどれくらい正確に予測するかを評価するために、テスト・メトリックが使用されます。モデルの予測精度が高くビジネス要件を満たす場合は、新しいデータにそのモデルを適用して将来の予測に役立てることができます。
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 Miningは、回帰に対して2つのアルゴリズムをサポートしています。どちらのアルゴリズムも、ディメンション性が非常に高い、つまり多数の属性を持つデータセット(トランザクショナル・データや非構造化データなど)のマイニングに特に適しています。
一般化線形モデル(GLM)
GLMは、線形モデリングでよく使用される統計的手法です。Oracle Data Miningでは、回帰および2項分類でGLMを実装しています。
GLMでは、係数統計情報やモデルの統計情報、行の診断情報など多数の情報を利用できます。GLMは信頼限界もサポートしています。
サポート・ベクター・マシン(SVM)
SVMは、線形回帰および非線形回帰用の強力な最新のアルゴリズムです。Oracle Data Miningでは、回帰およびその他のマイニング機能に対してSVMが実装されています。
SVM回帰では、非線形回帰用のガウス・カーネルおよび線形回帰用の線形カーネルという2種類のカーネルをサポートしています。また、SVMは能動学習もサポートしています。