Hatena::ブログ(Diary)

極めて個人的なメモ Twitter

Θ・)ノシ Bob#3のメモ帳です。
1972 | 12 |
2003 | 03 | 04 | 05 | 06 | 11 | 12 |
2004 | 01 | 02 | 03 | 04 | 05 | 06 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 09 | 10 | 11 |
2006 | 03 | 04 | 05 | 06 | 07 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 05 | 06 | 07 | 10 | 11 | 12 |
2008 | 01 | 02 | 04 | 05 | 08 | 09 | 10 | 11 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 |
2011 | 05 | 06 | 09 | 10 |
2012 | 02 | 03 | 05 | 06 | 08 |
2013 | 01 | 02 | 03 |
2015 | 02 |

2010-05-30

[]RでSEM(共分散構造分析/構造方程式モデリング)3 RでSEM(共分散構造分析/構造方程式モデリング)3 を含むブックマーク RでSEM(共分散構造分析/構造方程式モデリング)3 のブックマークコメント

半年ぐらい前にR言語semパッケージで共分散構造分析の練習をしました。

id:bob3:20091226#p1

id:bob3:20091227#p1

このたび、次々回のTokyo.R#7で『Rによるやさしい統計学』の第17章「共分散構造分析」パートを担当することになったので復習中。


Rによるやさしい統計学

Rによるやさしい統計学


例題として『Excelで学ぶ共分散構造分析とグラフィカルモデリング』p22の「住意識」データを使ってみます。


Excelで学ぶ共分散構造分析とグラフィカルモデリング

Excelで学ぶ共分散構造分析とグラフィカルモデリング


以下の相関行列CSVファイルとして保存。ここでは「cor.csv」としておきます。

x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13
1,0.423491329,0.403553642,0.127291949,0.179424357,0.132039721,0.148471449,0.213510548,0.224842949,0.25177753,0.125013841,0.122467773,0.191899015
0.423491329,1,0.75117574,0.187228911,0.267487322,0.115166239,0.188329495,0.22264277,0.264941282,0.300143211,0.143769574,0.096972479,0.192815288
0.403553642,0.75117574,1,0.238411139,0.275971308,0.178031892,0.239260433,0.24933465,0.280945687,0.325355384,0.174399645,0.146946528,0.220178984
0.127291949,0.187228911,0.238411139,1,0.411340708,0.399252508,0.349942359,0.286442891,0.273901189,0.272518259,0.149680419,0.19198312,0.176169959
0.179424357,0.267487322,0.275971308,0.411340708,1,0.54530188,0.329966496,0.302289993,0.296037879,0.332500945,0.234793591,0.248269672,0.224471563
0.132039721,0.115166239,0.178031892,0.399252508,0.54530188,1,0.298241169,0.327162049,0.228691718,0.362303562,0.173482684,0.242372426,0.143496196
0.148471449,0.188329495,0.239260433,0.349942359,0.329966496,0.298241169,1,0.265943207,0.205411512,0.239727945,0.140376895,0.152658635,0.16090992
0.213510548,0.22264277,0.24933465,0.286442891,0.302289993,0.327162049,0.265943207,1,0.416647368,0.553811105,0.338026113,0.292691735,0.324305158
0.224842949,0.264941282,0.280945687,0.273901189,0.296037879,0.228691718,0.205411512,0.416647368,1,0.371119334,0.222578881,0.170531959,0.221756995
0.25177753,0.300143211,0.325355384,0.272518259,0.332500945,0.362303562,0.239727945,0.553811105,0.371119334,1,0.286346812,0.291387323,0.283200002
0.125013841,0.143769574,0.174399645,0.149680419,0.234793591,0.173482684,0.140376895,0.338026113,0.222578881,0.286346812,1,0.334934818,0.452021148
0.122467773,0.096972479,0.146946528,0.19198312,0.248269672,0.242372426,0.152658635,0.292691735,0.170531959,0.291387323,0.334934818,1,0.332915322
0.191899015,0.192815288,0.220178984,0.176169959,0.224471563,0.143496196,0.16090992,0.324305158,0.221756995,0.283200002,0.452021148,0.332915322,1

それぞれの変数の意味は以下の通り。

x1給食サービス

x2 「デイサービス

x3老人ホーム

x4 「自然の緑」

x5 「ウォーキング、ジョギングしたい道」

x6 「大きな公園」

x7 「河川・湖」

x8 「コミュニティ活発イベント

x9 「多世代が住む」

x10「活発な地域コミュニティ

x11趣味の合う交流」

x12「ホームパーティー

x13「自分経験能力を還元」


モデルテキストファイルで用意。

モデルの表現は、左から変数間の関係、係数の名前、初期値。

ここでF1F4は潜在変数(因子)で、F1「福祉の充実」、F2「自然環境」、F3「地域コミュニティ」、F4「手作りの交流」。

まずは検証的因子分析モデル(p125)。「model1.txt」として保存。

# 潜在変数から観測変数へのパス
F1 -> x1,  p01, NA
F1 -> x2,  p02, NA
F1 -> x3,  p03, NA
F2 -> x4,  p04, NA
F2 -> x5,  p05, NA
F2 -> x6,  p06, NA
F2 -> x7,  p07, NA
F3 -> x8,  p08, NA
F3 -> x9,  p09, NA
F3 -> x10, p10, NA
F4 -> x11, p11, NA
F4 -> x12, p12, NA
F4 -> x13, p13, NA
# 因子間相関係数(共分散)
F1  <-> F2, F1F2, NA
F1  <-> F3, F1F3, NA
F1  <-> F4, F1F4, NA
F2  <-> F3, F2F3, NA
F2  <-> F4, F2F4, NA
F3  <-> F4, F3F4, NA
# 観測変数の残差(分散)
x1  <-> x1,  e01, NA
x2  <-> x2,  e02, NA
x3  <-> x3,  e03, NA
x4  <-> x4,  e04, NA
x5  <-> x5,  e05, NA
x6  <-> x6,  e06, NA
x7  <-> x7,  e07, NA
x8  <-> x8,  e08, NA
x9  <-> x9,  e09, NA
x10 <-> x10, e10, NA
x11 <-> x11, e11, NA
x12 <-> x12, e12, NA
x13 <-> x13, e13, NA
# 潜在変数の分散
F1  <-> F1,  NA, 1
F2  <-> F2,  NA, 1
F3  <-> F3,  NA, 1
F4  <-> F4,  NA, 1

次に多重指標モデル(p127)。「model2.txt」として保存。

# 潜在変数から観測変数へのパス
F1 -> x1,  p01, NA
F1 -> x2,  p02, NA
F1 -> x3,  p03, NA
F2 -> x4,  p04, NA
F2 -> x5,  p05, NA
F2 -> x6,  p06, NA
F2 -> x7,  p07, NA
F3 -> x8,  p08, NA
F3 -> x9,  p09, NA
F3 -> x10, p10, NA
F4 -> x11, p11, NA
F4 -> x12, p12, NA
F4 -> x13, p13, NA
# 因子間のパス
F4 -> F3,  p14, NA
F3 -> F2,  p15, NA
F3 -> F1,  p16, NA
# 観測変数の残差(分散)
x1  <-> x1,  e01, NA
x2  <-> x2,  e02, NA
x3  <-> x3,  e03, NA
x4  <-> x4,  e04, NA
x5  <-> x5,  e05, NA
x6  <-> x6,  e06, NA
x7  <-> x7,  e07, NA
x8  <-> x8,  e08, NA
x9  <-> x9,  e09, NA
x10 <-> x10, e10, NA
x11 <-> x11, e11, NA
x12 <-> x12, e12, NA
x13 <-> x13, e13, NA
# 潜在変数の分散
F1  <-> F1,  NA, 1
F2  <-> F2,  NA, 1
F3  <-> F3,  NA, 1
F4  <-> F4,  NA, 1

さて、それではRを起動しましょう。

install.packages("sem") # semパッケージのインストール
library(sem)            # semパッケージの呼び出し

# データの読み込み
DATA <- as.matrix(read.csv("cor.csv"))
rownames(DATA) <- colnames(DATA)

# モデルの読み込み
MODEL1 <- specify.model("model1.txt")
MODEL2 <- specify.model("model2.txt")

# 検証的因子分析モデル
MODEL1.sem <- sem(MODEL1, DATA, N=1120)

# 結果の表示
# 適合度としてGFI、AGFI、RMSEA、NFI、NNFI、CFI、SRMR、BIC
# 推定されたパラメータなどが出力されます
summary(MODEL1.sem)

# 標準化解の表示
std.coef(MODEL1.sem)

# 修正指数の算出
mod.indices(MODEL1.sem)

# dot言語によるパス図の出力。
path.diagram(MODEL1.sem, ignore.double=FALSE, edge.labels="values", digits=2,
             standardize=TRUE)

# 多重指標モデル
MODEL2.sem <- sem(MODEL2, DATA, N=1120)
summary(MODEL2.sem)
path.diagram(MODEL2.sem, ignore.double=FALSE, edge.labels="values", digits=2,
             standardize=TRUE)

path.diagram()の出力を EasyGraphViz に食わせるとこんな感じになります。

f:id:bob3:20100530144747p:image:w257

f:id:bob3:20100530144746p:image:w383

……これ、説明すんの難しいなぁ。

特にモデル識別のための分散の固定。

Twitter記法の練習  Twitter記法の練習を含むブックマーク  Twitter記法の練習のブックマークコメント




2010-05-22

Tokyo.R#5 Tokyo.R#5を含むブックマーク Tokyo.R#5のブックマークコメント

第5回R勉強会@東京(Tokyo.R#05)に参加してきました。


Twitterでの実況中継はこちら→ Togetter - まとめ「第5回R勉強会@東京(Tokyo.R#05)」


会場は六本木。

f:id:bob3:20100522131229j:image:w512


@doradora09さんの「Rによるやさしい統計学 : 第15章 回帰分析」からスタート

f:id:bob3:20100522134458j:image:w512


次が@oshiro40さんの人口統計データの分析手法の紹介。

f:id:bob3:20100522140933j:image:w512


自己紹介タイム。

f:id:bob3:20100522144402j:image:w512


ここで@wakutekaさんによる「Tsukuba.R#7」活動報告があったんですが、写真撮り損ねました…… すいません。

内容はgihyo.jpの「Tsukuba.R#7」活動報告を参照してください。


@hamadakoichiさんによる「R言語による アソシエーション分析 − 組合せ・事象の規則を解明する −」

さすが濱田さんという感じ。これは盛り上がりましたね。

発表資料はこちら→ http://bit.ly/av5FFZ

f:id:bob3:20100522153309j:image:w512


トリは主催者である@yokkunsさんの「RとWeb API」。

発表資料はこちら→ http://www.slideshare.net/yokkuns/rweb-api

f:id:bob3:20100522170049j:image:w512


そしてピザパーティー

f:id:bob3:20100522173551j:image:w512


毎度のことながら、普段の仕事では出会う機会のない方達とRを介してお話できるのは非常に楽しいです。

f:id:bob3:20100522183554j:image:w512


次々回は私もひとつお話をすることになったようで……

2010-05-17

TokyoWebmining#4 TokyoWebmining#4を含むブックマーク TokyoWebmining#4のブックマークコメント

f:id:bob3:20100516135725j:image:w512


f:id:bob3:20100516112313j:image:w512


f:id:bob3:20100516162350j:image:w512

2010-05-09

Tsukuba.R#7 Tsukuba.R#7を含むブックマーク Tsukuba.R#7のブックマークコメント

Tsukuba.R#7に参加してきました。

Rユーザー会やTokyo.R、TokyoWebminingと比べると参加者が若いですね。

Tsukuba.Rの創設者id:syou6162さんの所感(id:syou6162:20100509:1273393859)も必読です。

f:id:bob3:20100509133510j:image:w512

f:id:bob3:20100509133936j:image:w512

f:id:bob3:20100509134701j:image:w512

f:id:bob3:20100509140541j:image:w512

Connection: close