Microsoft 線形回帰アルゴリズム テクニカル リファレンス
適用対象:SQL Server 2019 以前の Analysis Services Azure Analysis Services Fabric/Power BI Premium
重要
データ マイニングは SQL Server 2017 Analysis Services で非推奨となり、SQL Server 2022 Analysis Services で停止されました。 非推奨および停止された機能については、ドキュメントの更新は行われません。 詳細については、「Analysis Services 下位互換性」を参照してください。
Microsoft 線形回帰アルゴリズムは、連続属性のペアをモデリングするために最適化された Microsoft デシジョン ツリー アルゴリズムの特別なバージョンです。 このトピックでは、アルゴリズムの実装について説明し、アルゴリズムの動作をカスタマイズする方法を示します。モデルのクエリに関する追加情報へのリンクも示します。
線形回帰アルゴリズムの実装
Microsoft デシジョン ツリー アルゴリズムは、線形回帰、分類、またはアソシエーション分析など多くのタスクで使用できます。 線形回帰のためにこのアルゴリズムを実装するには、ツリーの拡張を制限するようにアルゴリズムのパラメーターを制御し、モデル内のすべてのデータを単一のノード内に保持します。 つまり、線形回帰はデシジョン ツリーに基づいていますが、ツリーに含まれるのは単一のルートのみで、分岐は含まれません。すべてのデータがルート ノード内に存在します。
これを実現するには、アルゴリズムの MINIMUM_LEAF_CASES パラメーターを、マイニング モデルのトレーニング時にアルゴリズムで使用されるケースの総数以上に設定します。 このようにパラメーターを設定することにより、アルゴリズムで分割が作成されず、線形回帰が実行されます。
回帰直線を表す式は、回帰式と呼ばれる y = ax + b という一般的な形式になります。 変数 Y は出力変数を表し、変数 X は入力変数を表します。a と b は調整可能な係数です。 完成したマイニング モデルのクエリを実行して、係数、切片、および回帰式に関するその他の情報を取得することができます。 詳細については、「 線形回帰モデルのクエリ例」を参照してください。
スコアリング方法と機能の選択
すべてのSQL Server Analysis Servicesデータ マイニング アルゴリズムは、自動的に特徴選択を使用して分析を改善し、処理負荷を軽減します。 モデルでサポートされるのは連続列だけであるため、線形回帰の機能選択に使用される方法は興味深さのスコアです。 参考のため、次の表に線形回帰アルゴリズムとデシジョン ツリー アルゴリズムの機能選択の違いを示します。
アルゴリズム | 分析の方法 | 説明 |
---|---|---|
線形回帰 | 興味深さのスコア | 既定値。 デシジョン ツリー アルゴリズムで使用できるその他の機能選択の方法は、離散変数のみに適用されるため、線形回帰モデルには適用できません。 |
デシジョン ツリー | 興味深さのスコア Shannon のエントロピー K2 事前分布を指定したベイズ定理 均一な事前分布を指定したベイズ ディリクレ等式 (既定値) |
非バイナリの連続する値を含む列がある場合は、一貫性を保つため、すべての列に対して興味深さのスコアが使用されます。 それ以外の場合は、既定の方法か、指定した方法が使用されます。 |
デシジョン ツリー モデルに対する機能の選択を制御するアルゴリズム パラメーターは、MAXIMUM_INPUT_ATTRIBUTES と MAXIMUM_OUTPUT です。
線形回帰アルゴリズムのカスタマイズ
Microsoft 線形回帰アルゴリズムでは、結果として得られるマイニング モデルの動作、パフォーマンス、精度に影響を与えるパラメーターがサポートされています。 マイニング モデル列またはマイニング構造列にモデリング フラグを設定して、データの処理方法を制御することもできます。
アルゴリズム パラメーターの設定
次の表に、Microsoft 線形回帰アルゴリズムに用意されているパラメーターの一覧を示します。
パラメーター | 説明 |
---|---|
MAXIMUM_INPUT_ATTRIBUTES | 選択した機能を呼び出す前にアルゴリズムが処理できる入力属性の数を定義します。 この値を 0 に設定すると、機能の選択がオフになります。 既定値は 255 です。 |
MAXIMUM_OUTPUT_ATTRIBUTES | 選択した機能を呼び出す前にアルゴリズムが処理できる出力属性の数を定義します。 この値を 0 に設定すると、機能の選択がオフになります。 既定値は 255 です。 |
FORCE_REGRESSOR | アルゴリズムによって計算された列の重要度に関係なく、指定した列をアルゴリズムでリグレッサーとして使用するように設定します。 |
ModelingFlags
Microsoft 線形回帰アルゴリズムでは、次のモデリング フラグがサポートされています。 モデリング フラグは、マイニング構造やマイニング モデルを作成するときに定義し、分析時に各列の値をどのように処理するかを指定します。 詳細については、「 モデリング フラグ (データ マイニング)」を参照してください。
モデリング フラグ | 説明 |
---|---|
NOT NULL | 列に NULL を含めることはできないことを示します。 モデルのトレーニング中に NULL が検出された場合はエラーが発生します。 マイニング構造列に適用されます。 |
REGRESSOR | 列には、分析中に潜在的な独立変数として扱われる連続する数値が含まれることを示します。 マイニング モデル列に適用されます。 注: 列にリグレッサーとしてフラグを設定しても、最終的なモデルでその列がリグレッサーとして使用されるかどうかは保証されません。 |
線形回帰モデルのリグレッサー
線形回帰モデルは、Microsoft デシジョン ツリー アルゴリズムに基づいています。 ただし、Microsoft 線形回帰アルゴリズムを使用しない場合でも、デシジョン ツリー モデルには、連続属性の回帰を表すツリーまたはノードを含めることができます。
連続列がリグレッサーを表すことを指定する必要はありません。 列に REGRESSOR フラグを設定しない場合でも、Microsoft デシジョン ツリー アルゴリズムは、データセットを意味のあるパターンを持つリージョンにパーティション分割します。 違いは、このモデリング フラグを設定すると、ツリーのノードのパターンに合う a*C1 + b*C2 + ...
という形式の回帰式をアルゴリズムが見つけようとするということです。 残差の合計が計算され、偏差が大きすぎる場合には、ツリーが強制的に分割されます。
たとえば、収入を属性として使用して顧客の購入行動を予測する場合に、[Income] 列に REGRESSOR モデリング フラグを設定すると、アルゴリズムはまず、標準の回帰式を使用してこれらの値を試します。 偏差が大きすぎる場合はその回帰式が放棄され、ツリーが他の属性で分割されます。 その後、デシジョン ツリー アルゴリズムは、分割後の各分岐で Income をリグレッサーとして使用できるかどうかを試します。
FORCED_REGRESSOR パラメーターを使用すると、アルゴリズムで特定のリグレッサーが使用されるようにすることができます。 このパラメーターは、Microsoft デシジョン ツリー アルゴリズムと Microsoft 線形回帰アルゴリズムで使用できます。
要件
線形回帰モデルには、キー列、入力列、および少なくとも 1 つの予測可能列が必要です。
入力列と予測可能列
Microsoft 線形回帰アルゴリズムでは、次の表に示す特定の入力列と予測可能な列がサポートされています。 マイニング モデルで使用する場合のコンテンツ タイプの意味の詳細については、「 コンテンツ タイプ (データ マイニング)」を参照してください。
列 | コンテンツの種類 |
---|---|
入力属性 | Continuous、Cyclical、Key、Table、Ordered |
予測可能な属性 | Continuous、Cyclical、Ordered |
注意
循環コンテンツ タイプと 順序付き コンテンツ タイプはサポートされていますが、アルゴリズムはそれらを不連続値として扱い、特別な処理を実行しません。
参照
Microsoft 線形回帰アルゴリズム
線形回帰モデルのクエリ例
線形回帰モデルのマイニング モデル コンテンツ (Analysis Services - データ マイニング)