キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
DataRobot コミュニティ

特徴量の関連性 関連性指標の値が想定と異なります

Hasegawa
イメージセンサー

特徴量の関連性 関連性指標の値が想定と異なります

データタブ → 特徴量の関連性 の関連性指標について相談があり、質問させて頂きます。

関連性指標が、想定した値になりません。(生データからEXCELで手計算した値と乖離があります)
特に2つの特徴量が完全に依存している場合、クラメールのVはわかりやすく1になると思いますが、今扱っているデータでは0.5~0.6程度と計算され乖離が大きいです。


------------------------------------------------------------
ただいま取り扱っているプロジェクトでは、ある工場の部品注文データを扱っています。

特徴量の中には、「部品ID」と、部品の「単価」や「重量」といった項目を含んでいます。
「単価」や「重量」は、「部品ID」が決まれば一つに決まる、というデータ構造となっています。

少し具体的にしますと、
部品IDが“部品A”である購入データは複数行あり、注文日などは行ごとに異なりますが、
単価や重量は(部品Aの注文である限り)変わりません。

このようなデータにおいて、
「部品ID」と「単価」の関連性や
「部品ID」と「重量」の関連性は最大の値を取ると考えています。

指標がクラメールのVであれば分かりやすく1になると考えますが、
DataRobotでは0.5~0.6程度と計算されています。


なぜこのような結果になるのか、ご教授頂けませんでしょうか。
自身でExcelを用いてクラメールのVを手計算をしたところでは、想定通り1になりましたが、
DataRobotでは何か処理を加えているのでしょうか。


なお、
データ品質の警告に関しては、
実際のプロジェクトデータでは「単価」や「重量」以外にもいくつも同様な特徴量を取り込んでおり、
警告なしの項目もあれば、「外れ値」「過剰なゼロ」「偽装欠損値」が出ている項目もあります。
警告の有無にかかわらず、いずれも「部品ID」とのクラメールのVは0.5~0.6程度の値になっており、1とは乖離があります。
※「部品ID」については警告は出ていません

 

お手数ですが、ご教授頂けますと幸いです。

0 件の賞賛
4件の返信4
Isao
データロボット同窓生

ご質問ありがとうございます。ご説明からの推測となってしまいますがご回答させて頂きます。

仮に列Aと列Bが1:1の関係であり、AとBが一意の関係となる場合には仰る通りクラメールのVは1となります。

しかしながら例に挙げられた部品IDと単価、あるいは重量の場合は、「同一の単価」あるいは「同一の重量」の部品が複数ある、ということは無いでしょうか。

仮にID001とID002がどちらも100円であった場合を例にあげると、ID001→100円というのは決まりますが、100円→ID001というのは決まりませんので、クラメールのVは1となりません。

また、特徴量の関連性のページの右側の「特徴量の関連性ペアを表示」をクリック頂くと、2つの特徴量の関係性がプロットされますので、ここも確認のヒントになります。

推測になってしまい恐縮ですが、ご確認頂ければ幸いです。

YusukeK
データサイエンティスト
データサイエンティスト

@Hasegawa 様、ご質問ありがとうございます。追加でご回答します。

  • マスタ上では「部品IDが決まれば一つに決まるというデータ構造」であったとしても、実際のデータに欠損がある場合、欠損は全て同じ値として処理されます。ですので例えば同じID001とID002に対応するものが欠損だったりすると、 @Isao さんの回答と同じようなことが発生します。
  • 数値特徴量は、ユニーク数が多い場合はビニングしてから関連性を計算することがあります。(イメージで例えると、貯蓄データの「1000000円」と「1000010円」は同じとして扱った方が、特徴を正しく表現できることが多いからです。)それが逆に、部品IDのような全てユニークなカテゴリ値と、本来一意に決まっていたが離散化された数値との関連性が下がった計算結果になったのかもしれません。

DataRobotのマニュアルもどうぞご参考ください。

ユーザー様はこちら

トライアルの方はこちら

Hasegawa
イメージセンサー

Isao様

ご回答誠にありがとうございます。

ご指摘の通り、部品ID→単価/重量 は1つに決まりますが、単価/重量→部品IDは は一つに決まりません。この状況であってもクラメールのVは1になると認識しておりましたので、

基本的な知識が誤っているようです。(手元で行った計算も誤っているようです)

ご回答ありがとうございました。

Hasegawa
イメージセンサー

YusukeK様

ご回答ありがとうございます。

・欠損値を含む特徴量(データ品質評価で「偽装欠損値」や「過剰なゼロ」の警告を含む)

   → 欠損値が自動補完されるため本来の値と異なる値として処理されうる

・数値特徴量

   → ビニングにより本来の値と異なる値として処理されうる

ご指摘の2点を上記のように理解しました。

この2点は認識しており、

今回のデータには欠損値はありませんが、

数値でもなく、データ品質評価の警告もない特徴量を選んで確認しても、

他と同様に0.5~0.6ほどとなっているため、今回の質問をさせて頂きました。

結論としては、

Isao様ご指摘の通り、

そもそも1対nのデータで1になるという理解自体が誤っていたようです。

まだ理解できておりませんが勉強し直します。

ご回答ありがとうございました。