統計ブログはじめました!

各専門分野の統計技術、方法、テクニックなどを気ままに分かり易く例題をもとに解説します。

医学と統計(60)

2011-03-14 10:48:49 | 日記・エッセイ・コラム

情報統計研究所へのアクセスはここからお気軽に

東北地方大平洋沖地震の被災者に心よりお見舞い申し上げます。一時も早い復旧をお祈り申し上げます。

情報統計研究所の統計分析業務をしばらくお休みしご迷惑をお掛けしました。業務再開にあたり当ブロッグにも随時投稿しますのでご笑読いただければ幸いです。

多重対応分析(Multiple Correspondence Analysis :MCA)について。

非常に簡単な例題として、
甲状腺機能低下および亢進症と診断された患者12名の未治療初診時における一般症状(A)と循環器系所見(B)のアイテムカテゴリーデータが表1の様であったとします。

Table1

一般症状(A)は、
 1=暑がり、2=寒がり、3=体重増加、4=体重減少
循環器系症状(B)は、
 1=頻脈、2=徐脈、3=高血圧、4=息切れ

を表しています。
表1はあるいは次の表2の様にまとめられていているかも知れません。

Table2_5

対応分析のためには、表1や表2の形式を、「0」と「1」の数値に置き換えた表3を作ります。

表3 「0」と「1」のダミーデータ 
Table3_3

この様な形式データの対応分析を多重対応分析と言います。
商用統計ソフトSPSSが便利なのですが、SPSSの基本ソフトには含まれていませんので、オプションで別途購入しなければなりません。そこで、データ解析環境統計ソフト「R」を使って多重対応分析を行ってみましょう。
表3の緑色部分をコピーしてから下記コマンドを R console 上で実行すれば良いでしょう。
 dat<- read.delim("clipboard")

 

そして、下記のプログラムを実行すれば対応分析の結果が出力されます。
library(MASS)
 cp<- corresp(dat, nf=2)
# 正準相関係数(SPSSの特異値)
 corp<- cp$cor
 round(corp, 3)
# 固有値(SPSSの要約ナイーシャ)
 cp.eig<- cp$cor^2
 round(cp.eig, 3)
# 寄与率
 prop<- round(100*cp.eig/sum(cp.eig),2)
 round(prop, 2)
# 布置図
 biplot(cp)

出力結果は次の通りです。
> library(MASS)
 > cp<- corresp(dat, nf=2)
 > # 正準相関係数(SPSSの特異値)
 > corp<- cp$cor
 > round(corp, 3)
   [1] 0.961    0.819
 > # 固有値(SPSSの要約ナイーシャ)
 > cp.eig<- cp$cor^2
 > round(cp.eig, 3)
   [1] 0.923    0.670
 > # 寄与率
 > prop<- round(100*cp.eig/sum(cp.eig),2)
 > round(prop, 2)
   [1] 57.94    42.06

上記の出力結果を要約すると、次の様になります。
正準相関係数(特異値)
0.9609 0.8188

固有値(要約ナイーシャ)
0.9234 0.6704

寄与率(ナイーシャの寄与率)
57.94 42.06

対応分析布置図を図1に示しました。

図1 対応分析布置図
Figure1
図1の布置図から、甲状腺機能亢進と低下の症状徴候の関係を知ることが出来ます。実際には、詳細なデータでの検討となり、専門的な知識を必要とするでしょう。