from 05.10.03
s.gif主成分層別法とメカニズム作成手順の説明は世界でここだけ。 最終更新日 2007.01.13

第3章 計算から報告までの手順


必要な因子だけより分けて
複数のメカニズムを
一気に整理してしまおう
コンテンツに進む
        

 

さわっちゃ、イヤ

 手順1 データの種類(尺度)と入力方法

計算するにはエクセルにデータを入力しなきゃね。実際にいざ自分で計算しようとすると、みんなが実際に使ってみたいデータには色々あるから、入力をどうすればよいかすぐに疑問が湧くはず。

それに、第2章まではタコでもわかるように説明しようとしたため、日常用語で説明してきた。専門書でせっかく勉強した用語とここで使っている日常用語中心の説明にはギャップがあるから、つないであげないといけないね。

まず、データの種類を知っておかなくちゃいけないよ。えらい神様たちはこれを、尺度(Scale)といっている。尺度よりスケールの方が最近はなじみのある言葉になっちゃってるなぁ。

s.gif
表3 主成分分析で使うデータの種類
尺度一般用語意味主成分分析でどうつかう
名義尺度分類データAさん、Bさん。機械Aなど何かに名前をつけたもの。背番号55の55は数値の意味はなく単なる名前。松井秀喜は背番号1の王貞治の55倍であるとは言わない。ダミー変数;0または1で使用する。
序数尺度
順位尺度
順位データ運動会1位、2位。製品出来栄えの順序1,2、・・・。数値をそのまま使う
格付け尺度アンケートの評点データ試食で「非常にうまい〜非常にまずい」まで5段階評価したときの採点など。優良可不可の4段階評価を4点3点2点1点などと数値化した評点数値をそのまま使う
間隔尺度
距離尺度
データ温度、暦日など。小数点以下の数値に意味があるような連続した数値。単位により間隔に数値の大小が出来る。数値をそのまま使う
比例尺度
比率尺度
データ長さ、質量、濃度、絶対温度などゼロが人によらずはっきり決定されているもの。比率が単位によらず同等に扱えるもの数値をそのまま使う
対数間隔尺度対数データ対数値にすると直線で扱えるような現象の数値対数値にするか、数値をそのまま使う
s.gif

主成分分析には、これらのどの種類のデータがどんな列の並びでいくつ入っていてもかまわないんだ。とても自由なんだよ。

格付けデータを数値化するとき、テニスのように15,30,40なんて不思議な点数のつけ方をしてはいけません。自分が出てきたデータを読めなくなるだけです。0,1,2,3とか-1,0,1などという格付け採点方法にするべきだよ。

で一番混乱しそうなのは、分類データの扱い方だね。主成分分析で使うやり方は統計的にはダミー変数とよばれてます。入力する数値は0と1のどちらかだけ。

機械Aと機械Bとがあってこれを主成分分析に取り込みたいときには、まず表頭(データの表の一番上の行)に機械Aと機械Bの列を作ります。で、入力しようとしているものが機械Bのデータだったら、機械Aには該当しないから0、同時に機械Bに該当するから1と入力するんだ。

機械が8台あれば8つの変数が出来て、該当するのがひとつあってそれだけは1、その他は0ばかり入力することになるんだ。

該当するときには1、その他の場合は0と覚えておけばよいです。

あるひとつの列が0ばかりとか、1ばかりになると、計算する意味がなくなってしまうんだ。
例えば機械Aのケースばかりで、その他のケースがなければ、機械Aと比較するデータがないのに、比較したいと主成分分析ソフトにお願いしていることになる。
無いデータであることにしてくれなどとは、無理な話なんだよ。人間社会では、亡くなった兄貴が生前に俺に遺産を譲るといっていたことにしてくれとお願いする話はあるみたいだけどね。神田ソフトはこのようなデータが入っていると計算できませんと親切に教えてくれます。

このようなときにはその変数は比較するデータがないのだから諦めて表から列全部を外します。

変数を表頭に並べる順序は主成分分析では特に制約はないから自由にならべていいよ。ただ主成分分析結果が出た後で、データを層別するときにあまりばらばらでは、煩雑な取り扱いになってしまうから、分類データは分類データばかり集めるとかいったことはしておいたほうがいいかな。

アンケートなどの場合、ひとつの質問項目に複数のチェック欄があります。このようなときにはチェック欄一つ一つが表頭の変数になるんだよ。
100人の回答の集計結果を使いたいという気持ちが出るだろうけれど、個人個人の傾向をつかみたいのなら、集計した時点で個性は消去されているので使えません。

一人の回答が一行に並んでいるのが正しい入力方法です。入力事例は、第2章の事例3を参照してください。

時間によって変化するデータを扱いたいとき、時間の方はどう入力すればよいか。25分後、30分後などというときは、25、30等を入れればいいことはすぐわかるよね。問題は、2005年9月7日などというデータはどうするんだろう。主成分分析は「月」等という文字列のデータは扱えないんだ。何とか数値にしなければいけません。
=DATEVALUE("9月7日")とエクセルのセルに入れると38602という数値が還ってくる。これはシリアル値といわれていて、日付が過去から未来にかけて連番になっている数値なんだよ。シリアル値をつかう限りは何の問題もありません。

君が主成分分析の計算を「相関係数で開始する」と選んだ場合には、元のデータは、自動的に平均値が0で標準偏差が1の「単位が消えた比率データ」に換算されています。7月1,2、3日も12月23,24,25日も、ただの数値の15,16,17も、1,2,3も皆同じ結果になります。

何の意味もなく、データNo.を入れて計算すると、データの順番という因子が入ったことになり、順番が他の因子に影響している時は、主成分分析結果がおおきく変化します。

 データ化するとき知っておかなくてはいけない知識

かけっこ順位データには1位と2位、2位と3位の間で等間隔性がありません。例えば小学校のさくら組の時の1位2位はダントツで1位で入ったのに、うめ組の1位と2位は接戦でほとんど同時に入ったとします。1と2の間で等間隔じゃないだろ?

順位データについては他にもあるぞ。順位は1番からしか勘定しない。このことが平均値の扱いに注意をすべき性質になっている。

事例から先に考えようね。次の例は統計上の扱いのどこに誤りがあるか?考えてみて。

  1. ある学校で養護教室の子供3人がかけっこをして順位を決めました。他の教室は50人全員が一度にはしり、順位を決めました。双方の平均値を計算して養護教室の生徒の平均値が低いから、かけっこの能力は養護教室の生徒の方が高いという結論をだしました。
  2. 20m走でオリンピックの選手10人の順位平均と、幼稚園児の10人の順位平均が同じなのでオリンピックの選手も、幼稚園児も能力的に同じである。
主成分分析では順位に連動して動く相関を扱うから、順位データの平均値にまつわる問題は出ませんね。どんどん使って下さいね。

格付けの場合でも数値の評価は各自直感で適当につけているのが実情だよね。
格付けでも数値の決め方で平均値が変わってしまいますから、平均値比較などは、意味があるかないかは十分考えて行うように。説明しても間違った使い方をする人がよくいるからなあ。

統計学をかじった先生の中には、こういう尺度論を持ち出して適用してはいけないとか言いがちです。しかし、計算を前提に作業しているのなら、世の中の全ての順序データや格付けデータを使っている手法は全て否定されるべきなのです。
でも、全ての統計を教える先生は尺度の話とは別に、官能検査の解析方法では順位や格付けの数値で計算しています。安心して使っていいよ。

しかし、小学生の集団で 1 番と、オリンピック選手の 1 番は早さが違う。こうした数値を同じ数値 1 として計算の中でとりあつかって計算した結果に何の意味があるかがわからなくなる。こうした矛盾をなんとか回避するためには、限度見本とか、順位判断の技術的な判断基準を作るのが普通だ。比較してはいけないものをあらかじめ排除すようにするんだよ。

順位や格付けデータはどうあがいても「完全なる等間隔性」なんて保証できないのが普通だから、最後はこうした基準をエイヤッと決めるしかないけどね。それでも全くないときよりは、測定した日にちが違ってもある程度の比較できる数値にはなっているはずだから、科学の領域に入ってくるはずだよ。

尺度の等間隔性などの問題は、解析をやってはいけないという問題ではなく、解析結果の報告時に結論に断定的な言葉を使わないとか、そういう配慮をすることになります。

 

かえって不安になるから詳しく説明するね。

数値に等間隔性が保証されないと、計算して足したり引いたりしても、結果にどんな意味があるか分かりません。りんご2つ足したら、1個以下になりましたって話はないもんね。

え?実際にそういう事例はあるよ。 姫リンゴ2つの重量は、りんごの富士1個よりはるかに小さい。日常でそういう比較をしないのは、君達の頭の中で、大きい種類のりんごと小さい種類のりんごは重量で比較してはいけないと限度見本ができてるんだ。
りんごだとできるのに、なぜ会社の仕事だと出来なくなるんだろうね。不思議!

それから、日本の気温とアメリカの気温の測り方は摂氏と華氏との違いがあって、そのままの数値で一緒に計算しても結果は何のことやらわからなくなるよね。これは摂氏0度と華氏0度は違う場所で0度となっているからなんだ。さらに1度の差も違うから計算するにはどちらかに換算しなければならないんだ。

間隔尺度の取り扱いはこういうスケール差や原点である0ポイントの差を考慮しないと計算できないんだ。僕達は計算するときに日常あまり意識しないで、こうした換算活動をしているんだよ。

質量なんかは0ポイントがはっきりしているけれど、トンで計ったりポンドで計るなど単位の違いがあると、同じ物でも数値は変わってくるよね。
しかしこれは、分母に同じ単位のもので比率にすれば、世界中どんな単位のデータであっても、同じ数値になってしまうんだ。工学系の人たちは無次元化なんていってるよね。これは比率尺度で話をしようということなのです。

一般論で厳密な数学を目指すときには、このようなことを配慮して理論構築することが必要だよ。
でも我々の現実社会では、天気を予測するのに、「あの山の右側に灰色の雲が出たら、午後は雨だよ」程度のことを分かるのも重要なことです。

分類データである「あの山」であるかどうか、「何色の雲か」程度が変数として重要なんだ。主成分分析は尺度の制限がなくてよい手法だし、多次元の散布状態のひろがり方向を扱っているので、大まかな因子間の関連を見るには最適な手法なんだ。

対比的に変化しているグループの発見や、メカニズムの発見に、主成分分析を使おうとしているのだから、ここでは名義尺度、順位尺度、格付け尺度も積極的に使っていきます。実際のビジネスの場ではお金をとってむしろ積極的にこのような尺度が使われています。
本当に統計を知っている神様の先生達はそういう初心者いじめをしたりしないものです。

「タコ人よ!強くあれ!」

格付けのやり方も書いとくね。組織にいるとタコ以下の上司達がいて、情報は精密であればあるほどよいと主張するアホがいます。

人間も味覚や聴覚、視覚などのセンサーとして測定するとやはり識別能力の限界があることが分かってるんだ。だから、調査用紙にどんなに詳細な段階の質問項目を入れてもかえって調査精度がおちるよ。

例えば、極上上うま、極上旨、極上やや旨、極上やや下旨、超上旨・・・(以下極下下マズまで続く)などと回答用紙に入れてみても、普通の人はやや旨いとかややまずい程度を選択する。

しかし世の中には変な奴が必ずいるから、極上上でも足らないなど回答する奴がいる。数値で処理するとなると、普通の人が±2前後で回答するときに、こいつらは±10などという数値で回答する。数値的に5倍の強度(5人分の意見となる)があるから、全体の評価はこいつらの評価に大きく引きずられてしまうんだ。

結果として、一般の人の評価とは大きくずれた精度の悪いものになる。
もっとも、異常な奴らを調査するときにはいいかも。

人間のセンサーとしての能力から何段階を判断できるかという数値を示しておくね(佐藤信、官能検査入門)。感度の良い人でもこれに±1を付け加える程度まで。人間は目で多くの情報処理していることがわかるね。
あ、それからこの識別能力と人間にたいしての重要性とは全く次元の違う話だからね。

味覚: 4段階(食塩水の濃度差)
聴覚: 5段階(音の大きさ)
視覚:10段階(2点のマーカー識別)

嗅覚も味覚や聴覚レベルだと推定されます。しかし、人間は同じ味の濃度だけでなくいろいろな味の質を区別できているし、ひとつひとつはあまり感度のよくないセンサーを組み合わせてより多様な区別が出来る能力を持っています。だから、数値的な調査だけでなく、調査対象の人々が言う「咲きかけの朝露の中でにおうバラのかおり」等という表現には意味があるので、統計調査ばかりに拘泥しないように。

それから人を分析機械として使うときには、ゼロ合わせ・スパンあわせのための訓練が必要となります。訓練した人達は分析パネリストと呼ばれ一定の嗜好傾向が出てきますので、いくら感度がよくても今度は一般の社会の人の嗜好調査には向きません。

付け足しになるけど、多少かじったことのある人への注意。
重回帰分析も同じ入力方式でダミー変数を使うけれど、機械が8台の場合なら変数はひとつへって7つになっているから、主成分分析に使用したデータを重回帰分析に流用するときは注意が必要だよ。そのまま使っちゃダメ。このことは第5章で説明するね。

 エクセルへの一元表の入力方法

主成分分析は一元表の形で入力されていないとパソコンが計算できません。

一元表とは表頭の部分にすべての変数名(因子や水準など)がかいてあって、その下に「データ間に対応関係のあるワンセットの測定値」のが並んでいる表のことを言います。

このワンセットの数値行をひとつのグループとしてあつかうときベクトルといいます。ベクトルの数は行の数だけあるわけです。3変数のベクトルなら3次元空間で表せば空間にひとつの点として表せます。3変数以上の多次元変数でも多次元空間にひとつの点で表されます。行の数だけ多次元空間内にベクトルの点が散布しますね。

では一元表を作りましょう。自由自在な入力方法を知るために例題で考えてみようね。

(例題)
AさんとBさんとを対象にして脳内検定ゲームを行いました。全く同じ種類のゲームを、30秒、60秒、および120秒内に終了しなさいというルールにして、50問の簡単な計算を実施してもらい、その正解率を測定しました。これを表にしなさい。
二元表で表示してみる

通常なら右のように二元配値分散分析でまとめるような二元表(表頭と表横に因子部分が並べられるもの)で結果をまとめるのが普通です。この方が人間にとって表の内容を読み取りやすいからです。

 

一元表で入力する

これを主成分分析用に一元表として入力しなければいけません。Aさん、Bさんなどは数値ではなくカテゴリーデータです。ですからカテゴリーデータの入力方法を取り入れて一元表を右の表のように作ります。

連続数の試験区(または水準値)の値はカテゴリーとしてあつかうより、できる限り測定値のほうを入力しましょう。この例の場合では、30秒の試験区をカテゴリーとして1/0で表すより、数値の30を入力値としてつかいなさいという意味です。

s.gif

 手順2 欠測データと異常値の排除

手順

  1. 欠測データがあれば、その行全体を削除します。欠測値の所に平均値などを入れてはいけません。 異常値がないか検査して、もしあれば修正するか、その行を削除します。

  2. ざっと見ても見落としはあるもの。error.gif そこで欠測値、異常値発見の必殺技を出します。 第1章でやった、主成分分析をここでやってしまおうね。

    データナンバーは、主成分分析の計算には入れてはいけないんだよ。クリップボードにコピーするデータは因子名が記入された表頭の下側にあるデータ部分だけです。
    主成分分析の計算をしようとすると、神田ソフトでは、欠測値があると「データが不適切だよ」と教えてくれます。0など何か数値を入れてしまっていたときには教えてくれないので念のため。

  3. 次に、エクセルの計算結果が出来たときには、まず主成分得点表を見よう。

  4. 主成分スコアの第1主成分と第2主成分で散布図を作り、散布図上で離れた点を見つけます。

  5. 数値が絶対値(-をとったときの値)で主成分スコアが2〜3以上のデータナンバーをチェックします。元データの表に戻り、同じデータナンバーの行を良く調べると、異常値対象候補が見つかるから、技術的に考えて異常値であれば修正または行の削除をします。
s.gif

 解説するね

s.gif
多変量解析は、数値の数が多いから何とかしてくれると考えるのはまちがいです。むしろ、一つひとつのデータを詳しく見ている方法なんだよ。

異常値や欠測値があれば、主成分分析結果は全く信用できないものになってしまいます。

例えば、ある因子の平均値が12であって、その欄が欠測していた場合、0としてコンピューターが判断するようになっている場合があります。
こうしたときには、主成分分析は大きくずれた所を主成分として判断するように計算されるから、欠測値を重要な主成分として回答します。

欠測値に部分に全体のデータから計算した平均値を入れるようなことをしてはいけません。主成分分析結果が信頼できないものとなり、すべての測定データの価値がゼロとなってしまいます。

これは異常値の場合でも同じです。異常値のほうが重要に扱われてしまうんだ。

主成分分析をやって、主成分スコアで異常値を発見しようという方法は大きく離れた異常値しか見つけてくれないから、「あとで主成分分析して異常値をはじけばいいや」とずぼらをしてはいけません。基本は入力のときに異常値を入れない配慮をする姿勢が大切だよ。

(注)
昭和の人たちは現場の人たちも一緒にQCサークル活動を行い、全員が他人任せにしないでこういう配慮をしながら、日本を大国に押し上げました。

たとえば第1主成分と第2主成分の主成分スコアで散布図を作ると、異常な点が目で見て判断できます。こうした点の元データを調べれば異常値であるかどうかの判断がつきます。主成分スコアだけで機械的に判断するのはおすすめできません。

「削除してしまえば問題ないだろ?」と考えるのは間違いだよ。正常なデータなら主成分の特徴を一番示す一番ほしいデータを削除してしまうからです。

s.gif

 手順3 出力結果を考えやすい表示に整理しなおそう

 主成分分析(PCA)の計算手順

計算の方法はすでに君は知っている。ソフトをダウンロードしたときと、異常値の発見のときにすでに計算は出来ていたのだよ。だから、概略でやれるね。ダメなら第1章を見直してちょうだい。他のソフトでやる人は、ここは飛ばして読んでください。
  1. エクセルの異常値や欠測値を修正したあとの純正データ部分をクリップボードにコピーする。
    (エクセル上でデータ範囲選択>範囲の上で右クリック>コピー)

  2. 多変量解析ソフトを立ち上げる。(スタート>プログラム>多変量解析)

  3. Prm.ボタンで分析条件を主成分分析(相関行列による)を選択

  4. 分析ボタンを押して計算開始および終了。自動的に保存先を聞いてくる。 いつものとおりのやり方でエクセルファイルを名前を付けて保存。ここで解析結果が消えることはなくなります。

  5. ファイルを開いて、セルの数値の表示を標準にする。(左上コーナー>右クリック>セルの書式設定>表示形式タブ>標準>OK)
s.gif

 エクセルの出力結果を整理しよう。

s.gif
  1. 第2章事例3のデータをもとに整理してみよう。インターネットのブラウザ表示から事例3のデータ部分をコピーしていったんエクセルに貼り付けます。コピーしたデータがクリップボードにあるからといってそのまま多変量解析にかけても、入力形式が違うから受け付けません。必ずエクセルに貼り付けてね。

  2. もう一度、エクセルの表からクリップボードにコピーします。後は、上の手順どおりだよ。

  3. さて、主成分分析の出力結果が目の前にあります。平均値・分散などの表が一番上に出力されているね。でもタコ人はこの程度は理解しているから、報告に上手に使ってください。で、飛ばします。

  4. 次にある表には相関行列・分散共分散行列とタイトルがふってあります。 この世界の常識みたいな表現方法だけど、ふたつの種類の表が紙の節約のためか、一つに表現されています。対角線の右上コーナーの三角部分が相関係数の表です。左下の三角コーナーは分散共分散の数値表です。
    左下の分散共分散行列は不要だから対角線のセル内とその下のセルの内容は消してしまう方が見やすいよ。
    君が必要なのは相関行列の方です。ただ、せっかく多変量空間でもっと詳しく相関を見ているので、これも飛ばして進みます。

  5. 次の表には「相関行列による主成分分析」の欄に固有ベクトルなどと書いてある表があります。ここに重要な「固有値」の行があります(図中では黄色のところ)。shoukyo.gif

    固有値が1にならない主成分の列を消してしまおうね。この計算事例では第3主成分から第8主成分まで不用です。

  6. 一緒に、次の因子負荷量の表と主成分得点表から第3〜第8主成分の部分を消してしまおう。え?どうするんだって?エクセルの常識だよ。(ドラッグして範囲を指定して反転>反転した上にカーソルを乗せ右クリック>数式と値のクリア)

  7. 作業のために君がエクセルに入力した観測データを表頭ごとコピーして、主成分得点表の番号と行を合わせてペーストしよう。こんな風に

  8. 出力結果はX1〜X8という変数名になっているから、これも表頭の名称に置き換えようね。ペーストした観測データの表頭部分だけコピーしたあと、相関行列と因子負荷量の表のX1の部分で貼り付けよう。

    縦に貼りつけるときは、まず貼り付ける先のX1のセルをフォーカス>右クリック>形式を選択して貼り付け>行列を入れ替えるにチェック>OK の順です。

  9. もう一つ大事な作業があります。主成分に関係の深い因子の選択作業だよ。主成分得点表のデータはいくつあるかな。ここでは31組のデータがあるよね。n=31になります。r_表

    次の式でr(0.10)の値とr(0.05)の値を計算します。計算できない人は、統計処理教科書のたいてい後ろにある相関係数諸表のなかの r表 を見てね。まず 因子負荷量の値<r(0.10) の値のセルは数値を消してしまおうね。
    この場合ではr(0.10)=0.30だから絶対値が0.3にならない因子負荷量は消してしまおう。

    r(0.10)<因子負荷量の値<r(0.05) の値のセルは、「ひょっとしたら影響しているかも知れない因子」だから、背景をグレーなど色分けしておこう。

    r(0.05)=0.358 だから因子負荷量の絶対値が0.358以上になる因子が選ばれた因子になるんだ。

    データ数が上がると少しのデータの空間分布のひずみも検出するようになりますから、因子が多くなりすぎてよくわからんという状態になることがあります。このような時は経験から 0.3 以上を可能性のある因子として、 0.5 以上を確実に選択された因子として扱うと良いと思います。

  10. 因子負荷量表はこんな感じになるかな。因子選択が済んだ表を、整理された因子負荷量表と呼びます。insifukaryou.gif

    第1主成分では中流が「関係ある因子ではない」と消えています。総購入費以外の因子はみんな分類型のデータだから散布図表示は諦めます。

    主成分のなかで選択された因子に計量値といわれる小数点以下の数値が連続しているような数が、2因子以上あれば計量値の選ばれた因子間で観測データの散布図を作ります。

  11. 主成分特徴データ抽出法の準備をしようね。やり方は簡単だよ。主成分得点表の数値の中で絶対値が1より小さい数値は全部消してしまおう。主成分の列に注目

  12. 準備作業を確定するため、ここらでエクセルを上書き保存しておこう。
下ごしらえはこれで終わり。仕上げにメカニズムを決定してゆこうね。
s.gif

 手順4 メカニズムを考えて楽しもう

 メカニズムを作図しよう

  1. まずエクセルの画面の一番下に図形描画のツールバーを表示しよう。

    通常は表示されていると思うけれど、出ていない場合はこうするんだ。
    ヘルプ(H)とかいてある右側に開きスペースがあるから、その場所にポインタを移動させて右クリック>図形描画をクリック

  2. カンバスを作ろう。単に四角形を広く作るだけだけど。「四角形」のアイコンを押すとポインタの形状が十字形に変わるから、ドラッグして好きな広さに広げれば終わり。

  3. 同じように少し大きさを変えたカンバスより小さい四角形を2つ重ねて作ります。mechanism_waku.gif

    このふたつは透過させようね。
    四角形の上でクリックして選択しハンドルがある状態にしておく。
    「塗りつぶしの色(バケツをこぼしているアイコン)」の右の三角形を押す>塗りつぶし無しボタンを押す。
    図では赤枠と青枠で表現されています。

    もし、固有値が3つの主成分を選択してきたら、こんな風に3color.gif丸を3つ重ねて準備しようね。もっと増えたら、丸を増やすだけさ。

  4. 次に、整理された因子負荷量表を見てみよう。これからは背景がグレーの値でも同じに取り扱ってゆくよ。

  5. 表の中で第1主成分と第2主成分の両方で選択されてきた因子を探します。

    金持ち、貧乏、DVDレコーダーの3つだね。正負の符号が同じ因子を赤枠と青枠の重なった共通部分に入れます。

    「テキストボックス」アイコンで因子名を入れた四角形を入れます。
    このとき、因子負荷量がマイナス(−)の場合は因子名の前にマイナスをつけておきます。

    金持ちは、正負の符号が違ったよね。正負の符号が違うときには共通の枠には入れずに、それぞれの主成分の所属枠に入れます。

  6. 片方にしか所属していなければ、所属の枠の方にテキストボックスで因子名を入れていきます。正負の符号は大事だから忘れずに。

  7. さあ、これからはメカニズムの完成にむけて君の常識や技術知識を投入してゆくぞ。
    因子ボックス間に矢印が入ってゆくのさ。こんなのを作ろうとしているんだよ。

    • 因子の中でも原因側と結果側の因子があるはずだよね。例えば人間が品物を買うから、品物に対しては人間は原因側の因子だね。
    • 他にも実験しているのなら、実験条件は原因側で、測定値は結果側の因子になる。結果側でも時間的に必ずA因子が先でB因子は後になるということがわかっていれば、順序があるから矢印が描けるね。
    • 時間的に必ず前後があれば、それも矢印が描ける。
    • 製品を製造するときには、製造工程順で前後があるよね。この場合も矢印を入れます。
    • 因果関係や前後関係のほかに、主成分分析では、分類型の因子では対比的なグループ関係も示しているから、これらは両方向の矢印で表現するとしよう。
    • 順番はわからないけれど、常識や技術的に考えて関係があると思われる因子間も両方向の矢印で結ぶ。
    • いろいろな人の意見を集約して上位概念にまとめるような研究の時には、いろいろの意見が先で後に上位概念のキーワードがきます。これは研究結果として上位概念を得たからです。
      「概念」の扱いの場合、目的で矢印の方向が逆に変わるから、混乱しないように自分は何の研究をしているかしっかり自覚しておいてね。

  8. 一番最初の原因系の因子を赤枠(または青枠)から左外側に出して因子と赤枠(または青枠)を矢印でつなごう。
    最終結果に大事な因子があれば、結果系の因子を赤枠(または青枠)から右側に出して赤枠(または青枠)と矢印でつなごう。
    (注)重回帰分析の変数選択法では一つの目的変数しか処理できないけれど、主成分分析のこの段階は、複数の目的変数を同時に変数選択しているのと同じ作業だよ。

  9. 赤枠内には結果系の因子が残る。その中で技術的な常識から判断して因果関係があれば因子を左右におきなおして、矢印で因果をはっきりさせよう。

    赤枠や青枠は広げればいいのさ。
    技術的に因子間にまだ意味がわかっていなければ、枠内で上下に並列に並べておく。

  10. ここまでは、ほぼ機械的に作業できるはずだ。さあ人間の表現に変えていこう。「***が増えると***が減少する」といった言葉に代えるんだ。

    • 因子ごとに、数値が増えるときに使用する言葉は違うよね。食塩水の濃度なら「増加する」だし、時間なら「経つ」だし、温度なら「上昇する」だよね。
    • 因子負荷量の符号がプラスなら増加するときの用語を、マイナスなら減少するときの用語を入れてゆこう。因子にプラス・マイナス符号をつけていたからすぐ分かるよね。
    • 0 、 1 を使った分類型の因子(ダミー変数)のときには、「***である場合」「***以外の場合」というように表現してみます。
    • 因子負荷量のプラスマイナスの符号が逆のほうが理解しやすいときがでてきます。そんなときは、その主成分内の全部の因子に対して符号を逆にしてしまいます(根拠証明は 第9章)。
      そしてこの中の5番目の手順からもういちど因子ボックスのレイアウトをやり直します。
    • 全体をざっと見て、用語が適切でないと違和感があるから適切な用語に直します。
    • 因子の前につけていたマイナス符号は外してね。

  11. こんな風な結果だよね。さあ、これで主成分が何を言っているのかがおぼろげながら見えてきただろう。第1主成分はたいていすでに常識になっている事象を抜き出してきていることが多いんだ。

    「あ、これは****の法則のことだ」とか「****の計算式の因子と同じだ」とか気づくはずだよ。でも因子が一つふたつ増えたりしていれば、それは新しい発見だよ。

  12. 因子ボックスに因子負荷量、観測データの最大値、最小値を付記すれば、メカニズム表としては完璧。でもこうすると見にくくなるから、学会発表用だね。一般用には枠線の太さとか種類で因子負荷量の大小を表現するといいよ。

  13. では、主成分分析の目的とされる総合的指標の作り方を伝授。メカニズム図を見ながら、第1主成分に自分の主観で意味を考えて名づける。第2主成分も同じく主観で名前を付ける。主成分スコアが新しい総合的指標値と名前が変わる。

    たとえば、ここで扱ったメカニズム図を見て、第1主成分は裕福層の消費行動軸と考えれば、主成分スコアを裕福度と呼べばいいし、あるいは貧富軸と考えれば貧富度という指標と名づければよい。

    計画的に均等に採取されたデータでない限り、主成分を新指標とするやり方は、再現性に自信が無いならあまりお勧めできない。理由は第4章に詳説。

  14. メカニズムの作図はこれでほぼ完成。君もこれだけではレポートに書くほどには自分の判断に自信が持てないだろうから駄目押しをしようね。

  15. 次は、観測データに対して主成分層別をして、自分の判断を確固としたものにしよう。その前に主成分スコアの散布図を作っておこうね。主成分分析の計算はいつでもすぐできるから、別に問題があるわけじゃないんだけど、人に多変量解析ソフトを借りて使っている人達は、何回も借りにくいだろ?次はデータを消去したりするので、ここで作成しておきます。
s.gif

 手順5 主成分の特徴を示すデータを抽出しよう

 コンピューターはどのデータのことを言っていたのかを知ろう

すべてのデータの中には、第1主成分の性格を強くもつもの、他の主成分の性格を強くもつもの、ならびに複数の主成分の性格をもつものなどいろいろ入り混じっています。

だから普通にもとのデータ間の散布図(たとえば変数X1x2など)を書いても、関係のないデータが邪魔して画面全体に広がった散布状態が見えるだけでよくわかりません。たとえば主成分1の特徴を持つデータ以外は散布図から排除できれば、主成分1が最初の変数間の散布図上でどのように分布していたのかを知ることが出来ます。 こうした主成分の特徴を強く持つデータを分類するやり方を主成分層別法といいます。主成分層別法には2種類が提案されています。

  1. コルクボーラー法 Cork Borer Method
  2. 相関方向法    Multiple Relational Direction Method

ここでは、コルクボーラー法で主成分層別してみましょう。エクセルのマクロをフリーで提供します。

 

< コルクボーラー法 手順 >

  1. (考え方) − 主成分スコアが1σ(シグマ)を超えるデータを層別するゾ。

    ある主成分の特徴をもつデータを抽出するには、その他の主成分スコアの特徴を持つデータを排除すればよい。

    元のデータが正規分布すれば主成分スコアも正規分布します。主成分スコアはその標準偏差より外側にある場合には、その主成分の特徴をより強くもっています。
    だから全主成分の主成分スコアの散布空間を考えるとき、その他の主成分スコアの特徴をもつデータの排除方法は、目的の主成分軸から離れているデータを切り捨てればよいことになるね。

    コルクボーラー法の原理必要なデータは?

    理科の実験道具を作るときにコルク栓やゴム栓に穴を開ける道具にコルクボ−ラーという道具があるね。主成分層別の作業は、ちょうどコルクボーラーで穴をあけて、中味を取り出す作業にそっくりなのでこの方法をコルクボーラー法と呼ぶ。

    ここで使うのは穴の空いたコルク栓の方ではなく、コルクボーラーの筒の中に詰まった中身のほうだよ。

    主成分スコアが正規分布のとき

    くりぬくコルクボーラーの半径が、主成分スコアの標準偏差であれば、目的の主成分の特徴だけをもつデータの抽出が出来るというわけだ。目的の主成分以外は両側32%に属する主成分スコアは外す。目的の主成分だけ両側32%に属する主成分スコアを集める。

    ばらつきが平均以上にユニークな主成分スコアというわけだ。

    しかし、主成分分析法であつかうデータは正規分布しないような分類データから、順序データ、ならびに格付けデータまであつかう。
    こうした場合であっても、外側に分布する32%の主成分スコアを排除するという基準で考えておけば、目的以外の主成分スコア値が高ければ排除する考え方は適用できるから、「目的以外の主成分スコアの特徴をもつデータの排除」という目的は達成できる。

    第1主成分スコアと第2主成分スコアの例で考えたときに抽出するほうと、排除されるほうのデータの分布が相互にどのような関係にあるかを右図に示した。 これを、32%基準で分類しようというのがコルクボーラー法の目的です。主成分スコアの分布と層別

  2. 主成分の特徴を強くもったデータを分類すると次のようなパターンを持っている。

    • 一つの主成分のみ強い特徴をもっているデータの組(図中の赤点、または黄点)
    • 複数の主成分にわたり強い特徴をもっているデータの組(図中の緑点)
    • いずれの主成分スコアも1以下で重心の回りに分布するデータの組(図中の白点)

  3. (主成分層別ソフトウエア)

    次に紹介するエクセルのVBAマクロのソフトは自作でフリーです。商用の利用は原則として不可としていますのでご相談ください。

    このエクセルシートは、簡単な指定の入力様式にデータを入力すれば32%基準の数値を見つけ出し、スタートボタンを押すだけで自動的に主成分層別をして、主成分ごとにデータ群を並べなおして出力します。主成分分析結果が神田ソフトの出力ならそのままコピー&ペーストだけで入力終了です。
    「整理された因子負荷量表」から、どの元の変数間の散布図をつくるかが指定されますから、エクセルで表示されている主成分層別表からすぐに散布図を作る変数がわかりますね。手間のかかる層別表が自動でできるから楽です。
    操作は、下の事例のようにデータをコピー&ペーストで入力して、スタートボタンを押すだけです。

    ダウンロード:PCAsobetu1_2.xls

    列が変わるとストップする単純ミスを修正しました。ごめんね。

    「マクロにはウイルスがあるから嫌だ」と考えるあなたには、ソースを次に表示しておきますから、エクセルのマクロ編集モードにして自分でペーストしてつかってください。修正部分は赤で示しましたから、前のバージョンを入れた方はここを修正するか全部コピーし直してください。計算のためには、Macro1を実行します。

    エクセルマクロ ソース
    え?ペーストのやりかた?
    マクロページのフォーカス>CTRL+A>CTRL+C>エクセルの新ページ>ALT+F11(Visual Basic編集ページ)>Sheet1ダブルクリック>(General)ページにCTRL+V

  4. <データ入力方法と計算>
    1. 層別対象データの入力

      次の入力画面例のグレー部分が皆さんのデータを入れる場所です。データはコピー&ペーストで簡単に入力できるよね。
      自動ですべての処理をしているために次の注意が必要です。

      • 主成分スコアの列を元データの左側に置く。
      • 2行目のC2以降には、変数名をすべて入れる。
      • 2行目以降、データ以外の領域にメモなどを書き込むと誤動作する。
      • 表頭とデータ間には隙間の行を入れない。2行目と3行目はくっついている。セル間の結合は行わない。
      • B列はあけておく

    入力後の画面

    1. PCA数の入力

      固有値で選択した主成分の数を、オレンジのB1の欄に入力する。リターンキーあるいは矢印キーで入力確定させることを忘れずに! この入力事例では、主成分2までの二つの主成分を対象にしているので、PCA数は2を入力します。

    2. 32%基準値の探索

      スタートボタンを押します。
      自動的に主成分スコアの列の下部に両側32%スコア値が抽出されてきてすべての層別作業まで終了します。

      両側と言う意味は、検定のときに使う両側危険率という意味と同じです。分布の両側出現率という意味です。

      Ver1_1からついでに平均値を表示しておきますので、もとのデータ間での散布図上で主成分軸がどこを通るかの大まかな推定に使ってください。主成分軸は重心(平均値点)をとおる軸ですから層別データの散布図で大雑把な主成分軸の方向がつかめます。

    32%スコア値の計算

     

    < 主成分層別表からの解析 >

    1. 元の変数で散布図の作成

      これからの作業は、多変量解析とは関係ない、普通に行っている解析作業の説明です。層別結果を散布図(または集計棒グラフ)にして考察します。

      整理された因子負荷量表を手元において、選択された因子間で散布図を作ります。7章で示すGraph-R で三次元バブル散布図にすれば、回転表示させて分布を観察できるのでもっといろいろのことに気づくでしょう。

      (注)
      いっぽうの因子に分類データ(カテゴリーデータ)や格付けデータなどがあればプロットしたデータが重なりやすいので散布図作成には不向きです。通常、散布図は計量値(連続数:小数点以下の数があるもの)間で作ります。
      横軸は原因側の因子、縦軸は結果側の因子に表現することが常識なのでちょっと配慮しておいてください。

    2. 分類データなら層別集計

      選択されてきた変数が分類データなら、データマイニングします。主成分層別されて出来た表をもとに、エクセルでソートをします。

      表の元の変数範囲全体を選択>データ>並べ換え>最優先されるキー(降順)・・・>OK

      (注)
      それぞれのグループで平均値を集計して、レーダーチャートなどに表現する。グループ毎に対比的な名前が出来るはず(たとえば・・・な富裕層・・・の貧困層など)。これらは2章で例示したポートフォリオとして、主成分スコアどうしのなかで散布図として表現できる。

      解析事例は、2章の事例2「変化するデータ群を捕まえる」を参考にして下さいね。

    3. 報告には、次の内容を付記すること。
      • 各変数の最大値と最小値(調査範囲の記録)
      • 主成分の切り捨て基準としての固有値を明記する。
      • 選択された主成分の累積寄与率を明記する。
      • 再現性が確認されない段階では, メカニズムの解釈などは断定的な結論にしない。「示唆される」程度の判断とする。

      (理由)
      データ採取の方法を指定しない限り、主成分軸は試験や調査範囲で大きく回転して変化してしまいます (第4章2章 直感的に主成分分析を理解する−空に飛んだ二次関数のグラフ参照)。

      すなわち「再現性ある結果報告をする」という姿勢ではなく、「調査した範囲で、多次元のデータを主成分的に見ればこういう傾向があった」というデータの読みとり方を報告する姿勢でいてください。

(補遺説明) その他の主成分層別基準との比較

32%基準で層別する方法のほかに、元データの標準距離を重視する基準もあります。

それは、主成分分析が軸の回転による情報量の再分配である以上、最初のデータの標準正規分布で 1 以上の数値になれば、主成分軸がどの方向を向いていてもその距離以上の主成分スコアには意味があると考える立場です。

飛行機の形状で主成分分析するケースでは、次のように説明できます。

  1. コルクボウラー法: 主成分スコア>1 を選択する層別方法

    実際の分布距離で長いものを評価し、短いものはあまり評価せずに見たいときに使う。

    この層別方法では、飛行機の場合第3主成分の垂直尾翼は先端しか抽出されてこない。

    一般に、主成分軸は多くの情報量を集める方向に軸の方向が決まる。このとき、第1主成分スコアの標準偏差は1より大きくなる。その他の主成分スコアは順に小さくなってゆき、途中からは小数点以下の数値になってゆく。だから、主成分スコアが1以上という基準で考えると、第1主成分では、より多くのデータが該当するとして抽出されてくる。いっぽう最後の主成分では、せいぜい1個くらいのデータしか該当しないというケースもしばしばである。

  2. コルクボウラー法: 主成分スコア>32%基準 を選択する層別方法

    各主成分軸方向のスコアを画面一杯に伸長または縮尺してみる方法。第3主成分の垂直尾翼方向を詳しく見たいときなどに適している。

  3. 相関方向法

    多次元の偏差座標系の場合、主成分軸は相関方向と一致する象限にあるから、その象限内のデータだけを抽出すると、主成分軸に近接する散布点だけを送別することが出来る。2次元の相関係数で考えると、負の相関であれば第2象限と第4象限に散布するデータだけを選択して、第1象限と第3象限の散布データは排除するやり方である。

    主成分スコアと関係なく、元データの平均値からの大小でデータを選別するアルゴリズムでデータ抽出できる。 しかし、主成分軸の傾きについて考慮されない欠点がある。

 

 

この方法を知ってしまった君は、何でもかんでもとりあえず主成分分析にかけたい誘惑にとらわれてしまうはずさ。
君達は、多くのデータを前にして「それが何を言っているか」途方にくれていたはず。主成分分析の読み取り方を知れば、比較的簡単にそれがはっきりとわかるようになる。

じゃあ、素晴らしい報告をものにして(10章はじめての報告作成 参照)、輝く未来を手にいれてちょうだいね。

 このビジネスモデルで自動解析ソフトを作りたいのですが、私にはまだプログラミングの能力がありません。協力してくれる人いませんか。アルゴリズムはここでほとんど開陳しています。無断で商用の開発は禁じます。

s.gif
次章はいよいよ、数学音痴のための説明をするね。
ここまで読んだあんたはえらいs.gif≫ 学びたいっ
s.gif
フレーム構成なら目次つきで見やすいです。 ≫ フレームへ

  第2章へ yatop.gif 次章へ  yaright.gif
上へ