猫も杓子も構造化

発達障害、特別支援などについて書いています。最近は心理学関係の内容が多めです。

いきなり因子分析(その1)

思いつきで何かをやりたくなるということがあって、今は因子分析な気分なのでやってみる。ちなみに多変量解析の経験値はほぼゼロ。

データセットの準備

ここのところマイブームがアセスメントなので、知能検査のデータセットを使うこととする。Rのパッケージlavaanには、HolzingerSwineford1939という名前で2つの学校の2つの学年の知能検査のデータが入っているらしい。

library(lavaan)

dat <- HolzingerSwineford1939
head(dat)

f:id:nekomosyakushimo:20180704093703p:plain
head()の結果

列を順番に見ていくと、ID、性別、、年齢(歳)、年齢(ヵ月)、学校、学年、と続いた後に9つの検査内容が続いている。

検査内容はHELPを見ると次のように書いてある。

  1. Visual perception
  2. Cubes
  3. Lozenges
  4. Paragraph comprehension
  5. Sentence completion
  6. Word meaning
  7. Speeded addition
  8. Speeded counting of dot
  9. Speeded discrimination straight and curved capitals

それぞれが具体的に何をやっているかは今回興味がないがまぁ言葉やら形やら色々な検査をやらせたんでしょう。

データの中身をのぞいてみる

まずは、データの確認である。psychというパッケージに入っているdescribe()pairs.panels() は便利だった気がする。describe()関数の方は変数ごとに記述統計量をまとめて算出してくれる。pairs.panels()の方は、散布図行列に相関行列に変数ごとのヒストグラムを合わせたようなものが関数一発算出される。今回は知能検査の変数を見てみる。

library(psych)

describe(dat)
pairs.panels(dat[,7:15],smooth=FALSE, density=FALSE , ellipses=FALSE, scale=FALSE)

f:id:nekomosyakushimo:20180704093713p:plain
describe(dat)結果

記述統計量は、歪度と尖度も合わせて出してくれるし便利である。

f:id:nekomosyakushimo:20180704093731p:plain
散布図行列

散布図行列の方も、色々な情報が一つにまとまっていて便利である。引数で色々とオプションを決められるので好みの設定を見つけると良い。

とりあえず探索的因子分析

因子分析のためには相関行列が必要ということで、データセットから作成する。 cormatrix <- cor(dat[,7:15])変数部分はさっき確認したように7列目から15列目である次のようなものができあがる。

f:id:nekomosyakushimo:20180704093716p:plain
相関行列

因子数の決定方法にも色々あるらしいけれど、とりあえず固有値を基準にするものでやってみよう。eigen()に相関行列で固有値固有値ベクトルを計算できる。固有値$values固有ベクトル$vectorsに格納されるので、固有値の方だけゲットして、スクリープロットをつくる。

eigen <- eigen(cormatrix)$values
plot(eigen, type="b")

f:id:nekomosyakushimo:20180704093655p:plain
スクリープロット

みたところ、1より大きいものは3つで、4つ目以降は緩やかな減少になっているので、今回は3つの因子でいってみましょうか。

回転を選んで実行

因子数が決まったところで、早速初期解の推定をするのだが、最初から入っている因子分析の関数factanal()だと最尤法しか扱えないらしい。ただ、回転はバリマックスかプロマックスかを選べるということなので、どちらでもやってみる。

result_varimax <- factanal(x=dat[,7:15], factor=3, rotation="varimax")
print(result_varimax, cutoff=0)

f:id:nekomosyakushimo:20180704093724p:plain
varimax結果

まずバリマックスの結果。一番上に独自性(Uniquenesses)が表示されている。独自性というのは、観測値のうち共通因子によって説明できない部分のことである。(1-共通性)の値である。例えば、この例だとx2(Cubes)は独自性が0.749と高い。言い換えると、この変数はの75%はその変数に特有の独自因子によって説明され、今回仮定した3つの共通の因子で説明でき流部分は25%しかないことになる。

次に因子負荷量(Loadings)が表示されている。これは、各観測変数に対して共通因子がどの程度の影響を持っているかを示している。値を見てみると、Factor1は変数4~6に、Factor2は変数1~3に、Factor3は変数7~9に高い因子負荷量を持っていることがわかる。

その下のブロックは、因子が全体の分散のうちどの程度を説明できているかを表す因子寄与(SS loadings)、その割合である因子寄与率(Proportion Var)、因子寄与率を高い順に足していき、因子全体で全体を何%説明できているかを表す累積寄与率(Cumurative Var)が表示されている。上記の結果だと、3つの因子で全体の情報の53.9%が説明されたことになる。

今度は、プロマックス回転で行ってみよう。

result_promax <- factanal(x=dat[,7:15], factor=3, rotation="promax")
print(result_promax, cutoff=0)

f:id:nekomosyakushimo:20180704094215p:plain
promax結果

結果を見てみる。大きく違うのは直行回転で表示される項目に加えて、因子の相関行列(Factor Correlations)が表示される。斜交回転というのは因子間の相関関係を仮定しているのでこうした項目が表示され、結果をみるとF1とF2には弱めの負の相関と、F1とF3には中くらいの相関があるのが分かる。

独自性については同じ値が表示されているが、大きく数字が変わったのが因子負荷量である。例えば因子1の値のみ抜き出して、直行回転と斜交回転で比べてみると以下の通りである。

変数 斜交回転 直行回転
x1 0.146 0.277
x2 0.007 0.105
x3 -0.122 0.034
x4 0.841 0.827
x5 0.896 0.861
x6 0.804 0.801
x7 0.047 0.091
x8 -0.048 0.051
x9 0.002 0.132

因子負荷が変数4,5,6について高いというの全体的な傾向は変わっていないが、高いものは高い、低いものは低いというように、よりメリハリのついた形で示されているのが分かる。

因子寄与や累積因子寄与率は、数字はいくらか変わるものの回転の方法ではそんなに変わらない様子である。

知能検査みたいなもので、因子間に相関か関係がないという仮定は無理筋でしょうから、今回は斜交回転を採択しておくとする。

因子の命名と解釈

こんな感じで因子数と因子の内容をしながら、もっともらしくデータの変動を説明できるものを探していくというのが探索的因子分析というようである。

因子分析の結果、変数の意味内容とかを考えながら因子に名前をつけるらしい。今回の結果だと、F1は因子分析の結果、Visual perception, Cubes,Lozengesという3つのテストに高い負荷があるので視空間能力、F2はParagraph comprehension, Sentence completion, Word meaningに高い負荷があるから言語能力, F3はSpeeded addition, Speeded counting of dot, Speeded discrimination straight and curved capitalsに高い負荷があるから処理速度のような感じで。

本当はもっと色々と試してみて決めるようだけれど、今回は流れを確かめるということでこのくらいで。

そのうち別の回転とか別の推定方法とか編でやってみよう。

WISC-ⅣはFSIQの解釈のみで十分!?

次の論文にさらっと目を通した。

Structure of the Wechsler Intelligence Scale for Children – Fourth Edition in a Group of Children with ADHD

ADHD児を対象にWISC-Ⅳのデータについて確証的因子分析でいろいろなモデルを比較したというもの。

論文の内容に入る前にいくつかの用語の説明を。

階層因子分析モデル(hierarchical factor analysis model)というものがある。全ての観測変数を説明する一般因子(general factor)と、いくつかの観測変数を説明するグループ因子(group factor)とで説明するモデルのことを指している。

ぱっと見たところ、高次因子分析モデル(higher–order factor analysis model)と似ている図になるが、階層因子分析モデルは「どの階層に属する因子も説明するのは全て観測変数」なのに対して、高次因子分析モデルは、「高次の因子が説明するのは因子」である点で違っている。

特に、階層因子分析モデルのうち、一般因子といくつかのグループ因子の2層からなるモデルを双因子モデル(bi-factor model)というそうだ。

f:id:nekomosyakushimo:20180714232832p:plain
こっちが双因子モデル

f:id:nekomosyakushimo:20180714232805p:plain
こっちが高次因子分析モデル

それで、ここからが論文の内容について。いろいろなモデルで当てはまりを調べてその指標を比較している。

結果は、どれも当てはまりはまぁいいけど、双因子モデルが最高という話。で、この双因子モデルで観測変数のデータのばらつきをどの程度説明できているかを見ると、グループ因子モデル(ようするに、言語理解とか知覚推理とか)よりもずっと高い割合を説明でき、かつ、信頼性も高いとのことである。さらに、一般因子が読みと計算の成績を強く予測していると(WMIも一応有意に予測しているが)。

この結果は何も全く新しいものでなく過去の研究とも一致しているらしく、それらを含めディスカッション部分では次のように書かれている。

These findings indicate support for the presence of a general dimension in the bifactor model, and that only the general factor can be meaningfully interpreted. They support the utilization of the total score, and not index scores of the WISC-IV.

結論としては、一般因子にあたるFSIQの利用は信用できるし勧められるけど、各指標得点では活用しない方が良いと。

WISCとか使って認知特性がどうちゃらとかもっともらしいコメントを言わないといけないことはままあるから、色々と考えることも多い。 少なくとも、日本で研修を受けたり、日本語で読む書籍に書いてあるような「オフィシャル」な解釈の方法とは別路線になるよなぁと。

ワトソンほか『自閉症のコミュニケーション指導法:評価・指導手続きと発達の確認』

自閉症のコミュニケーション指導法―評価・指導手続きと発達の確認

自閉症のコミュニケーション指導法―評価・指導手続きと発達の確認

久々に臨床よりの本を読んだ。TEACCH関連でコミュニケーションについて書かれたものの中では一番包括的でかつ、手順も具体的なので自閉症のコミュニケーション指導をする際には大変参考になると思う。

特に、コミュニケーション・サンプルの扱いには最も詳しく書かれており、いままで使い所が良く分からなかったものが大分納得のいくものになった。

やや古い本で、他の本(例えば『TEACCHハンドブック』)にあるコミュニケーション・サンプルなどの記述と違う点もあるが、それがプログラムが発展していく中で起きたことなのか、紙面の都合で他の本では端折られた内容なのかは分からないが、この本に書かれている手続きは今までも参考になる部分が多々あると思う。

以下に、私の書きなぐったメモを残す。2、3日でざっと読んだものなので、引用や要約の間違いがある可能性もあり、正確な情報を知りたい方は実際に本を手に取ることを強くおすすめする。(絶版だけど)

1章 序章

  • コミュニケーションの自発が評価の基礎。刺激に対する反応とは別のものとして考えたい
  • 次の5つの次元で評価とプログラムを作成:機能、形態、セマンティックカテゴリー、単語、文脈
  • 次元を複数設定することでスキルの柔軟な組み合わせなど指導プログラムに幅を持たせる
  • 既習得スキルと未習得スキルの概念の導入
  • ある既習得が別の次元で自発されていない場合、その次元での自発を目指す

    コミュニケーション指導の簡単な歴史

  • 精神分析アプローチ:言語を直接扱わなかった
  • 行動分析的アプローチ:汎化の問題の指摘
  • 行動理論からの二つの新しい流れ
  • 多様の課題や複数の指導者、機能性の強調、自然な強化子、偶発的指導法
  • 代用形式(サイン言語など活用)
  • 心理言語学アプローチ:定型発達の言語とコミュニケーション能力の発達の知見を適用
  • TEACCのコミュニケーション指導は、行動理論と心理言語学の影響が大きい
  • 行動理論からは行動形成の手続きなど
  • 心理言語学からはコミュニケーション行動のカテゴリー化 → 指導目標の明確化(機能性と語用論との結合)
  • 複雑な形式の獲得を目指すより、より多くの場面でより多くの目的を持って、より多くの意味の獲得 を目指す

第2章 TEACCHモデルの概要

  • 前半はTEAACHプログラムの解説
  • 後半はコミュニケーションを5つ次元からとらえる視点の提示。本書の核となる考え方
  • 機能または目的
  • 文脈または状況
  • 意味のカテゴリーまたはセマンティックカテゴリー
  • 単語、ジェスチャー、サイン言語
  • コミュニケーションの形態
  • セマンティックカテゴリーとは、アイディアや概念を伝達するために使われる単語の意味を示す
  • 典型的なのは、動作に関するもの、行動している人、動作の対象となる物、物の場所
  • 次の引用なんかは「芽生え」を重視する実にTEACCHらしいもの

    何から取り組むかを決めるよりむしろ、最も成功の確率が高いのはどれかを発見することにあるだろう(p.39)

3章 コミュニケーションの評価:プログラム作成のための基礎

  • 芽生え大事感はここでも:

    ここでの評価の目的は、子どもが現在持っているコミュニケーション・スキルを確認し、指導によって変化が期待できそうな点を見つけ出すことである。(p.40)

  • 評価のもう1つの目的:その子どもにとっての一番重要なものの決定

  • 評価のための3つの道具:コミュニケーション・サンプル、親への質問、ゴール優先順位記録用紙
  • プログラムのゴールは、実現可能か、達成して日常のコミュニケーションにとって意味あるか、親がそのゴールを評価しているか、の3つの基準で決定
  • コミュニケーション・サンプルは自発的なコミュニケーションに限定
  • コミュニケーションの意図を持った行動のみを記録するべし
  • テスト質問への応答は記録しない - 考え方として、自然場面での自発的なスキルはその生徒に実際に役立っている → 既習得スキル

    自閉症児の持っているスキルというものは、構造化された場面や人に促された場合にはそのスキルを使えるが、自発的には使えないというものがきわめて多い。一方この事実とは逆に、自発的に、その子どもが1人で使っているコミュニケーションを注意深く観察すると(構造化された場面での子どもの反応だけに着目した場合と比べて)、ふだん見落としているコミュニケーションの内容や方法がいろいろあるのに改めて驚かされる。(p.44)

  • 能力低くて自発ない生徒の場合は、サンプルを長時間にする、あらゆる形態や徴候に注目、注意深く観察しても自発しない場合は誘発する環境設定、それでもダメな場合、強化子に注目

  • サンプルの時間は一般的には2時間、あるいは自発的なコミュニケーションが50回観察されるまでを、目安に(ふつう、年1回か2回とれば十分)
  • いくつかの異なった文脈での観察が重要

4章コミュニケーション・サンプルの分析

コミュニケーション・サンプルの主たる目的は、生徒の現在のスキルについての情報を集めることである。(p.50)

  • セマンティックカテゴリーの乱は言語の場合のみに使い、主たる単語がコード化される
  • サンプルのまとめとしてコミュニケーション評価サマリーへ記入する
  • 評価サマリーでは、次元ごとに、汎用可能なスキル、限定的なスキル、観察されないスキル、適用なしなどを記入(あくまで既習得スキルの分析が主眼)

5章 ゴールの設定

  • ゴール設定には3つのレベル:
  • 長期的見通し、実際には外れることもあるし、親と専門家で食い違うこともままある
  • 中間的ゴール: 教師と親にプログラムの優先順位をつけてもらうのもこのレベル
  • 当面の目的レベル
    1回かそれ以上のほんの何回かの指導を通してすぐに成果が見込まれそれが測定可能な特定の達成課題として明示することができるものである。82
  • 1度にひとつの次元を教えていく。複数の次元を同時には教えない
  • コミュニケーションの代替は複数あっても良い(たとえば、絵カードとサイン言語)という研究もあるようだ

6章 家庭における評価と優先順位

  • 学校の補足的情報として家庭での評価を用いる
  • 両親が何を優先しているかを知ることにもなる
  • インタビューからの評価サマリーへの記入(学校と家庭の現在の水準を包括的に評価)
  • ここまでの評価のプロセスのまとめ:
    1. コミュニケーション・サンプルを取る。
    2. 使用されるセマンティック・カテゴリーに従って、サンプルを分析する。
    3. 使用されるコミュニケーションの昨日に従って、サンプルを分析する。
    4. 文脈、形態や単語のまとめに沿って、コミュニケーション評価サマリーに情報を集約する 5.ゴール優先順位記入用紙を用いて、とりあえずゴールを決める。
    5. 家庭における評価インタビュー用紙を用いながら、両親とのインタビューを進める。
    6. 両親と教師はそれぞれのゴールについて話し合って検討し、次年度のためにゴールを絞っていく。(p.118)

7章 指導目標の選択

  • 指導目標は、毎日の指導活動の基本
  • ゴールを達成するために、一つずつ乗り越えるステップの設定が目標設定
  • 原則は現在の自発するスキルをベースに設定
  • 他の4つの次元で習得しているスキルを調べて設定
  • 日常環境で機能する有益なものを設定
  • 最初の目標を設定したら、それを拡張・発展させてゴールに向けていく
  • 後半は具体例の紹介

8章 いろいろな教育方法

  • 教育場面として、構造化された指導、偶発的指導、環境を利用する方法(教師が機会を作り出す)
  • 目標の達成基準の設定を事前にしておく
  • 進捗の確認としての記録は、プログラム変容の基礎資料、周囲との共通理解、教師のやる気の維持などに有効
  • 新しいスキルの導入時には最も詳細な観察が必要(プロンプトの種類も服じめて)
  • 同じ目標を続けて指導する際は、ふつう観察の頻度を減らせる
  • 偶発的指導など集中的でない場合は頻度の記録が適切

集団指導

  • 集団指導の利点は、生徒の発達促進と教師の効率的な時間利用
  • 集団指導の問題点は、1対1の学習が容易には般化されないこと、個個に応じた目標設定の必要があるが集団活動とのバランスをとる難しさ、自閉症の行動上の問題への対応が個別指導場面よりも難しいこと、進捗の観察の難しさなど
  • 近くに他人がいてもOK → クラス集団でも混乱しない → 集団環境で教師に注意を払ったり、適切に反応したり → 仲間を意識したり行動模倣 → 相互作用

親との協力

  • 評価の段階から子どもの専門家として協力
  • 家庭での指導カリキュラムは、毎日のコミュニケーションスキルの向上という点での長所
  • 学校で獲得したスキルを新しい場面で活用という点でも効果的
  • 話し合いの機会を定期的にもつことが、学校・家双方のプログラムの効果を促進

9章ゴール達成への指導活動

  • 活動例の紹介がメインの章
    5つの次元でそれぞれの指導お活動例が提示されており、生徒に合わせた活動の個別化の手順の具体例が示されている

自閉スペクトラム症と視覚的探索課題と

視覚的探索課題(visual search task)をASD児者対象に行った文献についてのメモ。抄録読んでパラパラと図表を眺めただけのものがほとんどだけど。

Plaisted, O’Riordan, & Baron-Cohen (1998)

直接的なのはこれが最初かな?特徴探索と結合探索で、ASDは結合探索であまり遅くならなかったというもの。

https://www.ncbi.nlm.nih.gov/pubmed/9690940

O’Riordan, Plaisted, Driver, & Baron- Cohen (2001)

同じ研究室のさらなる実験でも視覚探索強いとの話。

https://www.ncbi.nlm.nih.gov/pubmed/11424657

O'Riordan & Plaisted K.(2001)

それらの結果が生み出されるメカニズムはなんだろねーって研究。enhanced ability to discriminate between display itemsが原因だとのこと。

https://www.ncbi.nlm.nih.gov/pubmed/11765744

O’Riordan (2004)

同様の結果が得られるか、大人を対象に拡張したもの。同じような結果になったとの報告。

https://www.ncbi.nlm.nih.gov/pubmed/15358868

Jarrold, Gilchrist, & Bender (2005)

「X」とか「Y」とかの文字じゃなくて、ピエロの画像みたいなものでもやられている。

https://www.ncbi.nlm.nih.gov/pubmed/15985068

Rinehart, Bradshaw, Moss, Brereton, & Tonge(2008)

「復帰の抑制」(inhibition of return)という概念があって、これは注意が最初に向けられていた場所から他の場所に移動するともと注意があった場所や物体には注意を向け直しにくくなることが知られているのだけれども、この現象を切り口に視覚探索の結果を検討したものもある。

https://www.ncbi.nlm.nih.gov/pubmed/18445734

システマチックインストラクションに関して

ジョブコーチや職リハ界隈で名前は聞くのだけれど、どういう出自を持つのか知らなかったのでネットで見れる文献を中心に調べてみた。

『職業リハビリテーション』の論文より

『職業リハビリテーション』というジャーナルに「ジョブコーチの援助技術―システマティック・インストラクション―」というそのものずばりの短報を見つけた。

ジョブコーチの援助技術― システマティック・インストラクション―

それには、次のように書いてある。

米国全体でどの程度普及しているかは明らかでないが, RRTCと関係の深い援助付き雇用実施機関では 多くのジョブコーチがシステマティック・インストラクションを訓練に取り入れていた。(p.74)

RRTCというのはこの論文の著者が研修を受けたヴァージニア・コモンウェルス大学リハビリテーション研究研修センター(Virginia Commonwealth University Rehabilitation Research and Training Center)のことである。

この短報ではRRTCの実務マニュアルの内容を参照しながら、システマチックインストラクションを解説している。詳しく知りたい人はそのマニュアルを参照せい、ということなのでネットで探して見る。

RRTCのマニュアル

よく分からないけどpdfで落ちていた。1986年の古い方。

The Supported Work Model of Competi- tive Employment for Citizens with Severe Handicaps: A Guide for Job Trainers ※pdf注意

さて、この中ではsystematic instructionという語そのものは3度しか出てこないものの、その考え方はしっかりと明記されている。

systematic instructionは初期の訓練・スキル獲得(initial training and skill acquisition)という節で次のように書かれている。

Once a job/task analysis has been completed and the job trainer is comfortable with the daily work routine, systematic instruction of job skills to the client should begin. This phase of behavioral training is based on establishing the following procedures:
1) Determine effective reinforcers, preferably using only naturally occurring ones such as social praise. Use as sparingly as possible since few reinforcers will be available after the trainer has faded his or her training.
2) Choose prompting techniques that allow the client to learn the job correctly from the beginning.
3) Determine recording procedures for tracking independent performance and work rate.
4) Increase the rate of work once the quality of work is acceptable by company standards.
5) Fade your instruction slowly so that the client gradually begins to perform the job independently. (p.63)

いわゆる行動分析的な強化子、プロンプト、データの記録、フェイディング等を援助付き就労の枠組みの中で体系的に活用する方法がシステマチックインストラクションとして紹介されている。

日本語で紹介されるものとの違い

このマニュアルを読むと、日本語でシステマチックインストラクションが紹介されているときとの違いというのも感じた。

たとえば、システマチックインストラクションを日本語で検索するとプロンプトの階層のみを紹介した、次のような解説を見る。

「システマティック・インストラクション」 それは、指示の階層を示しています。
1)言語指示
2)ジェスチャー
3)見本の提示  
4)手添え
介入度は低い方から1、2、3、4と高くなります。   

他分野の良い技術も使おう(システマティック・インストラクション)

このような捉え方をしている例はよくお目にかかる(し、わたしもそういうものだと思っていた)。次のサイトも似たような形でプロンプトの階層性にその焦点をあてている。

システマチック・インストラクション1
ジョブコーチ概論 ※pdf注意

一番最初に紹介した論文ではマニュアルに沿って紹介されていたように思うが、日本に輸入され実践される際に、インパクトがあるプロンプトの階層のイメージが強く印象付けられ、システマチックインストラクションに関するその他の部分が忘れられていったのだろう。(ある技術が伝播する際にこういうことはよく起こることだけど・・・)

時間があればよく見るピラミッドの図の初出がどこかも調べてみようと思う。

関連記事【 9月13日追記】

ちょっとした続きがあります。

nekomosyakushimo.hatenablog.com

ターミナルからPsychoPyを動かす

先日パソコンを買い換えたのだがそれに合わせてもろもろの環境設定とかも新たに行った。

その一環としてPsychoPyをスタンドアロンのアプリでなく、ターミナルから動かすように設定したので、その流れの覚書。使っているのはMacBookPro13.3 でTouchBarなしのモデルで、OSはHigh Sierra 10.13.3です。

Homebrewを入れる

PsychoPyはPython上で動くものなので、まずPythonを入れないとお話にならない。Macにはデフォルトで2系のPythonが入っているが、PsychoPyとかに使うのはそれとは分けたかったので新たに3系のPythonを入れた。

パッケージ管理ソフトを使うと色々と楽チンということらしいので、そのうちの一つであるHomebrewというものを入れることにする。

入れ方は簡単でHomebrewのサイトよに行くと親切丁寧にコマンドが書いてある。それをコピペしてターミナルに貼り付けるだけで大丈夫。

ちなみに、Homebrewとはそもそも何なのかということについては、次のサイトが詳しい。

homebrewとは何者か。仕組みについて調べてみた

3系のPythonを入れる

Homebrewを用いてPythonをインストールする。ターミナルでbrew install python3と打つだけでインストールされる。簡単。

[覚え書き] Pythonの環境構築について

ターミナルでpython3と打って、インタラクティブシェルが起動されれば無事にインストールされている。quit()インタラクティブシェルが終了する。

pipでPsychoPyをインストール

pipというのはPythonのパッケージ管理用のシステムでPython3をインストールすると勝手に付いてくる。パッケージをいちいちその配布サイトに行かなくとも、コマンドを打つだけでインストールしてくれるスーパー便利ソフトである。3系のPythonのパッケージ管理はpip3 install {package}で行う。その他のコマンドは先ほどのリンク先を見ると詳しく書いてある。

昔はPsychoPyをpip経由でインストールしても、全ての依存するパッケージが集まらなかったのだが、公式のサイトを見るとver 1.90からpip経由で大丈夫になったようだ。

Using pip install psychopy now installs all the necessary dependencies (on either Py2 or Py3)

https://github.com/psychopy/psychopy/releases

ただここでは、3系の方に入れたいのでpip3 install psychopyと打つ。関連するパッケージをまとめて入れてくれる。わたしがやったときは、パッケージをインストールする権限がうんちゃらかんちゃらでエラーを吐いたのでsudoを前につける必要があった。

ターミナルから実験プログラムを起動

実験のコードが入っているディレクトリまで移動して、python3 {experiment.py}で無事に実験が動くはず。

なお、スタンドアローンのPsychoPyだとMonitorCenterというところからモニターについての情報を編集して、そこで設定したモニター名を指定すれば良かったが、ターミナルからだとMonitorCenterは使えない。PsychoPyの公式サイトによれば、そういう場合はpsychopy.monitorsというのを使って諸々を設定しなさいとのことである。

変なメッセージが出た場合

ちなみにわたしの場合、次のような謎のメッセージが出た。

ApplePersistenceIgnoreState: Existing state will not be touched. New state will be written(以下略)

プログラム自体は別に問題なく動作するのだが、毎回出るのはうっとおしいので調べてみると次のページがヒットして、言う通りにしたら変なメッセージは消えた。

https://stackoverflow.com/questions/18733965/annoying-message-when-opening-windows-from-python-on-os-x-10-8

何か問題があったらまた戻そうと思う。

因子分析について

心理尺度のつくり方

心理尺度のつくり方

上記の本に次のような記述がある。

因子分析は半世紀の歴史を持つが, 変量が1つか2つ追加されるだけで因子分析結果は大きく影響されるし, どの回転基準を使うかによって因子負荷量が左右される。数理的センスに加えて, 文学的・直感的センスも必要である。厳密な科学的方法ではないので, 分析結果を鵜呑みにしてはいけない。(p.82)

某所で「因子分析は文学だから」というような話を聞いたのを思い出した。