草薙の研究ログ

英語教育関係。でも最近は統計(特にR)ネタが中心。

【宣伝】この学会シーズンでお話させてもらうこと

最近はなんでも広報やその創意工夫が大事だということなので,ここに,この春夏の学会シーズンでお話させて頂くことをまとめます(自分のメモがてら)。増えたら随時足していきます。

1. SONAS2017(5月に終了,早稲田大学

  • シンポジウム「英語学習者のパフォーマンスを考える」にて,シンポジウム登壇者として「言語指標の数理」と題したお話をしました。内容は,私の研究アプローチである,数理的アプローチという方法と言語指標研究についてでした。

   SONAS2017

 

2. 中部地区英語教育学会(CELES,6月25日,信州大学

  • 英語教育研究法セミナー「実証研究および実践研究の科学性」(藤田卓郎先生と一緒に):これまで「科学的」,特に「科学的な指導法」といった旗印のもとで進められてきた英語教育研究について概観して,これからの研究のあり方を議論したいと思います。私は実証研究についてお話し,藤田先生は実践研究についてお話します。
  • 課題別研究プロジェクト「英語教育における『エビデンス』:評価と活用」(代表:亘理陽一先生,提案者:寺沢拓敬先生,草薙,浦野研先生,工藤洋路先生,酒井英樹先生):英語教育におけるエビデンスについての研究報告ですが,亘理先生,寺沢先生,そして私がそれぞれ提案をした後に議論に入りますが,私のパートでは,質の高い教育的エビデンスを創出するためには,公共性の高い標準的測定モデルおよび共通的成果変数が必要であるという提案をいたします。

   大会プログラム – 第47回中部地区英語教育学会 長野大会

 

3.  外国語教育メディア学会(LET,8月4ー6日,名古屋学院大学

  • ワークショップ「外国語教育研究者のためのベイズ統計入門」;このワークショップでは,外国語教育研究に馴染み深いデータを題材として,ベイズ統計はどのようなものかをご紹介します。これは受講料と事前予約が必要なようです。頑張ってお話しますので,ぜひよろしくお願いします。
  • 一般研究発表「オンライン学習プログラムにおける単位取得困難学生の事前検知」隠れマルコフモデルによるライティング過程の把握とその形成的評価への応用」という2件の発表をします。

www.let2017.net

www.let2017.net

 

4. R Bootcamp

  • 8月に講師として登場予定です。Rを使った分析法についてみっちりとお話をする予定です。

www.rbootcamp.org

 

学会などでお会いできることがありましたら,ぜひお声がけください!

自分の居場所とラズベリー・パイ(2)

前回までのあらすじ

大学の小さな部屋にある,どでかいワークステーション,デスクトップPC,ThinkPadMacBookといったメジャーなノートPC,そういった電子機器に底知れぬ違和感を覚え始めた私は,自分が生まれた東北の自然,つまり自分の原風景には,シンプルさと複雑さが同時にあったということを思い出し,唐突にも今流行中のラズパイ(Raspberry Piを買えば自分は救われると確信した。これは倒錯に他ならないと気づいていても,私の足は出張の隙間に秋葉原に向かい,ラズパイを早速ゲットしてしまったのだが…

自分の居場所とラズベリー・パイ(1) - 草薙の研究ログ

 

そもそもラズパイってなに?

ラズパイは,簡単にいえば小型で低スペックなコンピュータ。低スペックといっても,モデルによっては,そんなに低スペックではない。たとえば私が買ったRaspberry Pi 2 Model Bは,そのCPUが組み込み機器などでもよく使われるARMアーキテクチャ(Cortex A7),RAMはIG。HDDの代わりにMicroSDカードを挿入する(大体4G以上の容量が必要)。電源は5V,1Aあれば動いてくれる(これなら大抵のモバイルバッテリーでもOK)。ちょっと前のスマフォくらい。

 

www.raspberrypi.org

 

ポートとして,USB×4,LAN,HDMI(miniではない),給電用MicroUSBがついている。大きさは,タバコくらい。もちろんBlutoothとかwifiアダプターはついていない。

こういったミニマルな構成で5,000円くらい。

これに給電がUSBなのでAC電源アダプター,映像はHDMI出力なので(テレビにぶっさせば映るが),まあレガシーになりつつあるVGA変換ケーブルとか給電用のUSBケーブルとかも全部入れてもこれくらいのサイズになる。

 

f:id:kusanagik:20170516133504j:plain

 

OSは,なんでも入れればできるらしいんだけど,基本はDebian系のRaspbianという独自OSを入れればいい。なんていうか,Debian系なので普通のLinux PCとして使える。このOSは,現在,標準的なブラウザとしてChromium,オフィススイートはLibreOfficeなどがプリインストールされているだけでなくて,Pythonなどといったプログラミング言語の開発環境,そしてなんとあの高価なMathematicaの1ヴァージョンがプレインストールされている。なって素晴らしいんだ。あとゲームとしてマイクラ(マインクラフト)も。もともとこのラズパイは子どもの教育用に売られているものだしね。デフォルトのデスクトップ環境がLXDEなので,自分にとっては日頃から使っているLubuntuと一緒。とても気持ちいいじゃないの(UnityなんてLinuxじゃない)。

早速繋いでみた

まあ,OSのインストールとか,設定とかは誰でもできるくらい簡単なので端折るとして,とりあえずこんな感じにつないでいけばOK。まんなかの基盤みたいなのがラズパイの本体。なんてかわいいんだ,こいつ。

 

f:id:kusanagik:20170516134156j:plain

 

電源をいれて,初期設定をすませれば,こんな感じで普通のデスクトップ環境(LXDE)が起動する。別になんの問題もつまづき点もなかった。なんか最近のOSヴァージョンは壁紙がきれいな写真になっているのね。ちょっと簡単すぎて拍子抜け感はある。正直,もっと手懐けるまでCUIで格闘したりするプロセスが欲しい。でも,まあこれは私にとってラズパイデビューなので,いきなり変なことするよりはこれでいいかな。

 

f:id:kusanagik:20170516134116j:plain

 

こんな感じ。素晴らしい。とっても自然な感じがする。これは私を攻撃してこないぞ。そしてなによりもちっちゃかわいいぞぅ,こいつぅ(よだれ)

自分の居場所づくり

基本はいつも使っているLubuntuと同じようにできるのですごく居心地がいい。

とりあえずLibreOfficeとかそういうのはいらない。そういうのは消しておくに限る。Chromiumもいらんちゃいらんけど,なにかのために残しておくとして,さしあたって自分には以下のような設定が必要だった。

日本語入力環境:fcitx-Mozc

なんかいろんな記事で,iBus-MozcとかAnthyをやっているのを見るけど,普通にfcitx-Mozcを入れればいいと思った。OSの表示言語はやはり英語に限る。

sudo apt-get install fcitx-mozc 

 とかやると,普通にfcitx設定とかでてくるので,これでGUIで設定してもいい。fcitxをLXDEでやるとインライン表示がかたつく,っていう症状はよくあるけど,これ普通に直せるよね。自分はUS配列でやっているので,USキーボードとMozcを2つ入れておいて,Ctr(またはAlt)l+`とかを切り替えキーに割り当てればいいね。

エディタ:emacsとgedit

エディタについては,最近はAtomって決めていて,これを入れたいのだけど,多分おもすぎて使いものにはならん。Atomは重い。なので代替案として自分はemacsとgeditを入れた。emacs懐かしい。

sudo apt-get install emacs

sudo apt-get install gedit

そういえば,LXDE環境だから,端末はLXTerminalだけど,gnome-terminalでもいいかなと思って入れてみた。自分好みのemacsの設定だけでも結構時間かかるけど。Markdownはharoopadでもいいかな。

RとPython

普通にインストールできるから入れる。Pythonは最初から入っている。Mathematicaも使えるので,計算関係は十分かな。

テキストブラウザLynx

最近のウェブサイトは重いし,広告がいちいちイラつく現代病なので,去年あたりからテキストブラウザを使っている(スマフォでも)。っていうかこうするとemacsを出ずにブラウジングできるし。古典的だけどLynxを入れた。自分の環境だと,結構文字コードとかはデフォルトで大丈夫だった(utf-8ね)。MacOSLynxやるとなんか文字コード結構めんどいのよね…。そんなことはなかった。

テキストメーラ:alpine

同様の理由で,メーラー雷鳥sylpheedとかもいいけど,ここは敢えてalpineをやる。alpineからgmailを見るようにしている。これでラズパイでメール業務できる。alpineの初期設定だけはちょっと備忘録(参考)。最初だけgmailから怪しげなソフトやめろとか怒られるのね。

smtp-serverにsmtp.gmail.com:587/tls/user=XXXX@gmail.com

inbox-pathに{imap.gmail.com/ssl/user=XXXX@gmail.com}INBOX

Pandoc

Markdownやhtmlを書くことが多いので。これも普通に入れられる。

 

だいたいこれくらいあったら,基本的な作業は一通りできそう。あ,そうだ,解像度はxrandrとかlxrandrとかやる必要もあるし,デフォルトではメディアプレーヤーがないので,audaciousとかVLCとかの定番を入れたりもした。まあでもこれはLinuxのいつもパターン。

 

結局私は救われたのか

救われたかはわからない。でも,大分ストレスはなくなったと思う。この小さいサイズのコンピュータは,私に底知れぬ違和感を与えることはないし,100均の小さい箱に全部突っ込んで運べるし,そしてなにより,ラズパイにあるシンプルさと複雑さ,そしてそれに心を踊らせていた自分を思い出させてくれるという点で,これ以上はない幸せを感じる。予定調和的に,多分私は救われた。

 

(続く)

 

次回,なんと(おそらく日本初)ラズパイで英語の授業を!?

 

自分の居場所とラズベリー・パイ(1)

私を死に至らしめる電子機器たち

ヴォオオオオオオオオオーン けたたましいファン音

毎日,私は私に割り当てられた大学の部屋に入ると,革のクラッチバッグ(鞄大好き)から,財布,携帯,タバコ,鍵束を取り出して,所定の網棚にセットし,ワークステーションの電源を入れる。おっさんがよくやるという非人間的なまでに固定化されたルーチンワークだ。

このワークステーションは,CPU: Xeon,RAM:100GB,HD:2T RAIDWindows 10ホスト,実際は大概仮想デスクトップでLubuntuを開いていることが多い)とかそういうものなので,起動すると,ヴォオオオオオオオオオーンとかそれはもうけたたましいファンの音が部屋に響き渡る。ワークステーションってのは最初からそんなもんなのだけど,これには正直鼓膜が破れそうだ。このPCは私には大きすぎる。身に合わぬものは持たぬことだ。

「このけたたましい音は,遠くない未来,きっと俺を殺すのだろうな」とか軽く文学を嗜む人になった振りをしてみたりもする。それくらい,この朝一のヴッホホーン(長いから短い呼び方に変えた)は結構くる。このヴッホホーンは,世のひとがよくそうするように毎日つけっぱなしでもいいんだけど,とにかく自分は帰るときには消すようにしている。このヴッホホーンの断末魔,「フォフォフォフォォォ…シューン」を聞くと今日も終わったと安心できるし,なんか生き残ったのは俺だ感があるから。ヴッホホーンからのフォフォフォォォ…シューン,これが私の1日の中で唯一特筆すべきことである。

フォーンという間抜けなファン音

なら別に,そんなたいそうなヴッホホーンをやめればいいんじゃないかと思って,i3,RAM 8Gくらいの普通のデスクトップ(OSはLubuntu)もあるので,それを使おうと思ったこともあった。しかしこいつも毎朝,起動ボタンを押すたびに,フォーン!とかいう最初の換気みたいなの(吹き抜け?)をしやがる。フォーンじゃねえよ。朝一でフォーンとかいわれる気にもなれっていうんだ。こっちは3コマとか4コマとか授業あるぞ。お前がやることといったら,フォーンっていうだけじゃないか,みたいな。

もういいや,ヴッホホーンもフォーンも,お前らのことは正直好きじゃない。そう思って,どうせ自分なんかPCで大したことするわけじゃないんだ,もうノートPCだけでいいじゃないかみたいな。ノートPCは,10年くらい前から大体レノボ製品(ThinkPadシリーズ,Yogaシリーズ)を中心に何台かもつようにしている。もうThinkPadだけでいいか。

ThinkPadの強そうな感じ

しかし,このThinkPadも,起動すると画面いっぱいにLENOVOというロゴがあがってくる。このロゴはなんていうか,すごく強そうだ。ロゴというかそれ以前に,筐体が黒くて,硬そうで無骨で,俺は戦うぞ!俺はやるぞ!みたいな言い知れぬ雰囲気がある。昔はそれがちょっと好きだったのかもしれないけど,三十路のおっさんは,これだけでももう気分が滅入る。

ThinkPadはダメだ。私はもう,正直なにとも戦いたくないのだよ。それに最近のThinkPadはTとかXとかの高級機でもなぜか赤茶げてきているのもいただけない。この赤茶げた色は,日に焼けた健康的な筋肉質の身体,それも戦士のそれ,を連想させる。…そんなものはダメだ。女性にモテそうな,エロく黒光りするマッチョイケメンのようじゃないか。一方,私は白豚だ。自分の惨め感を増やすだけだ。

MacBookの気高さ

そこで,ずいぶん長きに渡って敬遠していたものだけど,思い切ってMacBook Airなる筐体を試すことにした。さすがに今季のMacBookは小さくて無理,Proもそのバッテリーのコスパとかを考えるとAirがよかった。スペックからみてかなり安いし。

Apple製品はやはり上品で美観も整っている。しかし,この上品なMBA,開いた瞬間に曲線の美しいAppleロゴがでてくる。それだけでなく,なんか「じゃ~ん」みたいなキモい音もして(この音は私が大嫌いな,(a)仕事もできて,(b)容姿にも優れていて,そして(c)生活も充実している種の人間,を想像させる),キーボードのバックライトが後光の如く光ったりしている。

このAppleロゴの輝きやこのキーボードのバックライトの光は,絶対に私を焼き焦がすよ。眩しい,眩しすぎる。光を浴びると死ぬ吸血鬼のように,やはりApple製品には触れないようだ。私は,この下品な芸風を売りにしている。まさに,「お前みたいな下賤のものが触ってよいものではない」。そういわれているようだ。毎日がそれじゃ流石にこたえる。それに,第一,使い方がぜんぜんわからない。Mac OSは,apt-getじゃなくてbrewしろとかよくわからない。

もはや私には居場所がない

私の居場所には,もう耐えられるものがない。最近はスマートフォンも嫌になった。この太い指で押せるわけのないソフトウェアキーボード,5インチとか。片手でもつにはちょっときつい大きさ,中に入っているものも見てみても,Chromeとかいう怖いブラウザ,googleカレンダーとかいう拘束具,そしてgmailという恐怖。私のストレスの90%はgmail。残りの10%をChromeとカレンダーで占めている。大体それ以外は,本質的にはいらないものだ。いや,LINEがあった。これは去年教えてもらったのだが,家族と連絡を取るのに使っていて,今の家族(家内と母)にストレスはない。

しかし,Chromeを一度開こうものなら,目に入ってくるものはおびただしい数の広告,動画,写真,色。というか,情報,情報,情報。この情報の波はまさに自分を殺そうとしているように思えてくる。これがいやでいち早くSNSはやめた。最近のインターネットとは実に不思議なことで,必要な情報だけを得ようとして使っている道具なのに,必要な情報以外の情報の方が圧倒的に多い。この圧倒的な情報に,サルトルのような気分になってしまう。ゲロゲロ。多分,自分程度の情報処理能力じゃ,現代的な生活にはついていけないんだな。

うーん。…こんなはずじゃなかったのにな。不思議なものだ。色々と昔を思い出してしまったりする。

私は東北の農家に生まれたのだった。私が生まれ育ったところは,こんな壮絶に生きにくい世界じゃなかった。家には牛やら鶏やらなんやらがたくさんいて,敷地の池には鯉が泳いでいた。もちろん,犬や猫も兄弟同然だった。聞こえる音は甲高い機械音や,けたたましいファンの音ではなくて,家畜や蛙の鳴き声,鳶の甲高い声。風の音。風でなびく木の葉の音。地鳴り。そして,人の声。

新品のMacBookはアルミのような金属臭がする(それがいいらしい)が,私の家はサイロ臭かった。玄関を出てすぐ視界に入るパノラマの山は,日に日に姿を変えていったし,それを見て私は,ここはなんて美しいんだ,ここで何十年か生きて,そして死んで,いつかここの土が私を作ったように,ここの土に還って,それを何回も何回も繰り返そう,と心に誓った(私は大概話半分でちょうどいい)。私まで至る,血を共有する過去の男たちと同じように,ありきたりにも,山の神さまと私もそんな約束をした…はずだった。(あ,おおげさな言い方してますよ?)

そんな人生観とか,大自然の美しさ,などとはいわなくても…はじめてパソコンを触ったのはいつだったかな。まあ,冷静に考えれば間違いなく90年代だった。小学校にあるDOS/Vを触らせてもらったのだった。Windows 95は,小学校のとき買ってもらった。そこから,98,XPと触った。10代の最後だったか,今はなきSharpMebius,しかもムラマサを得た。当時のムラマサは,「開いてドヤ顔」できる製品だった。触っているだけで幸せだった。DOS/Vも,近づくだけで心が踊った。ブルースクリーンになったとき,それだけでハラハラ・ドキドキした。目の付け所がシャープだった。

今,どんな製品でもそんな気分にはならない。昔はあんなに大好きだったのに,今,電子機器は俺を精神的に追い立てるだけだ。

 

そんなことを思い出してたとき。

「…そうだ。昔はなんでもシンプルで,そして同時に複雑だったんだ!」

と思い出した。自分の居場所はシンプルで,そして同時に複雑でなくてはならない。シンプルさの中に複雑さがあって,複雑さの中にシンプルさがあった。シンプルなことを複雑にやっていたし,複雑なことをシンプルにやっていた。ああ,そうだ,今の自分の居場所に足りないのは,美としてのシンプルさと気持ちよさとしての複雑さだ。なにかわかったような気がした。これがGWくらいのこと。

秋葉原へ出撃してRaspberry Piをゲットせよ!

そうか,もしかしたら,私が最近気になっている一種のもの,たとえば,Raspberry Pi(ラズパイ)は,私の原風景にあるシンプルさと複雑さを兼ね備えているのではないか。ラズパイは,昔の私を取り戻そうとしてくれているのではないか。そんな発想に至った。飛躍どころのレベルではないことを,自分でもよくわかっている。唐突だが,でもこれ以上はない確信だ。そうだ。ラズパイだ。ラズパイで俺は救われるはず。

思い立ったら,吉日だ!ということで先週の日曜,秋葉原に出撃した。たまたまなにかで東京に用があり,その後空いた時間に秋葉原に向かった。

考えてみると,秋葉原は丸1年ぶりだった。東京に来るたび(今のペースだと年10回くらいある)に,靖国神社秋葉原に繰り出す。泊まるところは後楽園にある,安いホテルと10年前から決めている(今では常連になった)。

さて,私は駅につき次第,中国から来たであろう観光客に道を聞かれてもガン無視(厳密には中国語で返すと発音が下手なのか笑われる案件が続いて敏感になっているので,中国語でわかりません,ごめんとだけいってすぐ去る)で千石電商さんへ足早に向かった。千石電商さんの店舗に入ると,さっそくRaspberry Pi2 Model Bをマッハで手にした。ラズパイゲットー!!(5,000円くらい)

一通り,あきばお~さん,ドスパラさん,じゃんぱらさん,ソフマップ,インバースさんとか,そして色々専門店を周り,

  • Pi2専用ケース(500円,でもラズパイは裸でもいいよね)
  • MicroSDカード(8G, Class10でも今は1,000円切るくらいの相場)
  • HDMI-VGA変換アダプター給電付き(HDMI-VGA変換はたまに電力不足になるので給電つきがいい,ラズパイ2は1Aなので不安だった,1,000円くらい)
  • AC電源アダプター(合計8A,USBポート4,各2.4A最大,1,000円くらい)
  • MicroUSBケーブル(20-30本持っているけど,ちゃんと1A以上出るか心配だったので,新しいのを3本買った。もちろん,給電チェッカーで確認済み)
  • GPIOボード(これについてはいらないけどいつか投稿)
  • 感応センサー(これについてはいらないけどいつか投稿)

などをゲット。秋葉原といえば雁川の牛すじチャーハン!ということで牛すじチャーハンをお昼に食べて広島へ帰った。

…そうだ,これで私は自分の居場所を取り戻すのだ。私はこれで救われる。

(続く)

平均への回帰をわかりやすく例える

なんか平均への回帰ってことばはよく知られているものの,外国語教育研究界隈では,ときに難しいとされていて,そして研究実践においてもものすごく大事なことなのにあんまり重要視されていない気がする。まあ確かに,頑張って教科書読んでも,「相関係数が1ではないということに他ならない」とか書いてあるし。


さて,平均への回帰というのは,たとえば2回テストするとして,1回目のテストで成績がよくないひとは,2回目のテストではよい成績をだすっていうだけの話なんだけど,これってピンとこないかな。

別にこれって正規分布に限ったことじゃないので,サイコロの話をする。


サイコロを30人が2回投げる。

  • 一回目投げて目が1だったひとにとって,次の目が今よりも大きい確率は5/6。
  • 一回目投げて目が2だったひとにとって,次の目が今よりも大きい確率は4/6。
  • 一回目投げて目が3だったひとにとって,次の目が今よりも大きい確率は3/6。
  • 一回目投げて目が4だったひとにとって,次の目が今よりも大きい確率は2/6。
  • 一回目投げて目が5だったひとにとって,次の目が今よりも大きい確率は1/6。
  • 一回目投げて目が6だったひとにとって,次の目が今よりも大きい確率は0。

このとき,2回目の目-1回目の目の期待値は,サイコロ投げの期待値が常に3.5なので,3.5 - 一回目の目。なので,グラフにすると,

f:id:kusanagik:20170302212443p:plain


これで,1回目1の人だけを集めて,2回目と1回目の目の差の平均値をもとめたら2.5なわけね。これが0ではないかと検定したりしたら,標本サイズによって当然有意になるでしょう。でもこれは,新しいイカサマサイコロに持ち替えたわけではない。

一回目の期待値,というかサイコロの期待値はもちろん,

f:id:kusanagik:20170302212607p:plain

うん。これだけの話。これ,別の分布でも同じ。


基本的にこれは完全に独立なサイコロを2回投げるからシンプルなんだけど,基本的には相関係数が1じゃない限りこうなる。


外国語教育研究が例外ではなくて,むしろ同じようなことが色々と起きる。



事前―事後でTOEICのテストの点を取ったとする。このとき実は差得点の平均値が0とする。

事前の成績を並べて下から33%のひとだけに検定したら,そりゃ有意になるだろう。このサイコロと全く同じことが起こる。

事前の成績で並べなくても,事前または事後の成績と相関が高い別の変数で並べても似たようなことが起きるのは当たりまえ。

ある読解テストを事前事後に実施して,読解テストと相関が高いTOEICスコアをカテゴリカルにして層別に検定してもそう。

これで成績下位層の子に特に効果がある指導法!というハッピーな指導法が世の中にたくさんになったらハッピーなのかな。

その度毎に,研究仮説に「熟達度の効果がどうなるかわからないから調べる」とか後付けで足して(HARKingして)そういう研究がいっぱいになればハッピーなのかな。

Rで混同行列から感度・特異度などの指標

例えば,何かの指標なりモデルを用いて,
二値的に何かの状態がある(陽性)かない(陰性)かを検査する方法を作るとする。
そのパフォーマンスは以下のような真の状態と検査結果の混同行列を見るとわかる。

この場合の混同行列は,

真の状態が陽性 真の状態が陰性
検査結果が陽性 真陽性 偽陽性
検査結果が陰性 偽陰性 真陰性

っていうかんじで,ここから,

  • 適中率/Accuracy(全体の内,真陽性と真陰性が占める割合)
  • エラー率/Error Rate(1-的中率)
  • 感度/Sensitivity (真の状態が陽性であるもののうち,陽性と判断できた割合)
  • 特異度/Specificity (真の状態が陰性であるもののうち,陰性と判断できた割合)
  • 陽性適中率 (陽性と判断したもののうち,真の状態が陽性である割合)
  • 陰性適中率 (陰性と判断したもののうち,真の状態が陰性である割合)
  • 陽性尤度比 (真の状態が陽性であるひとが陰性であるひとよりも何倍検査結果が陽性になるか)
  • 陰性尤度比 (真の状態が陰性であるひとが陽性であるひとよりも何倍検査結果が陰性になるか)

といった指標が与えられる。
当たり前だけど,完全によい検査ってのは実現しにくくい。
感度をあげようとすると特異度が下がるような場合がほとんど。
これらの指標のバランスを実務的状況から判断して適切に保たなければならない。

私には実務的にこれをやらなければならない案件がある。もちろんRにはこれらの指標を与えたり,さらにROC曲線を描いてくれたりするパッケージがいっぱいあるんだけど,これらを調べるよりも自分でコード書くほうが絶対楽なんで,自分で書いてみた。混同行列を与えたら以上のものを全部返す。

my.indices<-function(CM){
	Rate<-CM/sum(CM)
	TP<-CM[1,1]
	TPr<-Rate[1,1]
	FP<-CM[1,2]
	FPr<-Rate[1,2]
	FN<-CM[2,1]
	FNr<-Rate[1,1]
	TN<-CM[2,2]
	TNr<-Rate[2,2]
	Acc<-(TP+TN)/sum(CM)
	Err<-1-Acc
	Sens<-TP/(TP+FN)
	Spec<-TN/(FP+TN)
	PPV<-TP/(TP+FP)
	NPV<-TN/(FN+TN)
	LRP<-Sens/(1-Spec)
	LRN<-(1-Sens)/Spec
	
	Result<-list(
		"Confusion Matrix"=CM,
		"Confusion Rates"=Rate,
		"Accuracy"=Acc,
		"Error Rate"=Err,
		"Sensitivity"=Sens,
		"Sepcificity"=Spec,
		"PPV"=PPV,
		"NPV"=NPV,
		"LR+"=LRP,
		"LR-"=LRN
		)	
	print(Result,digits=3)
}

こんな感じ。

my.indices(matrix(c(50,8,321,650),2,2))

$`Confusion Matrix`
     [,1] [,2]
[1,]   50  321
[2,]    8  650

$`Confusion Rates`
        [,1]  [,2]
[1,] 0.04859 0.312
[2,] 0.00777 0.632

$Accuracy
[1] 0.68

$`Error Rate`
[1] 0.32

$Sensitivity
[1] 0.862

$Sepcificity
[1] 0.669

$PPV
[1] 0.135

$NPV
[1] 0.988

$`LR+`
[1] 2.61

$`LR-`
[1] 0.206

うむ。

ゼロ過剰ポアソン分布をデータにフィットさせる

ゼロ過剰ポアソン分布では2つのプロセスが考えられている。まず,最初に0の確率がσである二項分布で,値が0でないときのカウントデータがμに従うという。統計モデリングにおいて「ゼロが多いときに使うといい」とはよく聞くものの,厳密にいえば,このような二段階の過程が十分に考えられる事象を対象にするといいと思う。そして,殆どの場合は,先んじている0かそうでないかということにはあまり関心がないときに。

#使うパッケージ
library(fitdistrplus)
library(gamlss)

#ある実測のデータ
d<-c(0,5,6,0,1,8,0,2,0,1,4,2,0,3,8,9,1,1,0,10,1,2,0,2,11,3,0,8,5,11,3,8,8,8,14,7,8,6,5,1,8,7,2,0,6,8,3,3,0,6,2,11,2,0,0,0,0,0,0)

#可視化
hist(d)

#0の割合
length(d[d==0])/length(d)

#まずはポアソンを普通にデータにフィット
fit.pois<-fitdist(d,"pois")
summary(fit.pois)

#次にゼロ過剰ポアソン分布をデータにフィット
fit.ZIP<-fitdist(d,"ZIP",start=1)
summary(fit.ZIP)

#2つのモデルを比較してみる
gofstat(list(fit.pois,fit.ZIP),fitnames=c("Poisson","ZIP"))

#これではσを出してくれない。gamlssを使う
fit.ZIP2<-gamlss(d~1,family=ZIP)
fit.ZIP2


うむ。

授業や研究発表をWeb-based slideshowでやるべき6つの理由

その理由はこちらから!

web-based slideshow