23 6月

Stataで連番の変数同士の処理を繰り返し行って行列にスカラー値を格納し,その行列の要素の値を条件に従って変換する方法

Stataで,うまいやり方がわからず四苦八苦したので,また後にも役つはずと思うし,参考にすることも多いと思うので,載せておく.

連番となっている変数 x1, x2, …, x10 をループを使って総当たりにして,
たとえば,Wilcoxonの符号検定(signrank)を行って,そのz値を10×10の行列 Z に格納する.

matrix Z = J(10, 10, .)

forvalues i=1/10 {

forvalues j=1/130 {
quietly signrank x`i’ = x`j’
matrix Z[`i’,`j’]= r(z)
}

}

ここでのポイントは,signrankによってz値がスカラー r(z) として吐き出されるので,それを行列 Z の適切な場所に格納することである.

さらに,行列Zの各要素 Zij において,値が1.96より大きい場合に,その要素を1に,1.96以下の場合に,その要素を0に変換する.
(細かいことだが,以下の例では,欠損値は欠損値のままとし,対角要素は0とすることにする.)

matrix Z2 = Z

forvalues i=1/10 {

forvalues j=1/10 {

if Z2[`i’,`j’] <= 1.959963984540054 {
matrix Z[`i’,`j’] = 0 }
if Z2[`i’,`j’] > 1.959963984540054 {
matrix Z[`i’,`j’] = 1 }
if Z2[`i’,`j’] == . {
matrix Z[`i’,`j’] = . }
if `i’ == `j’ {
matrix Z[`i’,`j’] = 0 }

}

}

ここでのポイントは,matrixを変換するときには,変数の値を変換するreplaceのような関数は使えない.
行列の要素を変換するには,上述ようなやり方が有効である.

14 5月

『AI vs. 教科書が読めない子どもたち』を読んで,はたと思ったこと

新井紀子さんの『AI vs. 教科書が読めない子どもたち』(東洋経済新報社)が,評判である.しばらく前に買っていて,最近ざっと読んだ.

私自身は,AI研究者ではないが,この領域の知人も多い.また,AI研究者ではなくても,プログラミングなどはそれなりに経験してきているので,ある程度わかることもある.前半部分のAIができることとできないことについては,さもありなんと思いながら読んだ.

ふと思い出したのが80年代後半の学生時代に,何かの授業でやったPrologである.あれを触った感想として,こいつは,誰かが(とにかく自分じゃない)一生懸命に鍛え上げれば偉くもなるのかもしれないが,基本的には究極のバカではないかと思った覚えがある.

基本的に,現代のAIも同じようなものなのだなという,失望に似た感想を持ったのだった.

後半.現代の教育のあり方について独自の調査をふまえつつ論じている.ツイッターでは,この部分に対する社会科学者からの批判があるようだが,私自身は,粗っぽさはあるものの,粗さについては,気になる人が指摘したり,自分で何かやってみればよいと思うので,それほど気にはならなかった.

むしろ,現代の教育について非常に示唆的な部分があるように思われた.私は昨年4月に信州大学人文学部から近畿大学総合社会学部に移った.昨年度は,教育に携わりつつ,どのくらい学生の質に違いがあるのかを把握するように心がけた.たとえば,講読の授業では,前任校でやっていたように,事前に章の「まとめ」を提出するように求めてみた.すると,現任校では,まとめがまとめになっていない学生が続出することに気づいたのである.前任校ではこのレベルはなかなったなと思ったのである.そして,新井さんのこの本を読んで,合点がいったのだ.「そうだ,彼らは読めていない(理解できていない).」改めて,まとめを読んでみると,全体を適度に縮約したまとめになっておらず,パッチワークのように,部分的に縮約されているが,全く何も触れられていない部分が存在するのである.しかも,どうでもよいようなところは含まれているのに,重要な部分が抜け落ちていたりするのである.なるほど.新井さんの指摘をふまえて考えると,たぶんこういうことだろう.すなわち,どうでもよいようなところはわかりやすく,彼らもそれを適度に縮約できる.しかし,肝心の重要な部分では,それまでのさまざまなことがらを総合的・論理的にまとめて中心的なステートメントが形成されているが,そのロジックが難しくて理解できないのかもしれない.

先日,講読の授業のさいに,学生にそのことを指摘してみた.「一度読んで理解できなかったときに,諦めてしまっていないか」と.「難しいと思うけど,その部分をもう2,3回読んでみな」と.「一番肝心なところをわからないからといってスルーしとったら,賢くなられへんで」と.学生の表情を見ていると,痛いところを突かれたみたいな顔をしたように見えた.次回からは,少しでもパッチワークが改善されるのではないかと期待している.

ともあれ,これだけ示唆を与えてもらえれば,十分に読んだ価値はあったなと思える一冊であった.