線形相関関係のコンピューティング
重要
Machine Learning Studio (クラシック) のサポートは、2024 年 8 月 31 日に終了します。 その日までに、Azure Machine Learning に切り替えすることをお勧めします。
2021 年 12 月 1 日以降、新しい Machine Learning Studio (クラシック) リソースは作成できません。 2024 年 8 月 31 日まで、既存の Machine Learning Studio (クラシック) リソースを引き続き使用できます。
- ML Studio (クラシック) から Azure Machine Learning への機械学習プロジェクトの移動に関する情報を参照してください。
- Azure Machine Learning についての詳細を参照してください。
ML Studio (クラシック) のドキュメントは廃止予定であり、今後更新されない可能性があります。
データセットの列の各値の間で線形相関を計算します
カテゴリ: 統計関数
注意
適用対象: Machine Learning Studio (クラシック) のみ
類似のドラッグ アンド ドロップ モジュールは Azure Machine Learning デザイナーで使用できます。
モジュールの概要
この記事では、Machine Learning Studio (クラシック) で線形相関計算モジュールを使用して、入力データセット内の可能な変数のペアごとにピアソン相関係数のセットを計算する方法について説明します。
ピアソン相関係数 (ピアソンの R 検定とも呼ばれます) は、2 つの変数間の線形関係を測定する統計値です。 係数値を調べることで、2 つの変数間のリレーションシップの強さと、正の相関と負の相関関係のどちらであるかを推測できます。
線形相関を構成する方法
相関係数を計算する前に、データのクリーニングや変数間のリレーションシップがこのモジュールに適していることを確認するなど、いくつかの前提条件があります。 また、欠損値を削除または補完する必要もあります。
このモジュールを使用する場合は、次の制限が適用されます。
計算線形相関モジュールでは、数値のみを処理できます。 欠損値、数値以外の値、カテゴリ値など、その他の種類の値は NaN として処理されます。
ピアソンの相関関係は、入力として渡されたデータセット内のすべての数値列に対して計算されます。 この分析に適した列は必ず除外してください。
計算線形相関 は、欠損値を持つデータでは使用できません。
手順 1: 線形性を決定する
テストする列に何らかの線形リレーションシップが想定されていない場合は、この係数を生成する意味はありません。 そのため、最初に列をテストして、適切な種類のデータと一般的に適切な種類の分布があるかどうかを確認することをお勧めします。
列間のリレーションシップがほぼ線形であるかどうかを判断するさまざまな方法があります。
データセットの [視覚化 ] オプションを使用して、Studio (クラシック) で変数の散布図を作成します。 数値変数列の 1 つをクリックし、[ 視覚化] を展開して、[ 比較] をクリックします。 別の変数を選択すると、散布図が自動的に生成されます。 異なる種類のプロットが生成された場合は、少なくとも 1 つの列に異なる (数値以外の) データ型があることを意味します。
2 つの変数の回帰式を計算します。 これをサポートする多くの R パッケージがあり、 R スクリプトの実行 モジュールで読み込んで使用できます。
手順 2: データをクリーンアップする
欠損値を削除または入力し、外れ値を削除またはクリップし、列に適切なデータ型があることを確認する必要があります。
このモジュールを使用する前に、プレースホルダーを確認し、その値を他の適切な値に置き換えてください。 データセットがソースから読み込まれたときに欠損値に NaN が挿入された場合、エラーが発生する可能性があります。 プレースホルダーの値 (999
-1
不適切な結果を引き起こす可能性があります)。
データを準備するには、次のモジュールを使用します。
メタデータの編集を使用して、列のデータ型を調整できます。 分析する列が特徴列としてマークされていることを確認します。
手順 3: 係数を生成する
計算線形相関モジュールを実験に追加します。 このモジュールは、Machine Learning Studio (クラシック) の統計関数カテゴリにあります。
分析するデータセットを追加します。
不要な列を削除するには、データセットとコンピューティング 線形相関モジュールの間にデータセット内の列の選択モジュールを追加することをお勧めします。 係数を計算する 2 つの数値列のみを取得するように、データセットの列の 選択 モジュールを構成します。
そうしないと、 コンピューティング 線形相関 モジュールによって NaN の列が多数生成される可能性があります。
このモジュールに設定するパラメーターはありません。 ただし、入力として渡す列が要件を満たしていない場合は失敗します。
実験を実行します。
2 つの列の結果
2 つの特徴列がある場合、 計算線形相関 モジュールはスカラーピアソン積モーメント (サンプル) 相関係数を返します。 ピアソン相関係数 (多くの場合、r と表記されます) は、+1 から -1 の範囲です。
+1
は、強い正の線形関係を示します-1
は、強い負の線形相関を示します。0
は、2 つの変数間に線形リレーションシップがないことを示します。
係数の解釈は、モデリングする問題と、学習している変数によって大きく異なります。 したがって、ピアソンの相関係数を報告および解釈する際には、データのコンテキストを理解することが重要です。
変数が関係なく、ピアソンの相関係数が強く正 (r > .5 程度) であると確信している場合は、さらに調査する必要があります。
完全に相関していることがわかっている 2 つの変数に線形相関を使用し、係数値が期待したとおりでない場合は、データに問題があることを示している可能性があります。
2 つ以上の列の結果
行列 (つまり、2 つ以上の特徴列) を指定すると、 計算線形相関 モジュールは、特徴列の各ペア間のピアソン積モーメント相関のセットを返します。
したがって、結果は n 列の各組み合わせの係数を含む n xn テーブルになります。 いずれかの列が条件を満たしていない場合は、NaN ("数値ではない" 値) が返されます。
たとえば、2 つの数値列と 1 つのカテゴリ列 wheel-base
make
(自動車価格データセットから) を渡したとcurb-weight
します。 結果は、入力列のすべての可能な組み合わせの係数の 3 x 3 テーブルです。
make |
wheel-base |
curb-weight |
---|---|---|
Nan | Nan | Nan |
Nan | 1 | 0.776386 |
Nan | 0.776386 | 1 |
この表では、行は各変数、make
wheel-base
および 、そのcurb-weight
順序で表されていると認識されます。
- それ自体の相関の
wheel-base
r 値は 1 です。 - の相関の
wheel-base
curb-weight
r 値は 0.776386 です。 - 列
make
に関係するすべての相関関係は、文字列の特徴であるためmake
、それ自体との相関関係を含め、NaN になります。
意味のない値が多い複雑なテーブルを避けるために、数値以外の列を削除することをお勧めします。
例
機械学習実験でこのモジュールがどのように使用されているかを確認するには、 Azure AI ギャラリーを参照してください。
テクニカル ノート
このセクションには、実装の詳細、ヒント、よく寄せられる質問への回答が含まれています。
実装の詳細
列がスカラーを含む入力として渡された場合は、入力配列 (x と y) はベクトルであり、次のようにピアソンの積率相関関係が計算されます。
この数式では、各配列に n 個の要素が含まれており、 x サンプルと y サンプルの平均はそれぞれ μx と μy です。
マトリックスの場合は、データのマトリックス (X) が入力であり、ここでは、各列が値のベクトルを表します。 データのマトリックスは n x m です。 出力は m x m のマトリックス R となります。これは次によって定義されます。
この数式では、μx は列 x iの平均値を表します。 I,j にある要素は常に 1 です。これは、それ自体でベクトルの相関関係を表すからです。
想定される入力
名前 | Type | 説明 |
---|---|---|
データセット | データ テーブル | 入力データセット |
出力
名前 | Type | 説明 |
---|---|---|
結果のデータセット | データ テーブル | 相関関係のマトリックス |
例外
例外 | 説明 |
---|---|
エラー 0003 | 1 つまたは複数の入力が null または空の場合、例外が発生します。 |
エラー 0020 | モジュールに渡された一部のデータセットの列数が少なすぎる場合に、例外が発生します。 |
エラー 0021 | モジュールに渡された一部のデータセットの行数が少なすぎる場合に、例外が発生します。 |
Studio (クラシック) モジュールに固有のエラーの一覧については、「Machine Learningエラー コード」を参照してください。
API の例外の一覧については、「REST API エラー コードMachine Learning」を参照してください。