Kosugitti's BLOG

アンドロイドは正規分布の夢を見るか

この画面は、簡易表示です

研究メモ

文字数

小学生の頃の作文の授業。「たくさん書けば書くほど良い」というルールだった(と勘違いした)ので、遠足の思い出を書くときに、朝起きて玄関を出るまでのシーンの描画に原稿用紙11枚使った。流石にやりすぎたと思って,残りをぎゅっとまとめて13枚で完成させたら「バランスが悪い」と言われた。当然である。それでも,追加の原稿用紙を取りに行くたびに「すげえ」と教室がざわついたし,先生も分量があること自体は褒めてくれたので,自尊心が下がることはなかったが。

そのとき学んだのは、文字数を増やすなんてなんとでもなるということ。むしろ文章は短い方が良いと思ってる。その後,星新一にであって、ますむす短くしたいと思うようになった。「短くならない文章はない」である。

学生にも文字数で縛ることはしたくないし、なんなら短い方がいい、と教えている。ダラダラしたのを読むのは大変だからだ。
でも短いものが出て来ると、「短すぎるけど、これほんまにお前の言いたいこと全部詰め込んだか?ひょっとして長い文書けないのか?」という疑念が湧いてくる。まあ俺の言い方が悪いんだけどね。

テストの論述も、簡単に論じなさい、と言う。回答欄も小さめに設定する。すると中には,ほんの一、二文しか書かない人がいる。間違ってはないけど足りてもない。ぎゅっと情報の詰まった,必要最小限の分量を産出してほしいものだ。

(今朝の一連のツイートを加筆修正)



教育心理学会2016で発表してきました

文系学生に対する心理統計教育,回帰分析編で発表してきました。

高松の宿が直前まで取れなくて,どうしたもんじゃろのう(とと姉ちゃん)と思っていたところ,二週間前にギリギリで一泊だけ取れて。とりあえず予定通り出張することができまして。教育心理学会のWSで発表してきました。

他の先生方の発表を聞きながら,自分の教育方針は間違ってるんじゃないだろうか,うわー違うわーとか思いながら,ときおり「ごめんなさい」を挟みながら,でもいつも通り自分の言いたいことを言い放ってきました。でもこの学会,オーディエンスに大物がいるんですよね!一緒に発表した先生が「緊張してきたー」っていうから,緊張をもらっちゃったじゃないですか。直前にたべたうどん大(ふた玉)がきつかったようで,発表が終わるとそそくさとトイレに移動してもう一つの戦いをこなす脆弱っぷり。

とまれ,みなさんに何らかの刺激を与えられたら,これ以上ない喜びです。

方向性は間違ってはないと思う。教え方が上手くはないかもしれないけど。



BSJ2016参加報告

行動計量学会第44回大会@札幌学院大学に,フル参加してきました!

例年,初日午後のチュートリアルセミナーはスケジュールの都合で参加できなかったりするんだけど,今年はベイズの話だしいけるぞ!とおもっていたら台風10号さんが大接近。羽田まで飛ぶかな?と心配になって便を変えてもらえないか,生協や事務に確認したところ,「じゃあ今日の17時の便で前入りしなさい」とのこと。これが決まったのが13時頃。慌てて帰宅して着替えを詰め,大学で資料を印刷して前入り。幸いホテルは駅近で,予定していたところの前日分追加で取れたのでずっと滞在できるし,ホテルの地下が居酒屋でルームーキーを持って行ったら20%オフだったし,チュートリアルセミナーは翌日午後からだから,体は疲れたものの結果オーライかな。

チュートリアルセミナーでしっかり勉強し,夜は馴染みのメンツで寿司を食べる。二日目は非対称セッションで非対称飲み会に参加,三日目は懇親会+懐かしの顔も加えて二次会。とにかく胃と肝臓と,もちろん脳みそフル回転の学会活動でした。

こうやって書くと「夜は飲んでばっかりじゃないか」と思われるかもしれませんが,そこで研究のアイデアを話し合ったり,普段会えない人からアイデアをもらったりして,とてもいい刺激になるのですよ。さすがに最終日は体力が尽きかけたけど,気合いを振り絞って飲みに行ったもんね。

学会はいつも余裕のあるスケジューリングで,プログラムが並列すぎないように,詰め込みすぎないようになっているから,空いているところで月末締め切りの仕事を片付けたりすることもできて,ほんとにこの学会はいい学会です。

二日目の自分の発表では,院生の頃のような「完璧にわかりきってないのに勢いで発表しちゃった」感が丸出しの話で,いろいろな人に突っ込まれても「この本にこう書いてあるからやってみたんすよ」ぐらいのお返事しかできなかったし,「こういう研究がありますよね」とかいわれても「へえそうなんですか」みたいな返事になって,いやあ恥ずかしいやら疲れるやらでした。でも,

のびしろですね!

頑張りますよ。刺激をもらった分,頑張り甲斐があるというか,発奮してるね。これが本当に学会に参加するいい効果なんだと思います。

やるぞ。やるぞ。いろいろやるぞ(仕事ももらってしまったし)。あー楽しかった。

 

追伸 次来るときはジンギスカンとビールもやりたいな。いや,海鮮と日本酒もよかったんだけどね。じゃがいも焼酎もね。

追伸2 現在帰りの飛行機が遅延中。行きも帰りもいろいろある旅だな,今回は。



読書会を始めます

学内で,読書会を始めます。

[amazonjs asin=”4254122144″ locale=”JP” title=”はじめての 統計データ分析 ―ベイズ的〈ポストp値時代〉の統計学―”]
これをみんなで読んでいきます。

Q&Aを読み終わって,自分も何か始めないではいられなかった。半ば強引に,ゼミ生を誘い込みました。
私の考えでは,ベイズ統計学になると,もっと情報仮説が増えてくるはず。そうでなければならなかったんだ。そして,そういう仮説を思い付くには,帰無仮説を立てる訓練をしたように,統計的枠組みの中で仮説を発想する力が必要になる。

この本にあるように,発想を自由にできるようになれば,そのあとのアプローチは伝統的仮説検定の枠組みよりもずっと簡単なはず。
この読書会ではRプログラムを走らせたりすることをメインにはしない。ゆっくり,データとともに本を読んで,考える時間を持ちたいです。
一時間と短いですが,毎週ちょっとずつでも,できるだけ前に進んでいきたい。

読書会フライヤー



RstudioとパッケージとGithubと

大事な午前中がまるまる潰れてしまった。

Rstudioでパッケージを作るのが楽になったのはわかる。RstudioでGithubのバージョンコントロールができることも知ってる。ちょっとできる。Githubで文章を加筆修正したりもできる。

その組み合わせがうまくいかぬ。

1.RstudioでFile>New Project>バージョンコントロール>Git

とすると,GitとRstudioの連携はうまくいく。が,パッケージを作るプロジェクトの雛形は用意してくれない。ここでpackage.skeleton()が必要なのか?

2.RstudioでFile>New Project>パッケージを作る>Gitにもチェック

とすると,create git repositoryのチェックボックスをオンにするも,レポジトリが作られるわけでもなく,gitがうまくいかない。パッケージの雛形は用意してくれる。

3.本日最大の問題点

mkmeans関数というのを作り,mkmeansパッケージというのを作ろうとしたら,いちおうエラーなくbuildするところまではできるのだけど,build>library(mkmeans)をしてもmkmeans関数が見つからないって言われる。関数名とパッケージ名が同じなのがまずかったのか,と思って変えてみたけどうまくいかない。どこに問題が・・・?

 

自分の悩みを整理するために日記にしてみた。順番にやっつけていくか。まだ負けてないよ,奮闘記録ですよちくしょう。

 

ちなみに,成果はGistに置いた。

解決編

3.について

exportの指定をしておかないと,外から触れない=見えない,ということ。内部だけで使いたい関数は隠しておけということね。外に出力するわけではなくて,解放するって感じか。この指定をしておかないと,サンプルコードすら走らない。ちなみに@exportsとスペルミス?してもアウトでした。

1と2について

パッケージよりもGithubとの連携が欲しいので,1.のやり方(githubと連携してからスケルトン)のほうがいいと思う。2のやり方はgithubとの連携ができないもん。

余談

roxygen2ってすげえ。すげえ便利。すげえ楽。

できた。

https://github.com/kosugitti/imKmeans

まとめ

  1. Githubにレポジトリを作る
  2. Rstudioでバージョンコントロール・フォルダをつくる。Githubと紐付ける。
  3. package.skeltom()で雛形を作る
  4. 作って上げる。修正する。enjoy Git.


YUEP読書会夏合宿

 

読書会の夏合宿2015@雲仙温泉でやってきました。課題図書はこちら。

[amazonjs asin=”4906519148″ locale=”JP” title=”フーリエの冒険”]

めいめいが黙々と読みながら,自分の理解を深めるという,まさに読書会。

というのも,この本はわかりにくい所はほとんどなくて,頑張って読めば誰にでも微分,積分,フーリエ展開,フーリエ級数,オイラーの公式がわかるようになっている。ちょっとノリについていくのが面倒なところもあるけどw

もっとも,わかったような気になってしまうポイントもあって,今回の一番の山場はP.299の「複雑な波f(t)をベクトルと考えて」の一言。これがどうやって「考え」ればいいのか,ちょっとイメージをつかむのに苦労しました。

というのも,我々はベクトルといえば変数のこと,というイメージがあって,その中にはN人のデータが入っているはず。N次元ベクトル,と考えるのか,一変数のベクトルと考えるのか,というところのジャンプにもにた,メタファーがあるようで・・・?

 

 

2015-08-16 23.20.23

 

懐かしい卒業生にも会えたし,長崎ちゃんぽんも食べられたので,大変有意義な時間でしたことよ。



ベイズ塾例会にて発表してきました

ベイズ塾のミーティングがありました。

一人一つ,担当の「分布」を決めて発表するというお話。私はコーシー分布を担当。たまたま先日読んだ本にコーシー分布のことが書いてあったので,話が膨らんでよかったわ。

資料を公開しておきます。あんまり役に立つかどうかわからんけど。



2群の平均の差について,あるいはGitHubデビューの件

基礎からのベイズ統計学: ハミルトニアンモンテカルロ法による実践的入門に打ち震えたという話から,学部生の統計の授業でもベイズを紹介したくなった。

ということで,とりあえずt検定をベイズ流にはこうやりますよ,というコードをこの本の6章を参考に書いてみた。

ただ書き写すだけでは面白くないので,ここら辺でかねてより気になっていたGitHubでの関数公開といこうじゃないか。Rstudioでバージョン管理もできるらしいしね?

ということで,GitHubやそれとRstudioの連携などに悩まされながら,なんとか書き上げてみたものがありますので,興味がある人は寄ってってねー。

 

こちらです。>> ttest2stan関数



科学的実在論を擁護してきました;YUEP2015

土曜日はYUEP読書会でした。

課題図書はこちら。[amazonjs asin=”4815808015″ locale=”JP” title=”科学的実在論を擁護する”]

最初の方はこれまでの理論の整理,最後の方に著者の主張が来るんだけど,擁護するという著者の主張が「公理系=モデル=実在(世界)」という形にすると,モデルはいろいろ否定されても公理系は傷つかないからいいよね,というところ。

この話は,自然科学系の科学論,という意味では非常にわかりやすいんだけど,我々は心理学という変な領域をやっているので,イマイチしっくりこない。というのも,心理学はそもそもの成り立ちがモデル論的(S-Rの間に心というブラックボックス・モデルを仮定する)なわけです。だからモデルが乱立するし,モデルとデータの適合の程度を統計学で担保してもらったりする。あるいは,モデルを拡張したり批判するために,新しい現象を見つけてきたりする。だから,わざわざ「これからはモデルを挟んで,世界と公理系の間を橋渡ししたら?」という主張が,我々にとっては当然の前提で・・・という感じになってしまうというところだろうか。

ただ面白いのは,心理学は公理系を作ろうとしないんだよね。しない,というかできない,というべきだろうか。

で,読書会メンバーで,例えば認知心理学における公理系(どの認知心理学者も認めている前提)って何があるだろう,といいながら次の二つを思いついた。

  1. 人間は情報処理機械である
  2. 人間の情報処理能力(速度、容量)には上限がある

これに加えて,@FUJIKIDaisuke 先生が「活性化拡散理論はもう公理といっていいんじゃないか」と言ってくれました。ネットワークモデルか,なるほど。

残念ながら,特に私のいてる社会心理学においては,そういう話が全く出てこない。社会とは何か,社会と個人の関係はどうあるべきかについて,共有している前提ってないのかしら。以前「数理社会心理学の基礎」というエントリを書いたんだけど,こういう話を共有できればなぁと思います。

ところで,先日stanをつかってモデリングをしていた時に,不思議な感覚を覚えた。モデルを書いてMCMCしていたんだけど,そのモデルの書き方がシミュレーション研究のパラメタ設定をしている感覚だったんだよね。となると今後,階層ベイズが一般的な手法になってきて,「データを生成するモデル」を考える必要が出てくるだろう。そしてそれを考えていくと,そのモデルを支えている世界観=公理系が必要になってくるはず。そのことになって,やっとソシオン理論が日の目をみるのかな,と思ったりしています。

相対主義が身体化されきった世代の人間にとって,どの研究・モデルも「お前がそう思うんならそうなんだろう,お前ん中ではな」という考え方はもう当たり前,それ以外がイメージできないほどに身に染み付いているわけです。そうすると,ますます論理実証主義的な考え方の世代とは会話がずれていくなあ,と思いますが,そういう時代が来ると「モデルとそれを支えている世界」の適応範囲の広さや説得力が重要になってくるはず。

教養を積まないとなぁ。

 

追伸 ちなみに,ツイッター上で一番面白かった反応はこれ。


さすがやで…



ドミナンスデータの交互平均法

西里先生の本,「行動科学のためのデータ解析―情報把握に適した方法の利用」の5章からは順序評定データや一対比較データの双対尺度法の話で,データ行列をドミナンス行列に変換してから分析すると良い,と書いてある。
ここでいう分析は交互平均法のことで,交互平均法のコードは前にも書いたから,特に深く追求してませんでした。

最近たまたま指導学生が一対比較データを取ったので,これでやってごらんと本だけ渡して,交互平均法から何からやり始めたんだけど,ドミナンスデータ担ったところで結果が合わないとの相談が。んなわけあるかい,と計算してみたら,おや俺のコードでも結果が合わないw

ということで慌てて復習,再チャレンジしました。
ポイントはp.84にもあるんだけど,

  • 交互平均法の計算につかう行和・列和は,N \times nのドミナンス表の列和と行和にはそれぞれn(n-1)N(n-1)を入れる」
  • 交互平均法の計算につかう総和はNn(n-1)となる

ということ。そしてこれはテキストにはないことなんだけど,計算途中のベクトルを中心化する「平均値を引く」という作業が要りません。ドミナンス数の行和・列和は0なので,考える必要がないということみたい。

ということで,交互平均法のコードで平均ベクトルを引くところを取り除き(コメントアウトしてます),行和(mg.row),列和(mg.row),総和(mg.t)を計算し直したドミナンス表交互平均法のコードは以下の通りです。

[crayon-5ba3fb23791e8759178112/]

ためにしテキストに載っているデータを使って計算してみましょう。表5.1の,5人の評定者が8人の受験者を順序付ける(1位が1,8位が8)という例。

[crayon-5ba3fb23791fa230287902/]

[crayon-5ba3fb2379200108196260/]

これをドミナンス表に変える関数も作ったよ。

[crayon-5ba3fb2379206584472759/]

[crayon-5ba3fb237920b943222523/]

そしてこれを上で作った関数に入れます。

[crayon-5ba3fb2379212997374117/]

[crayon-5ba3fb2379216288192465/]

はい,第一固有値がでました。

という感じです。




top