猫も杓子も構造化

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

ベイリー・バーチ『行動分析的"思考法"入門ー生活に変化をもたらす科学のススメー』

行動分析的“思考法

行動分析的“思考法"入門―生活に変化をもたらす科学のススメ


某所でABA的なお話をする機会を頂いたのでそれの参考になるかと思い読んだ。

本書で扱われるのは「行動分析家のように考える」ことを指す行動分析的思考である。ABAの専門家である2人の著者が、行動分析家によく寄せられる50の質問に答える形で、行動分析家はどのように考えているのかを解説していくスタイル。学術的な書物という訳ではないが文献等はしっかりとしており信頼できる書物である。訳も良く非常に読みやすい。

本の形式上、ABAの知識を体系的に扱っている訳ではないので、ABAにこれから入門するという人は、何か別の入門書を読んでから読むと良いのかもしれない。「この本の使い方」というページ(p.xviii)にも書いてある通り、行動変容法や応用行動分析の講義の「副読本」という位置づけがピッタリである。学んだ知識を違った角度から見つめ直す機会になるので勉強になる。

読む中で、自分の臨床経験ではASD児者へと言葉を教えることにあまり関心は無かったので学んで来なかったが、一応ASDを専門に学んでいる身としては、『わが子よ、声を聞かせて』とか、ロヴァースの一連の研究を読んでおいた方が良いのかもしれないと思った(その内容に賛同するかは別としてABAとASDへの療育の関係性を理解するということで)。

それと、監訳者のあとがきの一部を紹介しておこう。心理学を学ぶものとしては考えさせられることが多い。(関連する話としては『心理学評論』の2016年の特集号)

昨今、実験心理学は危機にあると言われています(実は始まってからずっとなにかしらの危機にあるように思えるのですが)。不適切な研究実践や統計解析、屋上屋を重ねるような仮説構成概念の濫用などのせいで、再現不可能な研究成果が多く存在することが明らかになってしまったのです。ということで、心理学は様々な反省を迫られることになりました。それに対して、行動分析学はどうでしょうか。行動分析学は、仮説構成概念を使用せず、環境と行動の相互作用をそのまま捉えようとします。あえて平たく言ってしまえば、「理解しやすくするためのウソ」を極力使いません。(p.200)

「理解しやすくするためのウソ」を全く使わないということは無理だろうけど、ウソをついているという自覚を持ってその限界を意識するようにはありたいと思う。


【ABAへの体系的な入門書】

行動変容法入門

行動変容法入門

  • 作者: レイモンド・G.ミルテンバーガー,園山繁樹,野呂文行,渡部匡隆,大石幸二
  • 出版社/メーカー: 二瓶社
  • 発売日: 2006/01
  • メディア: 単行本
  • クリック: 3回
  • この商品を含むブログ (1件) を見る

運動誘発盲

運動誘発盲(motion induced blindness)と呼ばれる現象がある。

百聞は一見にしかず。次のサイトの画像を見てみると良い。

Motion-Induced Blindness

真ん中の点を注視し続けると周りにある物体が忽然と消えてなくなってしまうのだ。
なにこれこわい。

田村・石隈『石隈・田村式援助シートによる実践チーム援助』

石隈・田村式援助シートによる実践チーム援助―特別支援教育編

石隈・田村式援助シートによる実践チーム援助―特別支援教育編

仕事の都合で読んだ。

最近は、自分自身が直接的に支援を実施することに加えて、教員や職員など支援者を支援する間接的な支援ということも行っている。その中で、チームとして支援を行う仕組みづくりの重要性を認識するようになり、関連する分野に手を出している。

通常の小学校・中学校・高等学校における特別支援というのは基本的にリソースが限られている。ソフト面で言えば、特別支援教育に詳しい教員がいる場合もあるが、その専門性を持った人材が必ずしも校内にいる訳ではないし、職員が個別の支援や配慮を行える余裕は学校によって違いがある。ハード面でも、利用できる教室・教材等学校によって違いがある。

そこで今あるリソースが学校内のどこに存在しており、どのように活用すれば良いのかということを整理する必要性が出てくる。校内にないのであれば地域のどこに頼れば良いのかを検討することになるだろう。

本書では、それらの情報を整理するワークシート、そして実際の支援においてそれらのリソースをどのように活用するかについての共通理解を図るワークシートがついており、それらをコピーすればそのままチームを機能させるための流れがつくれるようになってくる。

「チーム学校」という言葉とともに、外部人材の活用が近年言われるようになったが、それらをコーディネートする知恵の蓄積がないと、チームとして機能することはないだろう。特別支援教育コーディネーターの先生や、支援学校で地域支援にあたっている先生は読んで得るものが多いと思う。

文字への注視を促す支援は

自閉症児・知的障害児における文字への注視を促す支援教材に関する視線分析研究

文字への注視を促す支援方法の違いを視線計測によるデータから検討した論文。自閉症児23名、知的障害児12名を対象に、指示棒、アンダーライン、音声の3つの支援方法と、教材の提示のみの4条件でデータを取得している。

結果をかいつまんで書くと

  • 指示棒やアンダーラインは文字への注視を促した
  • 支援の効果に、障害種による違いはなかった
  • 音声を用いた支援では視線の停留に効果はなかった
  • 挿絵があることで文字への注視が妨害されることはなかった

まぁこの4条件だとさもありなんって感じでしょうか。注視してほしいときは視覚的に示しましょうということで。

ダブルフラッシュ錯覚

ダブルフラッシュ錯覚というものがあるそうだ。これは、短時間点灯する光刺激に合わせて2回短い音を鳴らすと、実際には1回しか点灯していないのに点滅しているように感じられるものらしい。flush-beep illusionとかsound induced illusionと言う風にも呼ばれているみたい。

多分リンク先のものを見ていただいたほうか分かりやすいかな。

Sound-Induced Flash Illusion - The Illusions Index

ちなみに、光刺激が1回で音を2回鳴らす今みたいな錯覚をfission illusion(fissionは分裂の意味)と言い、光刺激が2回で音を1回鳴らす錯覚をfusion illusion(fusionは融合の意味)とか言ったりもするらしい。

Frontiers | The sound-induced flash illusion reveals dissociable age-related effects in multisensory integration | Frontiers in Aging Neuroscience


こういう視聴覚統合の錯覚の現象も研究されているので錯覚の世界は奥が深いですね。

ローズ『平均思考は捨てなさい』

平均思考は捨てなさい

平均思考は捨てなさい

統計関係でお世話になっている先生からの紹介で読み始めた。タイトルとかカバーとかは胡散臭い自己啓発本っぽいのだけれども、まともなことが書いてあるし、訳が良いのか大変読みやすい。著者の言う「平均思考」とは、平均値のみを基準にものごとを捉える思考の枠組みのことで、この考え方は私達の社会に深く根付いているが、その捉え方では多様で複雑な人間を理解することはできないと言う。

3部構成から成っており、1部では「そもそも我々の社会がどのように平均というアイデアを取り入れていったのか」についての歴史的考証がなされる。扱われる人物は、ケトレーであったりゴルトンであったりソーンダイクであったり、ちゃんと史資料に基づいて論じている。第2部では、平均思考に変わるものとして個性学を提案し、その3つ原則として「ばらつきの原理」「コンテクストの原理」「迂回路の原理」が紹介される。3部ではこの考えにもとづき、個性を活かすことに成功している企業や高等教育のプログラムが紹介され、平均思考と離れて個性を活かすための方法が説かれている。(ここらへんはやや自己啓発本感が出ている)

自己啓発的な内容にはほとんど関心がないのだけれども、自分が学んでいる心理学であったり、障害児者支援の実践と関連付けながら読んでいた。

2部で「コンテクストの原理」というのが紹介される。これは、人間の特性は環境によって変わるものであって、人間の内側に本質的な性格特性は存在しないという主張だ。コンテクストの原理に従えば、人間の振る舞いは「イフ・ゼン」として記述されるべきものであり、「▲▲な場面ならば〇〇」のように人間は状況によって特性を変えるということである。日本語で読めるものだと、サトウらの『モード性格論』であったり、もう少し専門的なところに行くと性格の一貫性論について書かれた渡邊の『性格とはなんだったのか』あたりで詳しく論じられていたと記憶している。

心理学で用いられる多くの尺度というものは構成概念を測るものなのだけれども、この構成概念はどれだけコンテクストの影響を考慮してきたかということをぼんやりと考えてながら読んでいた。状況を超えて一貫しない「心的な何か」を測っているのだとすれば、その尺度は一体何を測っているのだ、という話になってくるだろう。因子分析の結果、ほげほげの因子構造が確認されたといっているけど、その特性は本当にその人の持ち物なのか、というような話。

それとこの話を読みながら思い出していたのは、ASDの人の成人生活への移行のためのアセスメントであるTTAPについてである。TTAPでは直接観察/家庭/学校(作業所)という3つの異なるコンテクストにおけるスキルの達成度合いを評価している。「□□な(構造化された)場面ならば△△ができる」というのはまさに「イフ・ゼン」の考え方で、ASDの人は環境によってパフォーマンスが変わることに早期から気づいていたからこそのアセスメントの設計なのだろう。(その点で、従来の職業アセスメントはコンテクストの状況を無視して一次元的あるいは本質主義的な評価であったため、個性を生かすということにつながらなかったのだろう。)

「ばらつきの原理」というものも紹介されている。人はみなそれぞれ平均的であったり、平均から離れていたり特徴を持っており、個人のなかにもばらつきがある。そんな人間を多次元に測定を行なう(例えば、頭のサイズ、足の大きさ、手の長さ、指の長さ、などなど)と全ての面で平均的な「平均人」というものは存在しないということが明らかにされている。平均思考の問題点として、平均人に合わせた設計は「だれにもフィットしない」設計になってしまうことが紹介されていた。

学校教育のようなものを考えると、この「平均人」に合うようにカリキュラムが作られているので、結果として誰にもフィットしていない学校教育が提供されているのだろうと思う。算数が得意な人が必ずしも図画工作が得意な訳ではないが、多くの学校で一律に同じペースで硬直したカリキュラムで学ぶことを強いられる。UDLの人の主張なんかを思い出しながら、読んでいた。

読みやすくて結構考えるテーマの多い本であるので、タイトルの胡散臭さに惑わされずに読んでみると良いかもしれません。


【記事中で言及したもの】

「モード性格」論―心理学のかしこい使い方

「モード性格」論―心理学のかしこい使い方

性格とはなんだったのか―心理学と日常概念

性格とはなんだったのか―心理学と日常概念

Rによる楽しい自動処理(入門の入門編)

実験を実施した結果、一つのフォルダに複数の.csvファイルが保存されたりする。サンプルサイズが小さかったり、処理が複雑でなければそれぞれを開いて手作業でやっても良いが、数が多くなってくると大変に時間がかかるので単純作業は機械にやらせると良い。

例えばある実験を行い、個人からAという条件で10試行、Bという条件で10試行、合計で20の測定値が得られ、次のような表としてデータがあるとする。ファイル名は「test_被験者番号.csv」のような形で、outputというフォルダ内に保存され、「test_01.csv」から「test_50.csv」という名前で保存されているとしよう。

試行 条件 測定値
1 A 4.235843
2 A 4.942701
3 A 7.572396
18 B 2.082112
19 B 6.162287
20 B 3.459146

ここで、個人の条件毎の平均を知りたいとする。csvをエクセルかなんかで開いて関数で計算させるという作業でもできないことはないが、50人×2条件 = 100回も手作業でやるのは馬鹿げている。

とりあえず、データを読み込み平均を計算する部分を作ってみよう。測定値はすべて3列目に入っていて、1-10行目までがA条件、11-20行目までがB条件なので、それを指定するだけである。

dat <- read.csv("output/test_01.csv", header=T)

mean_a <- mean(dat[1:10, 3]
mean_b <- mean(dat[11:20, 3]

これをもとにして、読み取るデータファイルを次々に変えていきながら結果をベクトルに保存するようにプログラムを書けば良い。forとループ変数を使った繰り返しでファイル名変えていくことにする。

for(i in 1:50){
    id <- formatC(i,width=2, flag="0")  # 数字を桁を揃えて文字列に
    filename <- paste("output/test_", id, ".csv", sep="")
}

まず、ループ変数は数値データであるので、これをformatC関数を使って文字列に変換するとともに0を詰めた2桁になるようにしている。ちなみにwidthの値を変えると桁数、flagの値を変えると詰める文字の種類を選べる。次に、文字列を結合するpaste関数を使って読み取るファイル名を完成させる。引数のsepに""を指定することで結合するときに空白を入れずに結合できる。

あとは先ほどの関数の読み込み先を今作ったfilenameにし、計算した平均値をベクトルに保存していくだけである。

mean_a <- numeric(50)
mean_b <- numeric(50)

for(i in 1:50){
    id <- formatC(i,width=2, flag="0")  
    filename <- paste("output/test_", id, ".csv", sep="")
    dat <- read.csv(filename, header=T)

    # ここから中身の処理
    mean_a[i] <- mean(dat[1:10, 3])
    mean_b[i] <- mean(dat[11:20, 3])

}


今回は平均を求めるという簡単な計算だけであったが、中身の処理の部分を変えれば、分散だろうが回帰の結果だろうが何だって計算できるし、ミスも手作業より少ないであろう。

結果の図示や検定以外にも作業の効率化としても使えて、Rは大変便利ですね。