ラベル 演習 の投稿を表示しています。 すべての投稿を表示
ラベル 演習 の投稿を表示しています。 すべての投稿を表示

2013/09/17

次回 Cochrane Systematic Review 9月26日(木)14:30-

前回(8/22)のエビ研は、前々回に引き続き、Review Manager (RevMan)演習でした。
今回は、すでに出来上がっている表からではなく、論文から入力すべき結果を探し入力するということを行いました。
ただ、やみくもに入力しても合ってるかどうかもわからないのでは困るため、すでに出版されているCochrane のSystematic Review を準備し、そこで含められているRCTを資料として使って練習する、という形にしました。(使った資料は末尾に載せておきます。)

個人的には、今回は前回よりもスムーズに入力と操作ができたといいますか、 RevManってすごくよくできてるのね、ということがわかった回でした。
ただ、自分で論文から結果を読み取りながら入力していくのは、大変だということが よくわかりました。(それはRevManの操作の問題ではない。。。)

次回予告です。
次回から、Part 3: Special topics に入ります。 やりたい部分をやりたい人が担当する、順番はどんな順番でもよし、 ということにします。

日 時:2013年9月26日(木)14:30-15:30
テーマ:Chapter 20. Qualitative research and Cochrane reviews
場 所:医学部3号館 3階 S308

ハンドブックはpdf版だと↓の
http://xa.yimg.com/kq/groups/18751725/96463393/name/0470699515.pdf
第20章(Qualitative research and Cochrane reviews)はp.571-591
です。各自ご準備をお願いいたします。

ご関心のある方はどなたでもいらしてください。
(文責:宮本有紀)

前回(8/22)に使った資料

答え合わせに使ったCochrane Review:
独断で、当事者プロバイダー(病気の経験を有する人)と専門職によるサービス提供を比較したシステマティックレビューを選びました。
Pitt V, Lowe D, Hill S, Prictor M, Hetrick SE, Ryan R, Berends L.
Consumer-providers of care for adult clients of statutory mental health services.
Cochrane Database Syst Rev. 2013 Mar 28;3:CD004807. doi: 10.1002/14651858.CD004807.pub2.
http://www.ncbi.nlm.nih.gov/pubmed/23543537

実際に入力してみたデータ:
以下の2つの論文の結果を入力しました。
Bright JI, Baker KD, Neimeyer RA.
Professional and paraprofessional group treatments for depression: a comparison of cognitive-behavioral and mutual support interventions.
J Consult Clin Psychol. 1999 Aug;67(4):491-501.
http://www.ncbi.nlm.nih.gov/pubmed/10450619 

Rivera JJ, Sullivan AM, Valenti SS.
Adding consumer-providers to intensive case management: does it improve outcome?
Psychiatr Serv. 2007 Jun;58(6):802-9.
http://www.ncbi.nlm.nih.gov/pubmed/17535940

2013/08/01

次回 Cochrane Systematic Review 8月22日(木)13:30- (RevMan演習) 

前回(7/19金)のエビ研は、Review Manager (RevMan)演習でした。
基礎的な操作と数値の入力、ということで、RevManを講義で実際に操作したことのある方たちと一緒に数値を入力していました。
数値を入力していくと、美しくForest plotを作ってくれたり、Funnel plotを作ってくれたり、Fixed effect, Random effectsを選べたり、すごいー!!!という感じでした。
途中、サブグループを作るところは、私はうまくいかずに重複して作る形になっちゃったので、次回にまたやってみます。

次回予告です。
日 時:2013年8月22日(木)13:30-14:30
テーマ:Review Manager (RevMan)演習2
場 所:医学部3号館 3階 S308


次回は実際に論文から読み取って入力してみることをしてみたいと思っています。
(資料は準備します)

それぞれご自身のPCにRevManをインストールしてご参加ください。
下記のウェブサイトのDownloadというところから指示に従ってください。
http://ims.cochrane.org/revman

RevMan演習が終わった後に、ハンドブックのPart 3に入りたいと思います。ご自分の担当したい章があったらエビ研の時にお知らせください。

ご関心のある方はどなたでもいらしてください。資料の準備がありますので、可能であれば事前に宮本(yyuki-tky@umin.ac.jp)までご連絡いただけるとありがたいです。
(文責:宮本有紀)

2013/06/13

次回 Cochrane Systematic Review 7月19日(金)13:30-

前回(6/13)のエビ研は、Chapter12: Interpreting results and drawing conclusions でした。
これで今年1月から取り組んできたPart2が終わりました!

まずは次回予告です。
日 時:2013年7月19日(金)13:30-14:30
テーマ:Review Manager (RevMan)演習
場 所:医学部3号館 3階 S308


それぞれご自身のPCにRevManをインストールしてご参加ください。
下記のウェブサイトのDownloadというところから指示に従ってください。
http://ims.cochrane.org/revman

次回はまずは基礎的な操作ということで数値を入力したり、RevManを操作してみます。
またその次の回にでも、実際に論文から読み取って入力してみることをしてみたいと思っています。(次々回の日程は次回決めます。)

RevMan演習が終わった後に、ハンドブックのPart 3(13章以降)に入りたいと思います。
ご自分の担当したい章があったらエビ研の時にお知らせください。

<Chapter 12(6月13日)の感想>
コクランは、そのレビューを読む人(読み手)が意思決定をするための資料を提供するんだ、という姿勢なのだということを今回とても感じました。
結果の評価にはGRADEを用いる、質の評価はバイアスや効果の大きさなども考慮して検討する、
p値と信頼区間は記載するべきだけれども、有意でない、というような表現はしない。小規模研究などは信頼区間が広がったり介入効果がごくわずか、というような結果となることもあるが、介入効果がない、と結論付けることではない、
などは、システマティックレビューを書くときだけでなく、自分が論文を読むときにもつながることだなぁと感じました。
また、Summary of findingsに尺度の最小値最大値も書いておく、というところを読んで、そもそもそれぞれの研究にも全て書いておかないとな、とあらためて気付きました。
安藤さん、どうもありがとうございました!

それからそれから、固定効果モデルと変量効果モデルの哲学の違い(真の値か分布か、など)について、以前エビ研で取り組んできたMixed Modelの頃からの積み重ねもあって、少しずつ感じられるようになってきた気がします。よねちゃんどうもありがとうございます。

ご関心のある方はどなたでもいらしてください。
                 (文責:宮本有紀)

2011/10/04

次回は10月28日(金)18:00- Rの出力から結果を読むのと

前回やったことも書きたいのですが、とりあえず次回のエビ研日程だけ。

次回も、Mixed Model (Multilevel Model)の解析の出力を、どのように読んで、論文等の表にするときにはどのように記述するのかをやってみたいと思います。

日 時:2011年10月28日(金)18:00~20:00
テーマ:Mixed Model (19)
場 所:医学部3号館 3階S308


ご都合のつく方は是非いらしてくださいませ。(文責:宮本有紀)

2011/09/01

次回は9月2日(金)16:00- Rの出力から結果を読む(再掲)

次回エビ研情報を再掲します。

次回は、Mixed Model (Multilevel Model)の解析の出力を、どのように読んで、論文等の表にするときにはどのように記述するのかをやってみたいと思います。

日 時:2011年9月2日(金)16:00~18:00
テーマ:Mixed Model (18)
場 所:医学部3号館 3階S308

ご都合のつく方は是非いらしてくださいませ。(文責:宮本有紀)

2011/07/29

RでMixed Model メモ

杉本隆さん(おすぎ)から提供いただいた、前回のRを動かした回のメモをアップします!
おすぎ、ありがとう!!

皆様、書式が少しずれてしまっているのですが、まずはアップしてしまいます。





更新:2011/06/09

【コンセプト】
□データ解析の実務者の視点からRを使用
□データを取り扱う際に遭遇する困難を明らかに
□実例プログラムは必ず入れる
□安定第一という観点からR本体で全て進める(コマンダーは参照程度)

0. プログラムを書き始めるために

Rを起動して最初に出てくるR Consoleは,結果の出力と一緒になっていて,プログラムを加工しにくい。
メニューの[ファイル]→[新しいスクリプト]でRエディタを起動する。
エディタに書いたプログラムを実行するときは,選択して[Ctrl+r]をするか,R Consoleにコピペして実行


1. データの読み込み

データの種類には色々あるが、現実場面でよく使われそうな形式として、Excelに入力したデータ(csvファイルに変換したもの)やSPSSのデータファイル(savファイル)を取り上げる。まず,csvファイルの読み込みを解説する。csvファイルを使うのは,RでExcelファイル(xlsファイル)をそのまま読もうとすると大変な理由による。

まず,読み込むときにフォルダのパス名を教えてあげなければいけないのだが,普段はこれは面倒すぎる
ので,省略するために,「作業ディレクトリ」という,データの置いてあるフォルダの指定を行う

作業ディレクトリを変更する場合は
メニューの[ファイル]→[ディレクトリの変更]でフォルダを指定。デスクトップにフォルダを作ると分かりやすいかも。

Rは,データを「オブジェクト」として認識する。基本的には,<-の矢印が向けられた先にあるものが
オブジェクトとなる。名前は自由。


そして,今度はcsvファイルをRに読み込む。これからデータ加工を始めるので,順番に作っていくことを考えて,オブジェクト名を「a」とした。
作業ディレクトリを指定しているので,"jgss_mini.csv"と,データファイル名だけでOK

a <- read.csv("jgss_mini.csv", header=T) # header=Tは一行目が変数名という意味

ファイル名打つのが面倒ならば

a <- read.csv(file.choose(), header=T)



読み込んだデータセット確認のため


view(a)→デフォルトでは×
head(a) # 最初の6人表示
fix(a) or edit(a)

オブジェクト確認
ls()

オブジェクト削除するときは
rm(a)

全部削除は
rm(list=ls())

どうせ1つのデータセットで集中的に作業するんだから,attachでいいんじゃないか。

-----------------------------------------------

とりあえず,度数分布でも確認してみたい
table(a$DOPET)
%を出すには
prop.table(table(a$DOPET))


クロス
table(a$DOPET,a$SEXA)


library("Hmisc")
describe(a)
describe(a$DOPET)→n,欠損値,平均,度数分布まで出る。factorだろうがnon-factorだろうが関係ないよ

library("gmodels")


Frequencies and Crosstabs
http://www.statmethods.net/stats/frequencies.html

--------------------------------------------------

2. データマネジメント

(1)数量型変数を因子型変数に変換,またその逆
全て数量変数として読み込まれているので,カテゴリとして扱いたい変数を因子型に変換する。Rはこれらの区別を厳密につけたがるため

a$CASEID <- as.factor(a$CASEID)
a$SEXA <- as.factor(a$SEXA)
a$MARC <- as.factor(a$MARC)
a$XJOB1WK <- as.factor(a$XJOB1WK)
a$DOPET <- as.factor(a$DOPET)
a$DODOGE <- as.factor(a$DODOGE)
a$DODOGI <- as.factor(a$DODOGI)
a$DOCAT <- as.factor(a$DOCAT)
a$DOMAMMAL <- as.factor(a$DOMAMMAL)
a$DOBIRDA <- as.factor(a$DOBIRDA)
a$DOFISHA <- as.factor(a$DOFISHA)
a$DOREPTL <- as.factor(a$DOREPTL)
a$DOINSECT <- as.factor(a$DOINSECT)
a$DOOTHER <- as.factor(a$DOOTHER)
a$DOPNOMK <- as.factor(a$DOPNOMK)

summary(a)

で確認


以上は1つずつ変換したが,↓の3行を使えば,それだけでできる。
作業内容は,オブジェクト該当変数をfactorに変換した「af」を作り,aとmergeして,新データセット「b」を作成


af <- sapply(data.frame(a[,1:2], a[,4:6], a[,8:19]), factor)
af <- data.frame(af)
b <- merge(af, a, by=names(af), all=T) #aとafの順番を間違えないように

summary(b)

で確認


因子から数値,NAが入っている数値データはそれをやる必要性あり




(2)欠損値の定義
(3)欠損値の除去
(4)連続変数をカテゴリ変数に(例:年齢層作成)
(5)逆転項目の定義




--------------------------------

[応用]

(1)

SPSSのデータファイルを読み込んで、汎用性の高いcsvに変換して保存し,さらにそれを読み込むという作業

まず、他のデータ形式を読み込むための準備として、foreignパッケージを読み込む

library(foreign)

そして、データファイルの置いてあるフォルダを指定してデータセット(jgss_mini.sav)を読み込む
ここでは「jgss」という名前のオブジェクトで

jgss <- read.spss("データファイルのフォルダまでのパス/jgss_mini.sav", to.data.frame=T, use.value.labels=F)

しかし,パス指定は最初はハードルが高いので,以下の作業ディレクトリの指定の方法を薦める


*[作業ディレクトリの場所指定が面倒くさい場合]

作業ディレクトリの場所にデータファイルがあれば,フォルダのパス名を省略できる。
現在の場所は

getwd()

で確認できる

プログラムでは,

setwd("ここにフォルダのパス/ファイル名")

であり,フォルダのパスは,フォルダのアドレス欄からコピペできるが,
Windowsでは,フォルダの区切り記号が「\」なため,これを「/」に変換する必要
があり,少し面倒くさい。

これで、場所指定が省略されてファイル名だけで作業できるようになる。

jgss <- read.spss("jgss_mini.sav", to.data.frame=T, use.value.labels=F)
--------------

次に,読み込んだsavファイルをcsvファイルに変換して保存する

write.table(jgss, "jgss_mini.csv", sep=",", row.names=FALSE)

あとはcsvの読み込みと同じ



20110610 mixed model multilevel model

> results1 <- lmer(mathach ~ 1 + (1| schid), data = a )
> #これはnull modelを表現している!
> #スクールによって切片が違うかを見ている
>
> summary(results1)
Linear mixed model fit by REML
Formula: mathach ~ 1 + (1 | schid)
Data: a
AIC BIC logLik deviance REMLdev
47123 47143 -23558 47116 47117
Random effects:
Groups Name Variance Std.Dev.
schid (Intercept) 8.614 2.9350
Residual 39.148 6.2569
Number of obs: 7185, groups: schid, 160

Fixed effects:
Estimate Std. Error t value
(Intercept) 12.6370 0.2443 51.72

> #deviance値でモデルの適合度を判断するのが通例らしい
> #Interclass correlation coefficient (ICC)=8.614/8.614+39.148である。σ^2=39.148。

> #ICC=0.18はだいぶ高いらしい。学校によって、18%の効果がある→mixed modelを使用する価値がある

> #学校の数はある程度(20とか?)ないと、信頼性が怪しくなる(3校とかでは怪しいのではないか・・)

>
> results2 <- lmer(mathach ~ 1 + meanses + schtype + (1 | schid), data = a)
> summary(results2)
Linear mixed model fit by REML
Formula: mathach ~ 1 + meanses + schtype + (1 | schid)
Data: a
AIC BIC logLik deviance REMLdev
46956 46991 -23473 46944 46946
Random effects:
Groups Name Variance Std.Dev.
schid (Intercept) 2.3139 1.5211
Residual 39.1614 6.2579
Number of obs: 7185, groups: schid, 160

Fixed effects:
Estimate Std. Error t value
(Intercept) 12.0963 0.1986 60.90
meanses 5.3329 0.3686 14.47
schtype 1.2253 0.3058 4.01

Correlation of Fixed Effects:
(Intr) meanss
meanses 0.245
schtype -0.698 -0.356


> #devianceが減っているので、より適切なモデルであることがわかる
> #ランダム切片も、8.614から2.31に減っているのでより説明できている
> #meansesが1ポイント上がると、5点くらい数学の点数が上がる
> #lme4の作者が、自由度が複雑なので、P値は出さないように設計した


> results3 <- lmer(mathach ~ meanses + schtype + ses + meanses*ses + schtype*ses + (1 + ses | schid), data = a )
> summary(results3)
Linear mixed model fit by REML
Formula: mathach ~ meanses + schtype + ses + meanses * ses + schtype * ses + (1 + ses | schid)
Data: a
AIC BIC logLik deviance REMLdev
46525 46594 -23253 46498 46505
Random effects:
Groups Name Variance Std.Dev. Corr
schid (Intercept) 2.407424 1.55159
ses 0.014619 0.12091 1.000
Residual 36.758381 6.06287
Number of obs: 7185, groups: schid, 160

Fixed effects:
Estimate Std. Error t value
(Intercept) 12.0948 0.2028 59.65
meanses 3.3202 0.3885 8.55
schtype 1.1949 0.3079 3.88
ses 2.9052 0.1483 19.59
meanses:ses 0.8462 0.2718 3.11
schtype:ses -1.5781 0.2245 -7.03

Correlation of Fixed Effects:
(Intr) meanss schtyp ses mnss:s
meanses 0.213
schtype -0.676 -0.344
ses 0.076 -0.146 -0.064
meanses:ses -0.143 0.178 -0.081 0.278
schtype:ses -0.062 -0.080 0.093 -0.679 -0.356



#Rstudioをインストールすると便利!

次回は9月2日(金)16:00- Rの出力から結果を読む

前回(7/29金)のエビ研でも、Mixed Model (Multilevel Model)の解析をRを用いて行いました。
1ヶ月あいてしまうと、データセットをRに読み込むところから躓いてしまい、解析にかかるまで時間がかかってしまいましたが、なんとか解析をすることができました。

次回は、この出力を、どのように読んで、論文等の表にするときにはどのように記述するのかをやってみたいと思います。

日 時:2011年9月2日(金)16:00~18:00
テーマ:Mixed Model (18)
場 所:医学部3号館 3階S308


前回演習で行った出力(次回に使う出力)を松長さんが送って下さいました。松長さんありがとうございます!


> a <- read.csv(file.choose(), header = T)
> attach(a)
> a$centses <- ses - meanses
> library(lme4)
要求されたパッケージ Matrix をロード中です
要求されたパッケージ lattice をロード中です

次のパッケージを付け加えます: 'Matrix'

The following object(s) are masked from 'package:base':

det


次のパッケージを付け加えます: 'lme4'

The following object(s) are masked from 'package:stats':

AIC

> results1 <- lmer(mathach ~ 1 + (1 | schid), data = a)
> summary(results1)

Linear mixed model fit by REML
Formula: mathach ~ 1 + (1 | schid)

Data: a   
AICBIClogLikdevianceREMLdev
4712347143-235584711647117

Random effects:
GroupsNameVarianceStd.Dev.
schid(Intercept)8.6142.9350
Residual39.1486.2569
Number of obs: 7185, groups: schid, 160

Fixed effects:   
EstimateStd. Errort value
(Intercept)12.63700.244351.72

> results2 <- lmer(mathach ~ 1 + meanses + schtype + (1 | schid), data = a)
> summary(results2)

Linear mixed model fit by REML
Formula: mathach ~ 1 + meanses + schtype + (1 | schid)

Data: a     
AICBIClogLikdevianceREMLdev
4695646991-234734694446946

Random effects:
GroupsNameVarianceStd.Dev.
schid(Intercept)2.31391.5211
Residual39.16146.2579
Number of obs: 7185, groups: schid, 160

Fixed effects: 
EstimateStd. Errort value
(Intercept)12.09630.198660.90
meanses5.33290.368614.47
schtype1.22530.30584.01

Correlation of Fixed Effects:
(Intr)meanss
meanses0.245 
schtype-0.698-0.356

> results3 <- lmer(mathach ~ meanses + schtype + centses + meanses*centses + schtype*centses + (1 + centses|schid), data = a)
> summary(results3)

Linear mixed model fit by REML
Formula: mathach ~ meanses + schtype + centses + meanses * centses + schtype * centses + (1 + centses | schid)
Data: a
AICBIClogLikdevianceREMLdev
4652446592-232524649646504
    
Random effects:
GroupsNameVarianceStd.Dev. Corr
schid(Intercept)2.381861.54333
centses0.101380.318410.392
Residual36.721136.05980
Number of obs: 7185, groups: schid, 160

Fixed effects:
EstimateStd. Error t value
(Intercept)12.11360.198860.93
meanses5.33910.369314.46
schtype1.21670.3064 3.97
centses 2.93880.155118.95
meanses:centses1.03890.2989 3.48
schtype:centses-1.6426 0.2398 -6.85

Correlation of Fixed Effects:
(Intr)meanssschtypcentssmnss:c
meanses0.245
schtype-0.697-0.356
centses0.0800.020-0.056
menss:cntss0.0190.079-0.0280.282 
schtyp:cnts -0.055 -0.0290.082-0.694-0.351


2011/07/28

次回7月29日(金)もRで実習

前回(6/10金)のエビ研では、実際にMixed Model (Multilevel Model)の解析をRを用いて行いました。

というわけで、次回もまた、Rを用いて実際に動かしてみたいと思います。

日 時:2011年7月29日(金)18:00~20:00
テーマ:Mixed Model (17)
場 所:医学部3号館 3階S308


前回と同じデータセットとRをご持参いただければと思います。
前回の予告記事をご参照くださいませ。)

また、Rでデータを読み込むときの手順を土屋政雄さんのご厚意でここに掲載させていただきます。
つっちーどうもありがとうございます!
------------------------------------------------------
【データを読み込むまで】

まず,作業ディレクトリ(フォルダ)の変更
メニューの[ファイル]→[ディレクトリの変更]でフォルダを指定。デスクトップにフォルダを作ると分かりやすいかも。名前は英数字で(フォルダパスの中に日本語が入るとうまくいかない事があるため)。

getwd() #現在の作業フォルダの確認

a<-read.csv("hlm_sem.csv", header=T) # 「hlm_sem.csv」というデータファイルを,「a」という名前でRに読み込む
b<-read.csv(file.choose(), header=T) # こちらを使うと,ファイル名を入れずにすみ,ダイアログから選択できる

fix(a) #spss風な画面で読み込まれたことを確認
------------------------------------------------------

ご都合のつく方は是非いらしてくださいませ。(文責:宮本有紀)

2011/06/02

次回6月10日(金)はRで実習

次回のエビ研では、実際にMixed Model (Multilevel Model)の解析を
皆でしてみようというご提案をいただき、是非したい!ということになりました。

参考文献として下記を使います。
Estimating Multilevel Models using SPSS, Stata, SAS, and R
JeremyJ.Albright and Dani M. Marinova
http://www.indiana.edu/~statmath/stat/all/hlm/hlm.pdf

できれば一緒に行いたいので、解析はフリーソフトのRを使いたいと思います。

データセットは,このなかの↓This is the data set.のdata setを用います。
http://www.ats.ucla.edu/stat/hlm/seminars/hlm6/mlm_hlm6_seminar.htm
このデータセットはSPSSのファイルなので,可能ならばCSVに変換しておいてください。

ご自分でRとパッケージのlme4もインストールしておいていただければ幸いです。
一連のやり方が分からなかったら,「r パッケージ インストール」
と検索してみれば,たいてい画像付きの解説が出てくるようです。

SPSSのデータをCSV形式に変換できなかったり
上記の手順のどこかができなかった場合には宮本までご連絡くださいませ。

当日は、可能な限りPC持参で、文献のプリントアウトが必要な方は各自でご準備いただければ幸いです。

日 時:2011年6月10日(金)18:00~20:00
テーマ:Mixed Model (16)
場 所:医学部3号館 3階S308


ご都合のつく方は是非いらしてくださいませ。(文責:宮本有紀)

2010/06/30

ワイドのデータセットで図表確認♪

引き続き、2010年2月25日の演習内容です。馬ノ段さんが作ってくれました。うまちゃんありがとう!アップが遅れて申し訳ありません!!

測定時点が何度もあるときに、その推移のグラフ(折れ線グラフ等)を確認しておきたいときに、SPSSのGUI画面ではどうするのか???という演習でした。


事前に元データを確認しておくことが大切です。
Uma13

Uma14

「線の表現内容」と「変数」を設定します~(^―^)
Uma15

Uma16

一度図を作成して、それから編集します!
Uma17
ダブルクリック、ダブルクリック!

Uma18

Uma19Uma20

Uma21
完成!!!


うまちゃんありがとう!

2010/06/29

データセットの作成:ワイドをロングに!

4ヶ月も遅れましたが、、、、2010年2月25日のエビ研で行った演習の内容をここに記しておきます!馬ノ段(うまりの)さまがファイルを保存していてくれました、うまちゃんありがとう!

この日の演習1は、SPSSのGUI画面でワイドからロングにする方法でした。(シンタックス操作でのワイドからロング、ロングからワイドについてはこちらをご参照ください。)



Uma1

Uma2

Uma3Uma4

Uma5
「選択された変数を使用します」でidを選択。

Uma6

Uma7
名前を自由に書き換えます!

Uma8
そのままそのまま。

Uma9
シンタックスを残しましょう!!

Uma10
完成!!!!

<おまけで>
Timeが測定時点の期間ではなく、順序で表示されているので変更しておく
1, 1, 2, 3 → 2, 4, 6, 8 へ
Uma11

Uma12


うまちゃん、感謝です!

2009/12/18

次(2010/1/21)は成長曲線モデル

先日(2009/12/17)のエビ研は、Mixed Model初級編(5)ということで、SPSSを用いたデータ解析を続けています。

引き続き前々回から用いているサンプルデータと資料を使い、Model 3とModel 4を行いました。
ここまでで、これまで使ってきた学生(Level 1)と学校(Level 2)という二つのレベルのある、hsb12のデータを用いる解析はおしまいです。

次回からは、縦断データを用いて成長曲線モデル(growth model)に取りかかりたいと思います。
次回は縦断データの構造を知り、どんな風に解析するかを(一人一台ずつで解析するのではなく)土屋さんと米倉さんに画面を見せてもらいながら進めます。

エビ研でMultilevel model (Mixed model) に取り組み始めたときは、私自身はこれを使った解析をしたこともなく、正直なところ、???がいっぱいでしたが、すてきな参加者の皆様のおかげで、どういうものかは(ちょっと)わかってきた気がします。少なくとも論文に書いてあることはわかるようになった気がします(たぶん。)。
というわけで、なんだか難しそう!と一瞬思った方も、臆することなくいらしてください。

次回の日程のご連絡です。
Mixed Modelを知りたい人、縦断データを解析する予定の人、
どのような方もどうぞいらしてください。
日 時:2010年1月21日(木)17:00~18:30
テーマ:縦断データ-成長曲線モデル初級編(1)
場 所:医学部3号館 3階S308

さらに!次回エビ研終了後に新年会を兼ねた懇親会を予定しています。

懇親会だけの出席も歓迎です!ぜひぜひいらしてくださいませ。

2009/12/17に行ったこと:
サンプルデータと資料は前々回と同じです。

1. Model 3: Conditional Model - Centered Level 1 Predictor (Student)
(資料p7)
シンタックスは下記。
MIXED mathach WITH cses
/METHOD = REML
/PRINT = SOLUTION TESTCOV
/FIXED = cses | SSTYPE(3)
/RANDOM = INTERCEPT cses | SUBJECT(school) COVTYPE(UN).

ここでは、学生のsocioeconomic statusから学校ごとの平均値(meanses)を引いた値(cses = ses - meanses)が固定効果とランダム効果として投入されています。

この分析を行って固定効果の推定を見ると、csesが0の時の数学の成績(mathach)が12.65であることがわかり、さらに、学生個人のsesが1高くなると、数学の成績が2.19上昇することがわかります。

さらに共変量のパラメータ推定値を見ると、Intercept + CSES [subject = SCHOOL] = UN(1,1)、UN(2,1)、UN(2,2)とあり、それぞれ推定値が8.68, 0.05, 0.69と出力されています。

これはInterceptとcsesの分散共分散行列と考えれば良いとのことで、イメージとしては↓こんな感じでしょうか。
Intercept (1)cses (2)
Intercept (1) 8.68 0.05
cses (2)0.05 0.69

つまり、UN(1,1)は切片、UN(2,2)は傾き、UN(2,1)は切片と傾きの共分散ってことだと思います(かなりあやしい。違ってたらご指摘ください。)

で、ここからは、学校間でどれくらい切片と傾きが異なるかということを読み取ります。ここで読み取れることは、学校の平均の数学の成績は、学生のSocioeconomic statusで統制した後も学校間で有意に異なっている。学生のsocioeconomic status(cses)と成績の関係(傾き)は学校により異なっている。平均の数学の成績の高いところほど傾きが大きくなる(小さくなる)というような関係は見られない。ということです。

2. Model 4: Conditional Model - Centered Level 1 and Level 2 Predictorsを実施。(資料p.8)
シンタックスは下記。
MIXED mathach BY sector WITH meanses cses
/METHOD = REML
/PRINT = SOLUTION TESTCOV
/FIXED = meanses sector cses meanses*cses sector:cses | SSTYPE(3)
/RANDOM = INTERCEPT cses | SUBJECT(school) COVTYPE(UN).

ここで、カテゴリカルデータであるsector(公立かカソリックか)と、交互作用項が登場してきます。

meansesとcsesの交互作用が有意であったことから、その学校に通っている学生の社会経済的地位(ses)の平均(meanses=学校の平均ses)により、個々人のsesと数学の成績の高さの関係の度合いは異なり、この結果からは、通っている学生のsesの平均(meanses)が高い学校ほど、個々人のsesの高さが数学の成績の高さを説明する度合いが高い、ということです。
とは言え、共変量の推定値を見ると、傾きのばらつきは0.10ととても小さく、この傾きが学校間で異なるものとして考慮することは「役に立たない。」、切片だけは学校間で異なるとすることが適切であろう、と資料にはありました。


こういったことをSPSS等の出力結果から一人でちゃちゃっと読み取れるようになりたいものです。。。

そうそう、それから、シンタックス2行目でMETHODとして指定するREMLですが、これは、推定の方法とのことで、REMLとMLの2種類があり、REMLがMLに比べて良い点については、Multilevel analysis for applied researchに書いてある模様。

次回は縦断データです。

ご関心のある方は次回も是非いらしてください! (文責:宮本有紀)

2009/12/11

次回(12/17)もデータを用いてMixed Model

先日(2009/12/3)のエビ研は、Mixed Model初級編(4)ということで、引き続きSPSSを用いてデータ解析を行いました。

この回では前回から用いているサンプルデータと、資料を使って続きを行っています。
まず、復習を兼ねて「まずする分析(= Example 1: The Unconditional Model)」を、前々回はシンタックスで実行させたところをGUI画面(でいいのかな?画面を出してクリックして方法などを選択していく、あれです。)で同じ分析を行うということをやってみました。

その後、Example 2に進んでいます。
これに関する詳しい内容は、また後日加筆いたします。(12/14に加筆しました。)

とりいそぎ、次回の日程のご連絡です。
次回もまた同じデータと資料を用いて続きを行います。
Mixed Modelを知りたい人、使用予定の人、どのような方もどうぞいらしてください。
日 時:2009年12月17日(木)11:00~
テーマ:Mixed Model 初級編(5)
場 所:医学部3号館 2階S210(計算機室)

また、Mixed Modelを用いた研究で解析方法について丁寧に記述してある論文をお持ちの方は、是非ご紹介ください。

この日(2009/12/3)行ったこと:
サンプルデータと資料は前回と同じです。

1. Example 1をGUI画面で行う。(資料p15のAppendixにあります。)
ここでは被験者にschoolを入れ、独立変数にmathach(数学の成績)を入れます。
ランダム効果の画面で共分散の構造で「Unstructured」を選択。
統計量を開き、「パラメータ推定値」と「共分散パラメータの検定」をチェック。

シンタックスを直接書くときは下記となります。(これは前回と同じ。)
MIXED mathach
/METHOD = REML
/PRINT = SOLUTION TESTCOV
/FIXED = | SSTYPE(3)
/RANDOM = INTERCEPT | SUBJECT(school ) COVTYPE(UN).

2. Example 2: Conditional- Level 2 Predictorを実施。
シンタックスは下記。
MIXED mathach WITH meanses
/METHOD = REML
/PRINT = SOLUTION TESTCOV
/FIXED = meanses | SSTYPE(3)
/RANDOM = INTERCEPT | SUBJECT(school ) COVTYPE(UN).

この分析で、Level 1は個人、Level 2は学校ということになります。

ここでは、socioeconomic statusの学校ごとの平均値(meanses)が固定効果として投入されています。(meansesは、平均値が0となるように中心化されています。)

この分析を行った出力結果の切片を見ると、meansesが0の時の数学の成績(mathach)が12.6494であることがわかり、さらに、sesが1高くなると、数学の成績が5.86上昇することがわかります。

ところで、共分散構造をUnstructured(UN)にすることについてですが、これは、ばらつきがそれぞれ違うと言う仮定で行うものとのことで、サンプル数が少ないと収束しないことがあるとのことです。

サンプル数が多くない場合等、UNでは収束しないようなデータの場合には、こちらで共分散構造をある程度規定する必要が出てくるとのことでした。(どんなときにどれを選ぶか、っていうのは、私にはまだよくわかりません。。。。)

次回はModel 3.(資料p.7)からです。

ご関心のある方は次回も是非いらしてください! (文責:宮本有紀)

2009/11/20

次回(12/3)もデータを用いてMixed Model

前回(2009/11/19)のエビ研は、Mixed Model初級編(3)ということで、SPSSを用いてデータ解析を行いました。

この回でも土屋政雄さんが、サンプルデータと、それを用いて練習するための資料を提示してくださいました!(つっちーお忙しい中どうもありがとう!)
そのデータ:High School and Beyond (HSB) dataの解析では、それぞれの学校に通う学生の数学の成績について考えました。

11/19は、球面性についてのお話や、intraclass correlationの算出の仕方、その大きさをどのように考えるか、共分散行列についてなどなど、いろんなところに話は飛びつつ、「Mixed Modelをする前に、まずする分析」まで進みました。
(級内相関を考えるにあたっては、小野寺 孝義編訳「基礎から学ぶマルチレベルモデル」(ナカニシヤ出版)の中で説明してあった級内相関の考え方はわかりやすかったです。)

この回は、「まずする分析(= Example 1: The Unconditional Model)」で時間切れとなりましたので、次回はまた同じデータと資料(後述)を用いて続きを行います。
Mixed Modelを知りたい人、使用予定の人、どのような方もどうぞいらしてください。
日 時:2009年12月3日(木)11:00~
テーマ:Mixed Model 初級編(4)
場 所:医学部3号館 2階S210(計算機室)

また、Mixed Modelを用いた研究で解析方法について丁寧に記述してある論文をお持ちの方は、是非ご紹介ください。

以下は、用いたデータと資料です。


サンプルデータは、10/01付けで掲載したつっちーリストの末尾、[機関のページ]に掲載されている、
UCLA Stat Computing Portal Multilevel Modeling Portal
http://statcomp.ats.ucla.edu/mlm/default.htm
からダウンロードしました。

この中の
UCLA ATS Resources on Multilevel Modeling内にある
SPSS Topics on Multilevel Modelingを開き
http://www.ats.ucla.edu/stat/spss/topics/MLM.htm)、
そこの「Singer Examples in SPSS」から「hsb12.sav」をダウンロードしました。

資料は、同じくつっちーリストの<統計ソフト>[SPSS]内に掲載してある、
Painter J. Designing Multilevel Models Using SPSS.
http://www.unc.edu/~painter/SPSSMixed/SPSSMixedModels.PDF
を用いました。

この資料には、上記データ(hsb12)を用いた場合のSPSSのシンタックスとその出力が書かれています!

今回行ったExample 1. The Unconditional Model(資料p.5に掲載)は、
こんな↓シンタックスです。
MIXED mathach
/METHOD = REML
/PRINT = SOLUTION TESTCOV
/FIXED = | SSTYPE(3)
/RANDOM = INTERCEPT | SUBJECT(school ) COVTYPE(UN).

これは、まだMixed Modelの前段階と言いますか、mathach(学生の数学の成績)を従属変数とするということと、random効果としてのschoolしか投入されていません。

また、ここでのCOVTYPEはどの共分散構造を選ぶかを指定するということで、デフォルトではUN(unstructured)ではないのだそうです。(詳しくはSPSSの説明書をご覧ください。)

出力結果については、資料を見ていただくとして、Mixed Modelを行う前に、まずはこの分析をして(このデータで言えば)学生の数学の成績の切片と学生間の分散、学校間の分散を把握しておきましょう、ということだな、と理解しました。

次回のExample 2から、固定効果も入ります!


Painterさんの資料はすばらしいので、これを見ただけで分かる方もいらっしゃると思いますが、グループでわいわいやると、少し理解しやすいような気がする!とうれしく思っています。

ご関心のある方は次回も是非いらしてください! (文責:宮本有紀)

2009/10/26

次回データを用いてMixed Model

前回(2009/10/26)のエビ研は、Mixed Model初級編(2)ということで、初級編(1)の復習と、SPSS(今はPASWですね。)を用いてデータの再構成(SPSS用語か?データのreshaping?)を行いました。

データの再構成自体は、mixed modelと直接の関係はありませんが、3時点以上のデータがある場合にはmixed modelを用いると良いといった話題から、複数の時点で取っているデータをどのように入力したらmixed modelで解析できるのかという現実的な話が出たこともあり、実際にSPSS上で行ってみました。

さらに、土屋政雄さんから、縦断解析を行う際にお薦めの本をご紹介いただきました。Singer & Willett の Applied Longitudinal Data Analysis: Modeling Change and Event Occurrenceです。すばらしい本とのこと。(読んでみたいような、誰かにじっくり読んでもらってそれをあとで教えてもらいたいような。。。)

この日は反復測定など、複数時点でデータ収集を行うような研究について主に考えましたが、複数の地域や施設から横断的にデータを収集するような研究でmixed modelを用いて解析する予定の方もいらっしゃいます。
ということで、次回は縦断、横断両方のデータでmixed modelに触れてみよう!ということになりました。サンプルデータを用いてSPSS(もしくはSASも?)で行う予定です。

Mixed Modelを知りたい人、使用予定の人、どのような方もどうぞいらしてください。
日 時:2009年11月19日(木)11:00~
テーマ:Mixed Model 初級編(3)
場 所:医学部3号館 2階S210(計算機室)

SPSS用のサンプルデータは土屋さんが探してくれるとのことです。ありがとうございます!
ご自分のデータがある方は、それを使っていただいてもかまいません。
また、Mixed Modelを用いた研究で解析方法について丁寧に記述してある論文をお持ちの方は、是非ご紹介ください。

以下は、今回行ったデータの再構成についてです。


1サンプルに関して測定したデータは1行で横長(wide)に入力することが多いと思いますが、SPSSのデータの再構成(Restructure)を行うと、たとえば反復測定を行った場合、同じ人のtime1, time2, time3をそれぞれ1行にして縦長(long)のデータセットにすることができます。その逆もできます。

参加者の多くは(私も含めて)、今までこういったlong形式のデータ入力を行う場合にはエクセル上で加工していたので、SPSSにこんな機能があったなんて!便利!と思った次第です。
SAS等、他のソフトでもできるとのこと。便利ですね。

実際にエビ研で行ったのはwide -> longの例です。
unit1~4に所属する人々(ID1~6)を2つのgroupに割り付け、3時点で何かの値を測定したとします。

wide
↑wide形式のデータ

これを、メニューバーのデータ→再構成から操作していくとlongの形式に変換できます。シンタックスは下記。
VARSTOCASES /MAKE y FROM time1 time2 time3
/INDEX = t(3)
/KEEP = ID unit group
/NULL = KEEP.

long
↑long形式のデータ


UCLAのサイト↓がわかりやすいです!
http://www.ats.ucla.edu/stat/spss/modules/reshapel115.htm

ご関心のある方は次回も是非いらしてください! (文責:宮本有紀)

2009/08/04

サンドイッチ会報告&次回はサンプリング

前回はエフェクトサイズについて皆でG*Powerを使いながら深めました。

次回はサンプリング(ランダム抽出を実際にやるとしたらどのように行うか、などなど)について、既に行ったことのある人やこれから計画する人で学び合うことができればと思います。
次回日程は9月上旬を予定中ですが、また日程が決定したらご報告いたします。

さて、遅くなりましたが、7月のエビ研サンドイッチ会のご報告です。
パンに対する愛情の深いAyuさんがおいしいパンをずらりとセレクトしてきてくださり、ハム、明太子、ツナ、サーモン、玉子、野菜などなどで銘々が好きなようにサンドイッチを作って食べました。
おいしかったです。皆様どうもありがとうございました!

エビ研Sandwich  エビ研パン  エビ研作品  エビ研Sand集合