1

国に関する情報を含む次のデータセットがあります

 5,1,648,16,10,2,0,3,5,1,1,0,1,1,1,0,0,0,0,0,1,0,0,1,0,0,
 3,1,29,3,6,6,0,0,3,1,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,
 4,1,2388,20,8,2,2,0,3,1,1,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,
 ...

各行の6番目の列は、国の主な宗教を示しています。0はカトリック、1は他のキリスト教徒、2はイスラム教徒などです。他のデータの一部は、含まれている国のシンボルの旗に異なる色が存在するかどうかに関するものです。 、 等々。

データの説明はここにあります。文字列データ列を削除したので、表示されている情報と完全には一致しません。

私の問題は、共分散行列とピアソン相関を使用して、たとえば、旗の色が赤であるという事実が、その国の宗教が何かになる可能性が高いかどうかについて何かを教えてくれるかどうかを確認したいということです。他の何かより。しかし、宗教が列挙されているので、私はこの問題をどのように進めるかについて少し迷っています。

4

1 に答える 1

1

問題は、データが順序付けられているにもかかわらず、この順序は任意であるということです。「イスラム教徒」(enum val = 1)から「hindu」(enum val = 3)までの「距離」は2ではありません。

この問題に取り組む最も簡単な方法は、列挙値をバイナリインジケーターベクトルに変換することです。

あなたが持っているとしましょう

enum {
   Catholic = 0
   Protestant,
   Muslim,
   Jewish,
   Hindu,
   ...
   NumOfRel };

enum valの単一のエントリを、適切な場所NumOfRelにある単一を除いて、すべてゼロの長さのバイナリベクトルに置き換えます。1

プロテスタントのエントリの場合、次のバイナリベクトルがあります。

[ 0 1 0 0 ... ]

ユダヤ人の場合:

[ 0 0 0 1 0 ... ]

等々...

このように、異なる宗教間の「距離」は常に1です。

于 2013-01-13T15:42:37.100 に答える