Microsoft 線形回帰アルゴリズム テクニカル リファレンス

Microsoft 線形回帰アルゴリズムは、連続属性のペアのモデリングに最適化された、特殊な Microsoft デシジョン ツリー アルゴリズムです。このトピックでは、アルゴリズムの実装について説明し、アルゴリズムの動作をカスタマイズする方法を示します。モデルのクエリに関する追加情報へのリンクも示します。

線形回帰アルゴリズムの実装

Microsoft デシジョン ツリー アルゴリズムは、線形回帰、分類、またはアソシエーション分析など多くのタスクで使用できます。線形回帰のためにこのアルゴリズムを実装するには、ツリーの拡張を制限するようにアルゴリズムのパラメータを制御し、モデル内のすべてのデータを単一のノード内に保持します。つまり、線形回帰はデシジョン ツリーに基づいていますが、ツリーに含まれるのは単一のルートのみで、分岐は含まれません。すべてのデータがルート ノード内に存在します。

これを実現するには、アルゴリズムの MINIMUM_LEAF_CASES パラメータを、マイニング モデルのトレーニング時にアルゴリズムで使用されるケースの総数以上に設定します。このようにパラメータを設定することにより、アルゴリズムで分割が作成されず、線形回帰が実行されます。

回帰直線を表す式は、回帰式と呼ばれる y = ax + b という一般的な形式になります。変数 Y は出力変数を表し、変数 X は入力変数を表します。a と b は調整可能な係数です。完成したマイニング モデルのクエリを実行して、係数、切片、および回帰式に関するその他の情報を取得することができます。詳細については、「線形回帰モデルの照会 (Analysis Services - データ マイニング)」を参照してください。

スコアリング方法と機能の選択

すべての Analysis Services データ マイニング アルゴリズムでは、分析の向上と処理負荷の削減のため、機能の選択が自動的に使用されます。モデルでサポートされるのは連続列だけであるため、線形回帰の機能選択に使用される方法は興味深さのスコアです。参考のため、次の表に線形回帰アルゴリズムとデシジョン ツリー アルゴリズムの機能選択の違いを示します。

アルゴリズム

分析の方法

備考

線形回帰

興味深さのスコア

既定値。

デシジョン ツリー アルゴリズムで使用できるその他の機能選択の方法は、離散変数のみに適用されるため、線形回帰モデルには適用できません。

デシジョン ツリー

興味深さのスコア

Shannon のエントロピー

K2 事前分布を指定したベイズ定理

均一な事前分布を指定したベイズ ディリクレ等式 (既定値)

非バイナリの連続する値を含む列がある場合は、一貫性を保つため、すべての列に対して興味深さのスコアが使用されます。それ以外の場合は、既定の方法か、指定した方法が使用されます。

デシジョン ツリー モデルに対する機能の選択を制御するアルゴリズム パラメータは、MAXIMUM_INPUT_ATTRIBUTES と MAXIMUM_OUTPUT です。

線形回帰アルゴリズムのカスタマイズ

Microsoft 線形回帰アルゴリズムでは、結果として得られるマイニング モデルの動作、パフォーマンス、および精度に影響を与えるパラメータがサポートされています。マイニング モデル列またはマイニング構造列にモデリング フラグを設定して、データの処理方法を制御することもできます。

アルゴリズム パラメータの設定

次の表に、Microsoft 線形回帰アルゴリズムで提供されるパラメータを示します。

パラメータ

説明

MAXIMUM_INPUT_ATTRIBUTES

選択した機能を呼び出す前にアルゴリズムが処理できる入力属性の数を定義します。この値を 0 に設定すると、機能の選択がオフになります。

既定値は 255 です。

MAXIMUM_OUTPUT_ATTRIBUTES

選択した機能を呼び出す前にアルゴリズムが処理できる出力属性の数を定義します。この値を 0 に設定すると、機能の選択がオフになります。

既定値は 255 です。

FORCED_REGRESSOR

アルゴリズムによって計算された列の重要性にかかわらず、指定した列をアルゴリズムでリグレッサとして使用するように設定します。

モデリング フラグ

Microsoft 線形回帰アルゴリズムでは、次のモデリング フラグがサポートされています。モデリング フラグは、マイニング構造やマイニング モデルを作成するときに定義し、分析時に各列の値をどのように処理するかを指定します。詳細については、「モデリング フラグ (データ マイニング)」を参照してください。

モデリング フラグ

説明

NOT NULL

列に NULL を含めることはできないことを示します。モデルのトレーニング中に NULL が検出された場合はエラーが発生します。

マイニング構造列に適用されます。

REGRESSOR

列には、分析中に潜在的な独立変数として扱われる連続する数値が含まれることを示します。

注意注意
列にリグレッサとしてフラグを設定しても、最終的なモデルでその列がリグレッサとして使用されるかどうかは保証されません。

マイニング モデル列に適用されます。

線形回帰モデルのリグレッサ

線形回帰モデルは、Microsoft デシジョン ツリー アルゴリズムに基づいています。ただし、Microsoft 線形回帰アルゴリズムを使用していない場合でも、連続属性の回帰を表すツリーやノードがデシジョン ツリー モデルに含まれることはあります。

連続列がリグレッサを表すことを指定する必要はありません。列に REGRESSOR フラグを設定しなくても、Microsoft デシジョン ツリー アルゴリズムにより、データセットが意味のあるパターンを持つ領域に分割されます。違いは、このモデリング フラグを設定すると、ツリーのノードのパターンに合う a*C1 + b*C2 + ... という形式の回帰式をアルゴリズムが見つけようとするということです。残差の合計が計算され、偏差が大きすぎる場合には、ツリーが強制的に分割されます。

たとえば、Income を属性として使用して顧客の購入行動を予測する場合に、その列に REGRESSOR モデリング フラグを設定すると、アルゴリズムはまず、標準の回帰式を使用して Income の値を試します。偏差が大きすぎる場合はその回帰式が放棄され、ツリーが他の属性で分割されます。その後デシジョン ツリー アルゴリズムは、分割後の各分岐で、Income をリグレッサとして使用できるかどうかを試します。

FORCED_REGRESSOR パラメータを使用すると、アルゴリズムで特定のリグレッサが使用されるようにすることができます。このパラメータは、Microsoft デシジョン ツリー アルゴリズムと Microsoft 線形回帰アルゴリズムで使用できます。

必要条件

線形回帰モデルには、キー列、入力列、および少なくとも 1 つの予測可能列が必要です。

入力列と予測可能列

Microsoft 線形回帰アルゴリズムでは、次の表に示す特定の入力列と予測可能列がサポートされています。マイニング モデルにおけるコンテンツの種類の意味については、「コンテンツの種類 (データ マイニング)」を参照してください。

コンテンツの種類

入力属性

Continuous、Cyclical、Key、Table、Ordered

予測可能な属性

Continuous、Cyclical、Ordered

注意注意

コンテンツの種類 Cyclical および Ordered はサポートされますが、アルゴリズムはこれらを不連続の値として扱い、特別な処理は行いません。