猫も杓子も構造化

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

UDLについてのアレコレ

(追記:なぜか「学びのUDL」と書いていましたがそれじゃlearningが重複していましたね。正しくはUDLもしくは学びのユニバーサルデザインです。)

UDLという言葉がある。これはUniversal Design for Learning の訳語で、その意味するところを簡単に書くなら、平均的な学習者を対象とする融通の利かないカリキュラムで教えるのでなく、学習者に適した学び方は多様であるという前提にたち、カリキュラムに柔軟性を持たせて多様な学び方をカリキュラム内に組み込もうという考え方だと言える。

UDLはアメリカの教育関係の機関であるCASTというところが提唱していて、そこからガイドラインなどが出されている。

http://www.udlcenter.org/sites/udlcenter.org/files/UDL_Guidelines_2%200_Japanese_final%20(1).pdf

ざっと入門したい人は日本のUDL研究会というところが作った次の資料が役に立つ。

http://udl-japan.up.seesaa.net/image/UDLE383AAE383BCE38395E383ACE38383E38388E9858DE5B883E794A8.pdf

資料を読みながら、日本の教育事情(とりわけ通常学級)を考えた際にこの考え方はどの程度適用できるのかについて考えていた。UDLの考えを採用すると、例えば一つの国語の授業時間内で児童・生徒によって別の学習活動が展開されることになる。学び方を多様化させる訳だから当たり前の話である。そうなると「授業」という枠組みが大きく意味を変えるように思う。そもそも、同じ内容を同じように学ぶからこそ、同じ時間、同じ空間に「授業」という場を設定していたのである。その前提がなくなったのであれば、学ぶための枠組みは「授業」に限定する必要がなくなるように思うのだ。それぞれが別の学習活動に従事するのであれば、それは別の時間、別の空間で行われても一向に構わないはずであるし、そちらの方が柔軟な学び方が提供されるように思う。UDLの考え方を突き進めていくと、学び自体を個別化していく方向性が見えてくる。

とはいえ、現在の学校の諸制度はそのようにデザインされている訳ではないので、現実的な落とし所として、授業内にUDLの考え方(あるいはエッセンスや工夫?)を取り入れてみましょうというのが現状だろうか。あるいは、そうした現実的な制約を超えて、「同じ場」で多様な学び方を行なう必然性が存在しているのだろうか(資料からはそのような記述は見つからなかったが)。

書きながら、特別支援学校に勤務していた時の生活単元の授業のことについて思い出した。遠足の事前学習の授業で、言葉がある生徒には口頭の発表を求めていたが、言葉がない生徒が発表するときにはイラストをホワイトボードに貼るなどの発表方法をとっていた(その分準備物は多かったが)。認知的にも大きな差がある生徒を集団で授業するための苦肉の策であったような気がするが、表出のために多様な表現方法を認めているという点ではUDL的である。しかし、この場合にも「なんで集団でこの授業をするの」という問いに対する決定的な答えはなかったように思う。集団で授業を行う理由は、教員の準備の分担や教室の数などの現実的な制約によるものだったのだと考えている。

資料を読んでいて気になった点のもう一つに、UDLの根拠としている内容がある。ガイドラインには、基盤となる研究としていくつかの研究者の名前を挙げたあとに次のように書いてある。

ヴィゴツキーは UDLカリキュラムのキーポイントである、段階的な“足場”(※)の重要性を強調しています。これは、初心者だけではなく、高度な技能を習得する際にも、上達に応じて少しずつ外していくことができるという点で重要です。段階的に外していける足場(段階的支援)の考え方は、人類の文化と同じぐらい古いもので、歩くことや自転車に“補助なし”で乗ることを学ぶことから始まり、神経手術やパイロット養成の長期研修期間まで、ほぼあらゆる分野の学習に適用できるものです。(pp13-14)

これを読みながら、ヴィゴツキーの言っていた心的機能の社会的起源(social origin)というのが見事に換骨奪胎されて、援助がはずれていくその過程のみが抽出されているなぁということを感じた。精神間(interpsychic)だとか精神内(intrapsychic)だとか内化(internalization)などはまるで姿を消している。基礎となる研究が別の応用的な研究に取り上げられるときに、もともとあった意味を失い単純化されていくというのは往々にして起きうることだが、そのもともと意味していた内容に時折思いを馳せるようにしたい。



UDLをちゃんと学ぶならここら辺の書籍ですかね。

The Universally Designed Classroom: Accessible Curriculum And Digital Technologies

The Universally Designed Classroom: Accessible Curriculum And Digital Technologies

A Practical Reader in Universal Design for Learning

A Practical Reader in Universal Design for Learning

Pythonでお絵かき(エビングハウス錯視編)

以前にPythonでカフェウォール錯視の画像を作った。

nekomosyakushimo.hatenablog.com

今回はカフェウォール錯視に続いてもう少し複雑な感じのお絵かきを試みる。錯視界隈では有名なエビングハウス錯視でいってみよう。

エビングハウスが何だか分からない人はWikipediaを見るとよいでしょう。おそらく1度や2度は見たことがあるはず。

エビングハウス錯視 - Wikipedia

今回のポイントは中心円を囲む外側の円の位置情報である。三角関数を用いてxとy座標を求めるのだが、Python三角関数を使う際には、ライブラリのmathやnumpyが必要になる。今回は行列の処理が必要だったのでnumpyを使っている。

# 左の外円の位置情報
x = [0, 60, 120, 180, 240, 300]
x1 = np.radians(x)  # 弧度法に変換
x2 = np.cos(x1)  # コサインを計算
x3 = x2 * 120  # 外円の作る円の半径をかける
y2 = np.sin(x1)  # サインを計算
y3 = y2 * 120
pos1 = np.c_[x3, y3] + center1


考え方としては、中心円を囲む大きな円があるとして、三角関数を使ってその円周上の座標を求めている。Pythonでsinやcosの計算をする際には、弧度法で値を与えないといけないそうなので、radians()という関数で変換をしてから計算し、大きな円の半径をかけて中心円からの距離を求めている。最後のnp.c_()は、配列を列方向に結合する関数で、こうすることで[x座様, y座標]が6つからなる6×2の行列を得ることができる。

ここで得られた座標は外円の中心点の座標なので、円を描く際にはその座標から外側の円の半径を引いたものと足したものを用意してやれば良い。

完成品が次のもの。色はWikipediaに準じた。

f:id:nekomosyakushimo:20170906011955p:plain


使用したコードは次の通り。

# coding:utf-8
from __future__ import division
from __future__ import unicode_literals
import numpy as np
from PIL import Image
from PIL import ImageDraw

# 描画オブジェクトとか
image = Image.new("RGB", (640, 320), color=(255, 255, 255))
draw = ImageDraw.Draw(image)

# もろもろの情報
center1 = np.array([200, 160])
center2 = np.array([500, 160])
rad1 = 30
rad2 = 50
rad3 = 15

# 左の外円の位置情報
x = [0, 60, 120, 180, 240, 300]
x1 = np.radians(x)  # 弧度法に変換
x2 = np.cos(x1)  # コサインを計算
x3 = x2 * 120  # 外円の作る円の半径をかける
y2 = np.sin(x1)  # サインを計算
y3 = y2 * 120
pos1 = np.c_[x3, y3] + center1

#  右の外円の位置情報
a = [0, 45, 90, 135, 180, 225, 270, 315]
a1 = np.radians(a)
a2 = np.cos(a1)
a3 = a2 * 60
b2 = np.sin(a1)
b3 = b2 * 60
pos2 = np.c_[a3, b3] + center2

#中心の円を描画
draw.ellipse(((tuple(center1 - rad1)), (tuple(center1 + rad1))),
             fill=(228, 127, 66), outline=None)
draw.ellipse(((tuple(center2 - rad1)), (tuple(center2 + rad1))),
             fill=(228, 127, 66), outline=None)

#  左側周りの大きな円を描画
for i in range(6):
    draw.ellipse(((tuple(pos1[i] - rad2)), (tuple(pos1[i] + rad2))),
                 fill=(146, 164, 184), outline=None)

#  右側周りの小さな円を描画
for i in range(8):
    draw.ellipse(((tuple(pos2[i] - rad3)), (tuple(pos2[i] + rad3))),
                 fill=(146, 164, 184), outline=None)

image.save("ebbing.png")

世論調査と誤差

NHK世論調査で各党の支持率が公表されていた。

www3.nhk.or.jp

NHKのサイトによれば、NHK世論調査の標本サイズは3600人だそうである。

世論調査の手順 - 調査相手の抽出 | NHK放送文化研究所

3600人の抽出調査に対して誤差の範囲が次のように紹介されている。

回答 5/95% 10/90% 20/80% 30/70% 40/60% 50%
誤差 ±0.7% ±1.0% ±1.3% ±1.5% ±1.6% ±1.7%

この誤差がいったいどういう理屈で計算されているかというと、以前の記事で書いた信頼係数95%における比率の誤差の計算式

   \displaystyle n = \left( \frac{1.96}{E} \right)^2 p(1-p)

から計算することができる。

nekomosyakushimo.hatenablog.com


試しに、nに3600を代入して本当にNHKのサイト通りになるのかを確認してみよう。p=0.5(回答が50%)の場合、

   \displaystyle 3600 = \left( \frac{1.96}{E} \right)^2 0.5(1-0.5)

   \displaystyle 3600 = \left( \frac{1.96}{E} \right)^2 0.25

   \displaystyle 14400 = \left( \frac{1.96}{E} \right)^2

   \displaystyle \pm120 = \frac{1.96}{E}

   \displaystyle \pm E = \frac{1.96}{120}

となり、マイナスの場合は考えなくて良いので

   \displaystyle E = \frac{1.96}{120} = 0.0163333

が得られる。有効数字2桁になるように切り上げれば、母集団比率が50%であるときの誤差は1.7%程度ということである。つまり、NHKのサイトに載っている誤差とは、同じ抽出を繰り返した際に95%の確率で母集団からの誤差がその範囲に収まる値である。逆に言えば5%の確率で、1.7%以上の誤差も起きるということだ。

最初の方で紹介した誤差の表を見ていただけると分かるが、母集団比率がけっこう偏っていようが、1%程度の誤差はあるということである。そのことを鑑みると、世論調査で出てきた政党支持率のうち、差が1%に満たないようなもの(例えば、今回の希望の党立憲民主党の0.4%の差)は抽出における誤差の可能性を十分に考慮して見る必要があるだろう。

と、ここまで書いてきたのだけれどよくよく調べたら、月齢政治意識調査は電話調査であって上記紹介のものよりも少し小さいサンプルサイズであった。

政治意識月例調査|NHK放送文化研究所

今回の場合は、得た有効回答数が3119人だそうなので少しだけ誤差が大きくなりますかね。あと、上記の計算は回答率を全く考慮していないので(あくまで統計学的に誤差がどうなるかの計算なので)現実の結果解釈はより難しい話になりますね。

日本版WISC-Vは今

ブログへのアクセスを見ると、WISC-Vの動向が気になる人が多いようで、英語で書かれた資料をまとめた次のページへのアクセスが多い。

nekomosyakushimo.hatenablog.com


日本語版の開発状況がどうなっているのかというと日本文化科学社のサイトに次のようなページが出来ていた。

日本版WISC-V知能検査 予備調査・実施協力者募集要項|日本文化科学社

ページによれば、新しい検査内容のパイロット調査が終わり全国規模の予備調査がこの10月から開始されるそうだ。予備調査ということで、その結果を踏まえてその後の本調査に続いていくのだろうから、出版はまだ先のことになるでしょうか。進捗が気になる方は日本文化科学社のサイトをちょくちょくチェックしてみても良いのかもしれない。

LD学会所感

10月7日から9日の間に宇都宮で開催されたLD学会に参加してきた。きれいなまとめや読者に有益なまとめなどは目指さず(というか私には出来ませんし)、拡散した思考を書き散らかしておく。

親の会のシンポ、ローラクリンガー先生による特別公演、内山先生による教育講演など自分が参加したプログラムでは成人生活と教育の接点を考える機会が多かった。ローラ先生の講演では、”professional social skills”という言葉が印象に残っている。通訳の方はたしか「職業人としてのソーシャルスキル」みたいな訳し方をしていたと思う。日本の学校教育の文脈でソーシャルスキルが言及されるときは、「友達を作る」とか「相手の気持ちを考える」とかフレンドシップに関わるソーシャルスキルが想像されがちだが、ローラ先生の言うところによると職業人としてのソーシャルスキルは、困った時に支援を要求するなど職業生活で必要とされるソーシャルスキルのことを指すらしい。IQが高いASDの人でも、いつ、だれに、何を聞けば良いか分からず机の前で困ったままでいることが多い例などを挙げていた。同様な話は内山先生の講演や親の会シンポの中でも触れられていた。

ASDの人のフレンドシップに関連して、内山先生が講演の中で「少数の人との淡くて良好な関係を目指す」とのようなことをおっしゃっていたことも印象に残っている。この「淡くて」という部分がとても大切で、それが抜け落ちてしまうと、定型発達と同じような対人関係を目指すか、対人関係なんて一切いらない、の極端なものしか選択肢がなくなってしまい、ASDの人にとってはどちらもとてもしんどい選択肢になってしまうだろう。インタビューの中でASDの人も孤立・孤独は嫌だという話があり、「丁度良い」「心地いい」人間関係の構築を個別化された支援の中で見出していくことの必要性を感じた。

LD学会は学校の先生の参加者が多い。その関係もあってか参加したプログラムでは、成人生活で必要なことの議論に続き、それらをいかに学校教育の中で準備していくかというような話の流れが多かった。将来必要なことから逆算的に教育内容を検討するというのはとても重要なことに思うし、とりわけ成人生活との接続を検討する際には欠かせない視点だろう。ただ、それと同時に将来必要なことを前もって準備することには限界というものがあるだろうことも感じる。どういうスキルが必要になるかは、その人が置かれる成人生活の環境にもよるだろうから個別化・具体化が必要になる。しかし、個別化・具体化を学校教育の早期から行うことは現実には難しい側面もあるように思う(将来どんな進路になるかが小学1年生で決まっている例はまれでしょう)。となると必然的に、どんな進路になろうがある程度有益なスキル(例えば、日常生活的なものや生活習慣的なものとか)になるか、抽象的な目標(コミュニケーション能力(笑)や社会人基礎力(笑)のような)になりがちな気がする。

これは前々から言っていることなのだが、「前もって準備する」だけでなく、「必要になった時に必要な支援が受けられる」ということがあれば良いのにと思っている。学校教育の関係者はとかく「何かを教えて子供が変わる」ことにロマンを持っている人が多いのか、教育して子供を変えることが子供の幸せを達成するための最初の(そして唯一の)選択肢になりやすいように思う(それが仕事だから仕方ないけど)。でも、教育ってそんなパワフルなものじゃなくて、それこそ変えられないことの方が多いんじゃないの、って私はややネガティブに教育を考えている(だから、何もしなくて良いという話でなくて、変えられることに資源を重点的に分配しましょうという話。)。全部を教育の「中」でやりくりするのでなく、必要になった時に必要な支援が受けられるようになったり、一度失敗をしてもサポートを受けながら再挑戦できるような仕組みがあったりする社会の方がずっと素敵なものなのじゃないかと思う。支援というものを学校教育という学校を中心とした枠組みから考えるのでなく、社会の中で生活を営む本人を中心した枠組みで捉え、必要なサポートが「だれ」によって「いつ」「どこで」受けられるのかを整理して、サポートの適切・適当な分担を考えいくことが今後より必要となってくるのではないかと感じた。

他にも、考えたことは色々とあるけれどもとりあえず今日はここまで。


【やや関連すること】
nekomosyakushimo.hatenablog.com

必要なサンプルサイズの大きさは(実験編)

前回の記事で、調査を行い母集団における比率を求める際に、誤差を任意の範囲内に収めるための計算について書いた。比率については、

   \displaystyle n = \left( \frac{1.96}{E} \right)^2 p(1-p)

の式の、Eの部分に収めたい範囲の誤差を代入すると求まることが分かった。

式の上では理論的に求まったものの本当にこれで誤差が所定の範囲内に収まるのか試してみたくなるのが世の常である。ということで、毎度おなじみRを用いたシミュレーションである。

前回の記事で、95%水準で誤差を5%、3%、1%に収めたいときに必要なサンプルサイズは、上の式をそれぞれについて解いて385、1068、9604だと書いた。本当にこの通りになっているか確認してみよう。

まず、二項分布で乱数を発生させる。二項分布の乱数発生の関数はrbinom(n, size, p)である。引数には順番に「観察の回数」「試行の回数」「試行における成功確率」を指定する。今やりたいことに当てはめて考えると、nにはシミュレーションの回数を、sizeにはサンプルサイズを、pには母集団における確率を指定する。シミュレーションの回数はまぁ大体10000回もやればとりあえず良いでしょう。pには計算に用いた0.5を指定しておく。

dat <- rbinom(10000,385,0.5)
head(dat)
# [1] 207 190 198 193 203 185 
length(dat)
# [1] 10000

head関数で中身を除いた結果から分かるように、成功率0.5で385回の試行における成功数についてのデータがそれぞれ発生する。データの個数は当然10000である。

このままだと、比率のデータではないが、サンプルサイズで割るとこれが比率になる。で、ここで得られた標本比率が母集団の比率である50%より5%以上ずれているかを調べたい訳なので、45%より小さいあるいは55%より大きい標本比率の数を数えることにする。その数をシミュレーションの回数で割れば一体何%ぐらいが5%よりも大きな誤差であったかが分かるはずである。

dat <- dat/385
over <- length(dat[dat > 0.55]) + length(dat[dat < 0.45])
over/10000
# [1] 0.0509

結果を見ると分かるように、標本比率の内5%ほどのデータが5%より大きい誤差であることが分かる。逆に言えば、信頼係数である95%の標本は誤差5%以内に収まっているということである。

発生させた比率のデータのヒストグラムは以下のようになる。

f:id:nekomosyakushimo:20171001122622p:plain

正規分布っぽい形をしたこヒストグラムの両裾が全体の内の5%になる点が、0.45と0.55であるということになろう。

誤差の水準およびサンプルサイズを変えて同様の実験を繰り返し、ヒストグラムを出力したものが次のもの。

f:id:nekomosyakushimo:20171001123034p:plain

f:id:nekomosyakushimo:20171001123045p:plain

x軸の値に注目していただければ分かるが、サンプルサイズが大きくなるほど、誤差が小さくなっていくのが分かる。それぞれ何パーセントぐらいの結果が、指定した誤差の水準を上回っているかを確認すると、

dat <- rbinom(10000,1068,0.5)
dat <- dat/1068
over <- length(dat[dat > 0.53]) + length(dat[dat < 0.47])
over/10000
# [1] 0.0474

dat <- rbinom(10000,9604,0.5)
dat <- dat/9604
over <- length(dat[dat > 0.51]) + length(dat[dat < 0.49])
over/10000
# [1] 0.0515

やはり5%ぐらいが指定した誤差の水準をオーバーしている。そういう風に値を設定したのだから当然と言えば当然だろうか。微妙に5%とはずれているが、シミュレーションの数を限りなく大きくしていけばこの値は5%に限りなく近づいていくだろう(正確には5%より少しだけ小さい値。サンプルサイズの計算のとき小数点以下を切り上げたから)。

そういえばサンプルサイズの決め方に焦点を当てた本というのがいくつか出ていて、読もう読もうと思って放置していたのだけれど今度どれかを読んでみようかしら。

心理学のためのサンプルサイズ設計入門 (KS専門書)

心理学のためのサンプルサイズ設計入門 (KS専門書)

サンプルサイズの決め方 (統計ライブラリー)

サンプルサイズの決め方 (統計ライブラリー)

サンプルサイズの設計 (臨床家のための臨床研究デザイン塾テキスト)

サンプルサイズの設計 (臨床家のための臨床研究デザイン塾テキスト)

必要なサンプルサイズの大きさは

先日社会調査に関連した話の中で、「完全に無作為抽出が達成されてたとしたらサンプルサイズがどれくらい必要か」についての話になった。「今の首相を支持するかどうか」のようなシンプルな比率の調査をする際にどれくらいのサンプルの大きさがあれば信頼に足るのかを例に考えてみる。

仮に、現在の首相の支持率が母集団において0.3だとする。で、この母集団からn人だけ標本抽出をするのだが、それぞれの人の回答というのが独立していると考えると、これは B(n, 0.3)の二項分布に従うことになる。

二項分布の期待値は E(x) = npであるため、この場合の期待値は E(x) = 0.3nである。10人から回答を得るとすると、支持者は平均的に3人になるし、100人から回答を得るとすると、支持者の数は平均的に30人になる。(平均的にというのは、同じnで標本抽出を繰り返せば28人とか33人とか数値を得ることもあるけど、それらの標本値の分布の平均は30人になるということ。)

続いて二項分布の分散は V(x) = np(1-p)なので、この場合は V(x) = 0.21nになる。そして、その標準偏差 \sigma (x) = \sqrt{0.21n}になる。例えば、100人から回答を得たのであれば  \sigma (x) = \sqrt{21} = 4.582 となる。

さて今、関心があるのは支持率という比率であるので実現値をnで割ると、

 \displaystyle E\left(\frac{x}{n} \right) = \frac{1}{n}E(x) = p

となり期待値はpになる。

分散と標準偏差はどうなるかというと V(ax) = a^2 V(x)であるから、

 \displaystyle V(\frac{x}{n}) = \frac{1}{n^2}V(x) = \frac{np(1-p)}{n^2} = \frac{p(1-p)}{n}

 \displaystyle \sigma(\frac{x}{n}) = \sqrt{\frac{p(1-p)}{n}}

となる。

ところで、二項分布はnの数が十分に大きければ正規分布で近似ができるのであった。すなわち、標本から得られた比率 x/nは、近似的に N(p, p(1-p)/n)に従う(今求めた期待値と分散)。そこで、信頼係数95%で、

 \displaystyle \frac{\left| \frac{x}{n} - p \right|}{\sqrt{\frac{p(1-p)}{n}}} < 1.96

である。ここで、推定の誤差を | x/n - p |を一定の値E以内にしようとしたときに、 | x/n - p | = Eと置いて上の式に代入し、不等号を=にしてnについて解くと、

 \displaystyle \frac{E}{\sqrt{\frac{p(1-p)}{n}}} = 1.96

 \displaystyle \frac{E}{1.96} =  \sqrt{\frac{p(1-p)}{n}}

 \displaystyle \left(\frac{E}{1.96}\right)^2 = \frac{p(1-p)}{n}

 \displaystyle n = \frac{p(1-p)}{(\frac{E}{1.96})^2}

 \displaystyle n = \left( \frac{1.96}{E} \right)^2 p(1-p)

が得られる。このEに任意の値を入れることで、確率95%で誤差がEに収まるためのnを求めることができる。

ただ、計算のためにはpの値が必要なのだが、調査を行う前にはこのpが分からないのが普通である(分かっていたのならばそもそも調査などしない!)。 p(1-p)の取りうる最大値は0.25であるので、とりあえず p=0.5にして計算をすれば大きめに標本サイズを見積もることになるが安全だろう。

最初の例にもどり支持率を調査しようと思った場合に、誤差3%に押さえたいとする。Eに0.03を代入すると

 \displaystyle n = \left( \frac{1.96}{0.03} \right)^2 0.5(1-0.5) \simeq 1067.1

が得られる。すなわち、サンプルサイズを1068以上にすれば、95%の確率で標本から得られた支持率が、母集団における支持率と3%以上離れていないと考えることができる。

ちなみに誤差を5%以内にすると必要なサンプルサイズは385、誤差を1%以内に抑えようとすると9604必要になる。1%単位の誤差で必要なサンプルサイズは結構変わるものである。

ちなみにちなみに、大まかな支持率に当たりが付いているのであれば計算式の p(1-p)のとる値は小さくなるので必要な標本サイズも小さくなる。

【参考】
宮川公男 基本統計学有斐閣

基本統計学 第4版

基本統計学 第4版