2007年06月05日

Posted by okh
at 21:38
Comments(9)

2007年6月6日

前回の例題データのスペルが間違っていました。
正:waist    誤:west

前回やったこと
Rによる回帰分析
複数の変量があるときの回帰分析を試しました。
2変数以上の場合は変量間の関連性を如何に読み取るかが重要で、マトリックスプロットによる視覚的把握をRで行いました。

今回のマスターしてもらいたい分析手法
  あるいは身につけてほしい分析道具


主成分分析

多変量解析といえば、まず最初に主成分分析がくることが多い。
最も基本的な手法といえる。

どのように使うかを、Rのサンプルデータを使って試してみる。

統計学のテキスト等には歴史的エポックとなった有名な実験データが引用されることがある。大抵の場合、かなりな量であることが多いが、Rにはそのようのデータが既にデータセットとして準備されている。

Irisというデータは中でも群を抜いて有名なものではないだろうか。いわゆるアヤメのことであるが、その属の中の3種50標本のがく片の長さと幅、花弁の長さと幅の4変数の測定値である。Rには植物学者Edgar Anderson's Iris Dataとして収録されている。大元はR.A.Fisherの1936年の論文のデータである。なのでR登場以前はFisher's iris dataと称していた。

Rに付属しているデータはdata()関数で呼び出す。data(iris)とすれば特定のデータを呼び出すことができる。なお、sepalががく片、petalが花弁である。

とりあえずデフォルト設定でのRのサンプルデータは以下の関数で調べることができる。
data()

色々ありますが、CO濃度や太陽黒点など、よく見かけるデータもあります。

2007年6月6日

irisのデータは次のように指定すると使用可能になる。
data(iris)

とりあえずマトリックスプロットしてみる。
pairs(iris)

2007年6月6日

多変量プロット(マトリックスプロット)が出力されるが、Listの5列目は文字データなので5列目を除いて指定する。配列は次のように指定する。

pairs(iris[1:4])

2007年6月6日

因みに、
pairs(iris[1:4], pch = 21, bg = c("red", "green3", "blue")[unclass(iris$Species)])
これはpchがプロットされる記号(symbol)の指定で、bgは色の指定です。

iris$Speciesのようにオブジェクト内の要素は$でつなげて指定する。Speciesは3種のアヤメの名前があるので一つ目が赤、2つ目が緑、3つ目が青を指定している。

5列目を削除して新たに『 iris.x 』というデータを定義する。-5がその指定である。
iris.x<-iris[,-5]

以上で前準備終了。次が本題。

まず主成分分析の結果をpcaという名前に保存します。
pca<-princomp(iris.x)

結果は例によってsummaryで確認します。
summary(pca)

固有値というものです。
loadings(pca)

主成分得点の散布図です。pca結果内に得点がscoreとして出力されますので『$』で【オブジェクト$取り出す変数】という書式で取り出します。
plot(pca$scores)
plot(pca)

主成分得点をpcscというデータセットにします。
pcsc<-pca$score

以下、つらつら出力してみます。
plot(pcsc[,1])
plot(pcsc[,2])
plot(pcsc[,1],pcsc[,2])
plot(pcsc[,1],pcsc[,3])
plot(pcsc[,2],pcsc[,3])
plot(pcsc[,1],iris[,1])


主成分得点のマトリックスプロットです。さて元データのマトリックスプロットとどう変わったでしょうか?
pairs(pca$scores)

次はバイプロットと呼ばれるメソッドで、行列を逆転させた主成分分析と思ってください。説明は後述。
要は第1主成分と第2主成分の部分空間(データに対する反応の構造)の散布図です。
biplot(pca)

なお、以下の関数で表計算ソフトようなworksheetのように扱えます。
edit(pca)

さて、よく分からないままつらつらと主成分分析の流れを見てきましたが、以下で詳しく説明します。

チェックすべきKey Wordは
・固有値  → 因子負荷量 → 寄与率 
・固有ベクトル  →  主成分得点


  そしてデータ空間の頑健な構造と自由な解釈(主観的という人もいる)

主成分分析に関する解説


課題







この記事へのコメント

R用のサンプルデータ
do<-c(7.2,9.4,5.2,3.8,8.1,8.6)
bod<-c(1.3,0.8,3.9,5.0,1.5,0.9)
osen<-data.frame(do,bod)

Posted by okh at 2007年06月06日 20:31

上のデータの主成分分析の結果

1.寄与率
2.因子負荷量

各自のブログに記述してください。

その後、
学籍番号と今日の日付と、皆さんのURLをこのコメント欄に書き込んでください。

Posted by 本日の課題 at 2007年06月06日 20:47

2007年6月6日
041975D Hiroshi Hojo
http://e041975.ti-da.net/

Posted by 041975D at 2007年06月06日 20:54

2007年6月6日

033379E

http://admin.ti-da.net/admin/entry.php

Posted by e033379 at 2007年06月06日 20:57

065651J
2007ネン/6/6
http://yasushi84.ti-da.net/

Posted by 065651J at 2007年06月06日 20:57

ブログ開設していないのでここに記述します。
2007年6月6日 051475G

1.寄与率
Importance of components:
Comp.1 Comp.2
Standard deviation 2.5211880 0.3082206
Proportion of Variance 0.9852745 0.0147255
Cumulative Proportion 0.9852745 1.0000000
> loadings(osen.index)

2.因子負荷率
Loadings:
Comp.1 Comp.2
do 0.773 0.634
bod -0.634 0.773

Posted by 051475G at 2007年06月06日 20:57

主成分分析
055266G
07/06/06
http://e055266.ti-da.net/

Posted by 055266G at 2007年06月06日 20:59

H19年6月6日
051461G
http://e051461.ti-da.net/

Posted by 051461G at 2007年06月06日 21:02

上のデータの主成分分析の結果

1.寄与率
2.因子負荷量

各自のブログに記述してください。

その後、
学籍番号と今日の日付と、皆さんのURLをこのコメント欄に書き込んでください。

Posted by 本日の課題 at 2007年06月06日 21:04
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。

pagetop▲