因子分析
複数の数値列の背後にある共通の要因を探して、因子1、因子2… の列にまとめます。アンケートの設問のように「結局なにを測っているのか」を整理したいときに使います。
入出力
| ポート | 内容 |
|---|---|
| 入力データ | まとめたい数値列を持つデータ |
| 出力データ | 因子1、因子2… の列。「処理後残す列」で選んだ列は左側にそのまま付きます |
バイプロットはボニートくんで開きます。 ノードのポートには出ません。実行したあとプレビューフィールドの右上に出るボタンを押すと、そのままバイプロットが開きます(この機能のボニートくんはこの 1 ページだけです)。
出力は 1 つだけです。 固有ベクトルや寄与率は出ません。それが要るときは主成分分析(PCA)を使ってください。
元の対象列は出力データに残りません。 残したい列は「処理後残す列を選択する」で選んでください。
Spark エンジンでは動きません。
設定項目
- 処理対象列を選択
- まとめる元の列。数値の列を複数選びます。
- 処理後残す列を選択する
- 結果と一緒に残しておく列。ID や名前など、後から見分けに使う列を選びます。
アルゴリズムオプション
- 因子数を入力
- いくつの因子にまとめるか。空にすると対象列と同じ数になります。対象列の数より大きい値を入れると、入れなかったのと同じ扱いになります。
- 乱数シードを固定する
- 整数を入れると毎回同じ結果になります。考え方は乱数シードを参照。
グラフオプション
- 色分けする列を選択
- 散布図の点を色分けする列。グループごとのまとまりを見たいときに使います。
- ラベルとして表示させる列を選択
- 点の脇に出す文字。どの行がどこにあるかを確かめたいときに使います。
バイプロットの読み方
点が 1 行、赤い矢印が元の列 1 つです。 横軸が第 1 成分、縦軸が第 2 成分で、3 つめ以降の成分は描かれません。
| 見るところ | 読み方 |
|---|---|
| 点のかたまり | 近い点どうしは、選んだ列全体の傾向が似ている行です |
| 矢印の並び | 右側にある矢印ほど第 1 成分に強く効き、上側にある矢印ほど第 2 成分に強く効く列です |
エラーと対処
どのエラーも、入力データか設定を直して実行し直せば消えます。
処理対象列に欠損値がある
処理対象列に欠損値が含まれています。欠損値を除外するか補完してください。
直し方 — 欠損値処理で埋めるか、欠損のある行を外します
処理対象列に数値以外がある
処理対象列に数値型以外のデータが含まれてます。型変換をするか、数値型以外の列を除去してください。
直し方 — 列の型変更で数値にするか、その列を外します
よく使う例
1. アンケートの背景要因を探る
お題 — 設問が 30 問あり、何を測っているのか整理したい
入力 — 設問ごとの点数が数値列になっているデータ
設定 — 処理対象列に 30 問を選び、因子数に 3
出力 — 因子1〜因子3 の列。どの設問がどの因子に効いているかはバイプロットで読みます
2. 回答者を見分けられるようにする
お題 — 因子の値だけでは誰の回答か分からない
入力 — 同上
設定 — 「処理後残す列を選択する」に回答者 ID を選ぶ
出力 — 出力データの左側に回答者 ID が残る
3. 因子の数を決めかねている
お題 — いくつの因子にまとめるべきか決まらない
入力 — 同上
設定 — 因子数を空のまま実行し、バイプロットで矢印のまとまり方を見る
出力 — 対象列と同じ数の因子。まとまりが見えた数を入れて取り直します