4章まで読了。『StanとRでベイズ統計モデリング』
当初1〜8章まででいいかなと目次を見てつぶやいたら,著者の方から「10章も読んだほういい」というアドバイスをいただきました(感謝です。読むモチベーションもあがります)。ということで,1〜8章+10章を読むことを目標にします*1。自分の復習として感想を記録しておきます。
環境構築
今年からMacを使うようになり,Stanを使える環境はまだ作っていませんでした。次のページのとおりにやれば,問題なく完了しました。
https://github.com/stan-dev/rstan/wiki/Installing-RStan-on-Mac-or-Linux
※「If using g++ version 4.9 or higher〜〜」のところは不要だった。
読む前に
これまで1人でコソコソ学んできて(Kobe.Rを中心に他のRの勉強会には参加したことがあります),久保先生の『データ解析のための統計モデリング入門(みどり本)』と豊田先生の『基礎からのベイズ統計学』をなんとか読み通しています。なので,「はじめに」に書いてある「前提とする知識」はなんとかクリアしていると思います。
1〜3章は在来線特急の中で読める。
今週の出張のお供として読んでいます。1〜3章までは実際にコードを書いてみるところはほぼないので,電車の中で揺られても読めます。読んでみた第1印象は「とってもていねい!」ということ。用語が1つ1つ説明されています。「thinning って何?」「lp__
って何?」とこれまで疑問に思っていたのですが,解決することができました*2。
3章2節には統計モデリングの手順があります。こういうことって,たぶん身近に詳しい人がいれば体得できるんでしょうが,私のような独学のものには助かります。
辛うじて突破の4章
Stanコードの書き方がていねいに解説されています。「そういう順番(やルール)で書けばいいのか」と目からウロコでした。私はプログラマでもデータサイエンティストでもなく,コードを書くときのルールをよく知らないので,こういう内容は助かります。
この章から実習があります。ついつい先を読んでしまいますが,ただ通読しているだけでは,わかった気になるので,実際に打ち込んで行きました。N とすべきところを n としていたり,ささいなことでエラーになるのを試行錯誤しながら,取り組んでいくことになるので,経験値が増えそうです。あと,model4-4.stan を読んでいて「このN_newって何? 突然出てきた!」と戸惑いましたが,サンプルコードを読んで解決できました。
52ページの解説は自分のR力のなさで,ちょっとぼんやりとした理解になりました(apply が苦手)。練習問題も(3)まではできたけど,R力のなさで(4)ができなかった…。残念。答えを見て,こんな簡単なものを解けない自分に自己嫌悪。
5章から先は少しずつやります。
統計的因果推論勉強会 第5回を開催しました!
経営学系統計分析エンドユーザーのため統計的因果推論勉強会第5回を行いました。最近週休3日制を打ち出した某有名大企業の新しいオフィス内での開催で,とても楽しかったです。参加者は7名(クローズド)。
今回は宮川本の第5章(の特にバックドア基準)と星野本第4章「共変量選択と無視できない欠測」が勉強範囲でした。目的は2つ。1つは強く無視できる割り当て条件とバックドア基準が似たようなものであることを理解すること。もう1つはRでの実習。Rnotebookを使うと便利でした。配布する資料もカンタンに作れるので。
試用したものはこちらにあります。
Rでの実習は傾向スコアマッチングを星野本の巻末付録に載っているもので写経(使用したデータはいろいろねつ造したフィクションのものです),IPW法を岩波データサイエンス第3巻のサポートページに載っているもので写経しました。
c統計量(このcは大文字のほうがいいのか,小文字なのかわかりません・・・)については,私たちはお手軽に rms パッケージの lrm() でやったほうがラクです。「C」と記載されているところがc統計量です。
星野本第4章までで,論文を読む・書くツールはだいたい出そろっているように思います。しかし,いろいろ謎は残ります。最大の謎は推定した因果効果の大きさ・小ささをどう判断したらよいか,です。効果量(effect size)のようにある程度の基準があれば便利なのですが・・・。
さて,最新の『行動計量学』には一般化傾向スコアを用いた論文が出ています。今度はそれもみんなで読んでみたいですね。
勉強会ツールとしての R Notebooks
RStudio をプロジェクタで映すと,ソースエディタが小さく見にくいです。必要なところだけを集中して,見やすくすることってできないだろうか,という動機から,もう1つの選択肢である R Notebooks(あーるのーとぶっく*1)を使えるようにしてみました。
RStudio Preview edition をインストールしてからの動作。
1. 左上の+ボタンから R Notebook を選ぶ。
2. 「田」のアイコンをクリックして Zoom Source をクリック。そうすると,R Notebook だけが表示されるようになって,プロジェクタに映すとき便利になる。
3. メニューの View から Zoon In をクリックして,望みの大きさにする。元の大きさに戻すときは Acutual Size をクリックすればOK。
4. また元の4ペインに戻す場合は,「田」から Show All panes をクリック。
勉強会のときはこれで乗り切れそう。
Jupyter Notebook と R Notebooks の使い分け
Jupyter Notebook はブラウザ内で動作するので,勉強会中にこのウェブページ見せたいとかよくネット検索するなら Jupyter が便利だと思います。R Notebooks などは次の補足を参考にしてください。
補足
R Notebooks がどんなものかを使う前に知りたいならこちら。
わかりやすい kazutan 先生のスライド
R Notebooks を使う準備
1.RStudio Preview edition をインストール。 ダウンロード先
Desktop Version で OK。
2.基本 R Notebooks が使える状態になっている(2016年10月6日現在)。
3.でも,knit するときに「rmarkdown パッケージがないよ」と叱られるので,普通にインストールする。ただ特に分析結果を出力するつもりがないなら,インストールしなくてもいい思う。
*1:本当は複数形だけど,日本語に複数形はないので。
量的アプローチによる価値共創の研究発表@第6回知識共創フォーラム in 金沢
先週(2016年3月12〜13日),金沢で開催された第6回知識共創フォーラムで発表をしてきました。相馬・清水(2015)*1に大きく影響を受けた分析の結果発表でした。もともと潜在ランク理論はどこかで知っていて,自分の研究に使えそうだなぁと思っていたところに相馬・清水(2015)が出たので,その時はとても驚きました。
発表タイトルは「価値共創の促進に意味はあるか?」です。情報学系な人には参考にならないと思いますが,経営学系で量的な研究をされる方(本当に少ないと思うけれど…)の少しでも参考になれば,と思います。
発表に使ったスライドは下です。
www.slideshare.net
分析の方法・ツールなど
分析の方法・ツールなどは次のとおりです。過去,本ブログや Kobe.R で発表してきたまとめ的な分析を行いました。
分析の方法 | 使用したツール |
---|---|
潜在ランク理論 | exametrica |
ウィルコクソンの順位和検定 | R, wlicox.test() |
クラスカル・ウォリス検定 | R, kruskal.test() |
線形連関の検定 | R, coin::lbl_test() |
ベイズ推定による多項ロジスティック回帰 | R, brms::brm() |
ロジスティック回帰(普通の) | R, glm() |
今回の発表はケーススタディが多い(ような気がする)共創研究に量的アプローチを行った例です。分析に使ったアンケートは1〜7のリッカート尺度なので,独立性の検定にはノンパラメトリック検定を使っています。
ベイズ推定による多項ロジスティック回帰
brms パッケージを使用しました。以下のコードで一発です。下でも書きましたが,brm()のオプションはまだ理解していません。
library(brms) rstan_options(auto_write = TRUE) options(mc.cores = parallel::detectCores()) fit1 <- brm(qol ~ kyousou, data = d, family = categorical)
使用したデータはこちらに置いておきました。気になる方はお試しください。
分析でわからないところ
誰にも聞けなかった(というか,周りにわかる人がいない)ため,自信がない・わからないところは次のとおりです。
最後の2つの分析(多項ロジスティックと普通のロジスティック回帰)では,アンケート結果を間隔尺度として扱いました。尺度の扱いに一貫性がないのはどうかなぁ,と思っていますが判断がつきません…。
さらに,多項ロジスティック回帰はアンケート結果を名義尺度にしてしまいました。これも適切かどうか…。1〜7のうちどの選択肢が選ばれるかという観点から多項ロジスティック回帰でやってみようとした次第です。
多項ロジスティック回帰はベイズ推定を使ってやってみましたが,オプションは初期値ままです。収束はしたので大丈夫かとは思いましたが,適切な初期設定を知りたいところです。
発表を終えて
実は,今回が初めての口頭発表でした。聞いてくれた方のうち,おもしろいと思ってくれた方はいたようでホッとしました。どのへんがおもしろかったか,ちゃんと確認しておけばよかった。また今回の発表では因果関係を示したわけではないので,因果を調べられるようになりたいものです。
*1:相馬敏彦・清水裕士(2015)「ワンランク上のブランド・コミットメントはどう形成されるのか? ─顧客の潜在ランクへの分類と拡張版投資モデルのブランドの適用─」『マーケティングジャーナル』第35巻第3号,75-94頁.
その有意差に意味あるの? ~ノンパラメトリック検定と効果量の出し方~
Kobe.R 第24回で発表をしてきました。今回は来週日曜日に金沢で発表する内容のデータ分析部分(特にRの操作)をメインに切り出したものを発表しました。
↓使用したスライドはこちらにあります↓
RPubs - Rによるノンパラメトリック検定と効果量の出し方
slideshare はこちらです。Rstuido だと Rpubs にも PDF にも簡単出力できるので便利ですね。
トピックとしては
- wilcox.test(マイ・ホイットニーのU検定)は formula を使ったほうがわかりやすいこと。
- 効果量 cliff の d は orddom パッケージの delta で確認できること。
- R の発表は Rmd が便利だよ。
の3つでした。
使用したデータはこちらからダウンロードできるようにしました。どうぞお試しください。
Dropbox - data2.txt
@kazutan先生にご参加いただき、Rmd を使って発表できたいい経験ができました。というか、急遽、Rmarkdown について発表をお願いいたしました。急なお願いにも対応してくださり、感謝です。
【追記 2016年3月6日】
今回のデータのように順位にタイがある場合のウィルコクソンの順位和検定は coin パッケージの wilcox_test() がよりよいようです。でも、結果はほとんど変わりません。
【普通のウィルコクソンの順位和検定】
wilcox.test(rank ~ gender, data = d, correct = F)
Wilcoxon rank sum test
data: rank by factor(gender)
W = 27532, p-value = 0.07193
alternative hypothesis: true location shift is not equal to 0
【coin パッケージのウィルコクソンの順位和検定*1】
wilcox_test(rank ~ factor(gender), data = d)
Asymptotic Wilcoxon-Mann-Whitney Test
data: rank by factor(gender) (0, 1)
Z = -1.7995, p-value = 0.07193
alternative hypothesis: true mu is not equal to 0
【より正確にするならこう】
wilcox_test(rank ~ factor(gender), data = d, distribution = "exact")
Exact Wilcoxon-Mann-Whitney Test
data: rank by factor(gender) (0, 1)
Z = -1.7995, p-value = 0.07194
alternative hypothesis: true mu is not equal to 0
*1:gender を因子型にしないと動かない。
論文「顧客収益性の統計的分析」を読む
最近、統計分析の学習をしていなかったので、勉強になる論文を読んでみました。マルチレベル分析の経営学での応用事例を検索していて見つけたものです。偶然というか、第1著者は私の専門職学位論文の分析パートをチェックしてくださった先生、第3著者は専門職大学院のゼミの先生です*1。
論文タイトルは「顧客収益性のと統計的分析 ─管理会計研究のマルチレベル分析の適用可能性─」*2です。内容は、階層線形モデル(HLM、マルチレベル分析)を管理会計研究・実務へ活かす可能性を探ったものです。戦略論、管理会計研究の既存研究を概観し、シミュレーションを行っています。
特に勉強になったのは、
- ある階層のデータが少なくとも5を下回ると結果の誤差は無視できなくなるほど大きくなる。
- ある階層のデータが少なくとも10あれば、HLM は頑健な結果を得られる。
- 分散の極端な偏りに対しても、頑健な結果が得られる。
というものです。
HLM を使う利点として「多階層におよぶ影響がひとつの利益指標に集約されている時にHLMを用いると、それらがどのような階層からの影響力が大きいのかを説明できる」と述べています。例として、先行研究レビューと顧客別利益を支店・担当者・顧客・時間という4つの階層でシミュレーションを行っています。
シミュレーションで使用された R のパッケージはnlme
です。glmmML
と lmerTest
しか使ったことがないので、このパッケージを知ったことも勉強になりました。マルチレベル分析については、心理学や生態学の例を書籍やネットで見ることが多かったので、経営学のフィールドにいる自分としては、こういう論文はとても身近に感じます。
なお、マルチレベル分析の組織マネジメントへの応用としては、次の本があります。マーケティング・サイエンスの世界では、高度な分析がたくさん行われているようですが*3、その他の経営学の分野ではまだまだ少ないように思います。
学習を促す組織文化 -- マルチレベル・アプローチによる実証分析
- 作者: 北居明
- 出版社/メーカー: 有斐閣
- 発売日: 2014/03/05
- メディア: 単行本
- この商品を含むブログ (1件) を見る
今年のデータ分析の学習はじめはドキュメント作成からスタート
今年は Reproducible research を意識したいです(下のスライドが参考になります)。昨年はデータと分析結果がとっ散らかって、自分が分析した手順・内容を忘れしまい、何度も同じことを繰り返すことがありましたので…。
www.slideshare.net
そこで、いつもは図書館で借りて読んでいる*1『ドキュメント・プレゼンテーション生成』を買ってきて、この週末に読みました。
ドキュメント・プレゼンテーション生成 (シリーズ Useful R 9)
- 作者: 高橋康介,金明哲
- 出版社/メーカー: 共立出版
- 発売日: 2014/06/24
- メディア: 単行本
- この商品を含むブログ (2件) を見る
恒例というか私の環境が悪いせいで、本どおりにやってもうまくいかず、PDF 出力で苦労しました。↓がうんともすんとも動かない。
knit2pdf("minimal.Rnw", compiler = "lualatex", encoding="UTF8")
しかたがないので、Rstudio で PDF 出力をしていけばいいかとあきらめました。Rstudio だとちゃんと PDF 出力できました。他にもbrowseURL("sample.html")
とすると、勝手に Rstudio が立ち上がるので困ったり、ITエンジニア・プログラマ属性がある方には簡単に解決できそうなこともヒーヒー言いながら、読了。
なお、フルパスでブラウザのありかを指定すればOKです(以下は私の場合)。
browseURL("sample.html", browser="C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe")
その後「R Markdownで楽々レポートづくり」を読んで復習しました。ということで、今年の内輪的な勉強会は R Markdown でぜんぶやろうと思います。