コンテンツにスキップ

独立成分分析

混ざり合った複数の数値列を、互いに影響し合わない 独立成分1、独立成分2… に分け直します。主成分分析(PCA)と違って寄与率が出ないので、成分に順位は付きません。

入出力

ポート内容
入力データ分けたい数値列を持つデータ
出力データ独立成分1、独立成分2… の列。「処理後残す列」で選んだ列は左側にそのまま付きます

バイプロットはボニートくんで開きます。 ノードのポートには出ません。実行したあとプレビューフィールドの右上に出るボタンを押すと、そのままバイプロットが開きます(この機能のボニートくんはこの 1 ページだけです)。

出力は 1 つだけです。 固有ベクトルや寄与率は出ません。それが要るときは主成分分析(PCA)を使ってください。

元の対象列は出力データに残りません。 残したい列は「処理後残す列を選択する」で選んでください。

Spark エンジンでは動きません。

設定項目

処理対象列を選択
まとめる元の列。数値の列を複数選びます。
処理後残す列を選択する
結果と一緒に残しておく列。ID や名前など、後から見分けに使う列を選びます。

アルゴリズムオプション

因子数を指定
いくつの成分に分けるか。空にすると対象列と同じ数になります。対象列の数より大きい値を入れると、入れなかったのと同じ扱いになります。
乱数シードを固定する
整数を入れると毎回同じ結果になります。考え方は乱数シードを参照。

グラフオプション

色分けする列を選択
散布図の点を色分けする列。グループごとのまとまりを見たいときに使います。
ラベルとして表示させる列を選択
点の脇に出す文字。どの行がどこにあるかを確かめたいときに使います。

バイプロットの読み方

点が 1 行、赤い矢印が元の列 1 つです。 横軸が第 1 成分、縦軸が第 2 成分で、3 つめ以降の成分は描かれません。

見るところ読み方
点のかたまり近い点どうしは、選んだ列全体の傾向が似ている行です
矢印の並び右側にある矢印ほど第 1 成分に強く効き、上側にある矢印ほど第 2 成分に強く効く列です

エラーと対処

どのエラーも、入力データか設定を直して実行し直せば消えます。

処理対象列に欠損値がある

処理対象列に欠損値が含まれています。欠損値を除外するか補完してください。

直し方 — 欠損値処理で埋めるか、欠損のある行を外します

処理対象列に数値以外がある

処理対象列に数値型以外のデータが含まれてます。型変換をするか、数値型以外の列を除去してください。

直し方 — 列の型変更で数値にするか、その列を外します

よく使う例

1. 混ざった要因を分ける

お題 — 複数の要因が重なって読めない数値列を切り分けたい

入力 — 同じ現象を別々に測った数値列を持つデータ

設定 — 処理対象列にその数値列を選び、因子数は空のまま

出力 — 独立成分1、独立成分2… の列。どの成分が何かは主成分分析(PCA)と違い寄与率で順位が付かないので、バイプロットで読みます

2. どの行がどの成分に寄っているか見る

お題 — 分けた成分と元の行の対応を確かめたい

入力 — 同上

設定 — 「処理後残す列を選択する」に名前の列、グラフオプションの「ラベルとして表示させる列を選択」にも同じ列

出力 — 出力データの左側に名前が残り、バイプロットの点にも名前が出る

3. 成分の数を絞る

お題 — 成分が多すぎて読めない

入力 — 同上

設定 — 因子数に 2 を入れる

出力 — 独立成分1 と 独立成分2 だけになる

関連