草薙の研究ログ

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

キーボード用リストレストを作ってしまえ

あまりタイピングが上手じゃないのがいけないのだけど,よく腱鞘炎になってしまう。私みたいにもの書きをまったくしないやつに限ってすぐ腱鞘炎になる。そんな軟弱な自分に嫌悪感を覚えながらも,やれキーボードが悪い,そしてリストレストが悪い,この企業…

左に歪んだデータへのフィッティング

確率分布のフィッティングでは,右に歪んだデータを対象にすることが多いのだけど,たまに左に歪んだ分布が手に入ることもある(てか私は最近はじめて手にいれた)。いろいろあるんだろうけど,一般化極値分布でいいかな。えっと,こんなデータだとしよう。 …

最尤法を使った逆ガウス分布のフィッティング

このブログへコメントがあったので,こちらで。 逆ガウス分布をデータに対して最尤法を使用してフィットする方法について。 statmodパッケージに逆ガウス分布の関数があって,それをfitdistrplusパッケージで使う。 #使うパッケージ library(statmod) librar…

Principal Component Factor Analysis?

1日に2回この謎の用語を見てしまったので,Google Scholarで検索したら,1万件超えててワロタ。ま,google検索の件数もそんなに信用できるもんじゃないけど。 https://scholar.google.co.jp/scholar?q=%22principal+component+factor+analysis%22&btnG=&hl=j…

モデルってことばが如何に重要か

最近,モデルってことばが思ったよりもすげえ重要だなって思うようになった。自分の分野(外国語教育)だとあまり聞かない用語だから,避けてたけど,これむしろ積極的に使ったほうがいいな。 モデルってのはモデル化したいものそのものじゃない。別にこの世…

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

最近はなんでも広報やその創意工夫が大事だということなので,ここに,この春夏の学会シーズンでお話させて頂くことをまとめます(自分のメモがてら)。増えたら随時足していきます。 1. SONAS2017(5月に終了,早稲田大学) シンポジウム「英語学習者のパフ…

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

前回までのあらすじ 大学の小さな部屋にある,どでかいワークステーション,デスクトップPC,ThinkPadやMacBookといったメジャーなノートPC,そういった電子機器に底知れぬ違和感を覚え始めた私は,自分が生まれた東北の自然,つまり自分の原風景には,シン…

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

私を死に至らしめる電子機器たち ヴォオオオオオオオオオーン けたたましいファン音 毎日,私は私に割り当てられた大学の部屋に入ると,革のクラッチバッグ(鞄大好き)から,財布,携帯,タバコ,鍵束を取り出して,所定の網棚にセットし,ワークステーショ…

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

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

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

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

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

ゼロ過剰ポアソン分布では2つのプロセスが考えられている。まず,最初に0の確率がσである二項分布で,値が0でないときのカウントデータがμに従うという。統計モデリングにおいて「ゼロが多いときに使うといい」とはよく聞くものの,厳密にいえば,このような…

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

その理由はこちらから! web-based slideshow

わーい!どんなときでも有意差を見つけられるフレンズなんだね!

「思ったように有意差が出なかったんですけどなにかこのデータから言えることはありませんか?」 「どんなデザインですか?」 「処置群・統制群,事前・事後,成果変数は1です」 「そうですね…まずは処置群を恣意的に何パターンかに分割してみましょう!そう…

モデルの中で何が捨象できるかを語らない科学

数理モデルというものは,その記述の仕方の形式性の割には,数理モデルということばに親しみを感じないほとんどのひとが思うより,本来結果主義的で効用主義的なものだ。 モデルは,もちろん現象それ自体ではないし,その現象を大幅に捨象していて,しかしそ…

Rで日付データの処理

自分用のメモ。 #日付クラスへ変換 d<-"2016-1-1" d2<-as.Date(d) class(d2) #日付データの足し引き(日付クラスだとこれができるようになるのが最高) d2-1 d2+1 d2-1000 d2+1000 #基準日から1日毎にログイン回数を累積計算 #datは時間とログイン回数のデー…

一般化パレート分布をデータに当てはめる

一般化パレート分布は所得の分布などに使われるそうだ。 外国語教育研究でもこういった分布になる変数を私はひとつだけ知っている(いわないwww)。Rにいろいろあると思うけど,ここではactuarパッケージとfitdistrplusパッケージを使う。 actuarパッケージ…

MCMCを使って指数正規合成分布(ex-Gaussian)の母数を推定

RのMCMCpackにはMCMCmetrop1Rっていう関数があって,これは任意(自作)の対数尤度の関数をいれてMCMCでサンプリングすることができる。なので,結構手軽にMCMCを使ってデータに好きな分布を当てはめることが可能。ここでは(まったくそんなことはしなくても…

非線形最小二乗法で学習コンテンツ消化曲線をモデル化

まあ結構いろんなことに汎用的に当てはまることだと思うのだけど,ソフトウェアの品質管理とかの分野では,ソフトウェア信頼度成長曲線という手法があるそうだ(古い友人に教えてもらった)。これは,ソフトウェア開発において,バグの発見数や残ったバグの…

混合正規指数合成分布モデル(?)を最尤法で…

聞いたこともないけど,要素数2の混合正規指数合成分布(ex-Gaussian)モデルというのを考えてみる。ま,2つの異なる認知プロセスが混合したときの反応時間の分布だとか,そんなそれっぽいことを考えてみる。そんなものは多分ない。ま,でもこの確率密度関数…

当てはめた分布と推定した母数から平均,分散,歪度,尖度をもとめる

なんかある論文で,分布が強く歪んでいることが理論的に明白だった変数に,ガンマ分布か対数正規分布かなにかを当てはめて,その推定母数と適合度指標のみを(きつい紙幅の関係もあって)報告したときに,「標本の記述統計を報告しないとはけしからん」とい…

混合ガンマ分布モデルをデータにフィットさせる

Rのmixtoolsパッケージでは,混合ガンマ分布モデルもデータへフィットさせることができる。 #λ= .25,.75,α - 4, 10,β= 1, .2が正解 set.seed(0) dat<-c(rgamma(100,4,1),rgamma(300,10,.2)) hist(dat,breaks=20, main="",col="lightblue") model<-gammamix…

単変量混合正規分布モデルをデータにフィットさせる

外国語教育研究では2つの山とか3つの山とかの分布になっているのを見ることがある。こういうときは,混合分布モデルをデータにフィットさせるといいかもだ。Rではmclustもいいけど,mixtoolsというパッケージがある。 #準備 library(mixtools) #数値例の作成…

任意の累積分布関数を仮定した一標本コルモゴロフ・スミルノフ検定

#正規分布の場合 set.seed(0) dat<-rnorm(100,0,1) ks.test(dat,"pnorm") #特定の平均と標準偏差をもつ正規分布 set.seed(0) dat<-rnorm(100,0,1) ks.test(dat,"pnorm",1,1) #ガンマ分布 set.seed(0) dat<-rgamma(100,2,3) ks.test(dat,"pgamma",2,3) #ワイ…

自分で用意した分布をデータへフィットさせる

fitdistrplusパッケージのfitdist関数は,dnorm, pnormのように,dとpの関数が定義されていればどんなものでも指定することができる。自作でもいいってこと。ま,でも殆どの場合,自分程度が思いつくような分布はすでに用意されているってのがR。たとえば,…

単変量の分布母数の推定からあれこれ:fitdistrplusパッケージが便利

ある確率分布を手持ちの単変量データに当てはめ,その母数を最尤推定するという方法があって,Rでは通常MASSパッケージのfitdistr関数を使うのがお手軽なんだけど,fitdistrplusという便利なパッケージが出ていてこれがとてもいいかも。ま,結局はoptimにか…

最尤推定した母数のもとでの確率密度曲線をヒストグラムに描き足す

えっと,リクエストがあったのでここに書く。(SPSSならそれっぽい曲線もつけてくれるのにRはそんなこともできないのか?といわれた)まずはこんなデータがあるとしよう。形状母数が3,尺度母数1のガンマ分布にしたがう300個。 set.seed(0) dat<-rgamma(300,…

負の二項分布に関する2つのパラメーター化の方法

負の二項分布(negative binomial distribution)は,(a)その母数を成功回数(ないしサイズ母数)rと,成功確率pとする場合(こっちに親しみ)と,(b)サイズ母数rと平均μとするときの二種類があるんだそうだ。パラメーター化の方法が違うってのは,ガン…

野良観測変数?

なんていうんだろ,それが何を測るかは一切分かっていないけど,その変数の利活用を暗に強いられているような変数。 オンライン学習履歴データとかがまさにそうだ。オンライン教材のログイン時間とか。これは何か測定を目指す構成概念がこのデータに先んじて…

オンラインでできるPOS Tagger

なんか最近こういうのやたら多いね。POSってはpart of speech。品詞のこと。 ウェブブラウザでテキスト投げてやればPOSをタグして返してくれるっていうお手軽サービス。 1. Parts-of-speech.Info - POS tagging online 2. NLTK POS Tagging - API & Demo | T…

分散共分散行列を相関係数行列に変換するR関数

自分で関数書けばいいってのもごもっともだし,他にも色々あるんだけど,bayesmパッケージにnmatっていう関数がある。 vcovm<-matrix(c(3,2,2,3),2,2) cm<-nmat(vcovm) matrix(cm,2,2)