R を使うための Jupyter notebook インストールメモ
【2016年9月27日追記あり(いちばん下)】
--
土曜と日曜(2016年9月24日・25日),石川・品川の人たちと合宿に参加しました。2日目に3時間ほどのRの実習をする機会に恵まれ,つたないながらファシリテーター的な役割を務めました。ゼミは多国籍チーム(4カ国)なので,スライドは英語で,しゃべりは日本語中心*1。
RStudio を使ってやってみたところ,起動画面がぱっと見で複雑そうな印象を与えるかもしれない,とふと思いました(実際,起動した瞬間に参加者から「あ,なんか難しそう」という空気が広がったような。)。
もう1つの可能性として,jupyter notebook(じゅぴたーのーとぶっく)があるかなと思いインストール。注意点と手順を2ステップで半年後・1年後の自分のためにメモしておきます。mac 向け。
【ステップ1】
↓の1〜6.を実行。5.のとき anaconda のバージョンは最新のものにした。
【ステップ2】
↓に従って,jupyter notebook をインストール。
無事,jupyter notebook で R が使えるようになりました。でも,初心者向け R 実習に使うには厳しいです。理由は2つ。インストールが難しい(っていうか,面倒。時間もかかる)のと,コードの補完機能がないから(あれは初心者には便利のようです)。
とは言え,画面はスッキリして威圧感ない。なんか出力結果に罫線があるし,見やすい。個人的には好き。
そしてここまで書いて気付いた。 R notebookっていう選択肢があるじゃないか。また今度の機会にしよう・・・。
●参考
【追記1】
ターミナルで毎回 jupyter notebook
と打つのは面倒なので,note
というエイリアスを設定した。エイリアスの設定方法は次のページがわかりやすい。
【追記2】
コードの補完機能がない,と上で書きましたがウソでした。あります。コードを書いているときに,tab で出ます。
【追記3】
等幅フォントにするにはちょっと設定が必要。以下、mac の場合をメモ。
1.ホームディレクトリのライブラリフォルダに移動。
2.隠しフォルダ .jupyter を表示(コマンド+シフト+.)
3.その中に custom フォルダを作る。
4.さらにその中に custome.css を保存する。
CSSファイルの中身は↓。
.CodeMirror pre, .output pre { font-family: Monaco, monospace; }
デキる人はコマンドライン一発なのだろうが、ムリなのでアナログ(?)でやった。
参考ページは↓
http://rakuishi.com/archives/jupyter-font-family/
統計的因果推論の勉強会 第3回を開催しました!
最近,ブログは月1更新。仕事と学生はなんとか両立できていると信じたい・・・。
さて,先日,「経営学系統計学エンドユーザー*1のための統計的因果推論 勉強会」第3回を実施しました。これで3回目。クローズド*2。
今回の内容は宮川本と星野本の第3章です。宮川本はパス解析,星野本は傾向スコアについて。星野本は核心に入ってため,難しく,一気に第3章全部はつらいため,60〜69頁をやりました。数式が増えて,本当につらい。
宮川本は構造方程式モデリング(SEM)の話を中心に組んでみました。みんなが SEM に慣れているわけではないので3つ実例を見ながら進行。また,みかけの相関と選択バイアスについても復習をしました。
ちなみに因果ダイアグラムを用いたみかけの相関と選択バイアスについては『岩波DS Vol.3』の中の「相関と因果と丸と矢印のはなし はじめてのバックドア基準」が感動的にわかりやすいです。これは次回の勉強会でみんなで読んでみようと思っています。
- 作者: 岩波データサイエンス刊行委員会
- 出版社/メーカー: 岩波書店
- 発売日: 2016/06/10
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (3件) を見る
スライドはこちらです。
なお,星野本第3章の詳解は↓に載っています。私にはかなり難しくて,理解が厳しい・・・。
d.hatena.ne.jp
また,こちらのブログ「調査観察データにおける因果推論」のシリーズも詳しく解説されています。
smrmkt.hatenablog.jp
星野本でやれることはやったと思い,『岩波DS Vol.3』を読み直してみるのがいい気がしてきました。次回は岩波DSを題材にもう少し傾向スコアについて勉強を進めていこうと思います。
統計的因果推論の勉強会 第2回を開催しました!
宮川本と星野本の第2章が今回の内容です。毎月それぞれ1章ずつ読み進めています。参加者は私を含めて7人くらい。減ると思って心配していましたが,前回より増えてよかったです。
使用したスライドはこちらです。
第2章はどちらも導入部の終わり,といった感じです。キーワードは
- 潜在反応モデル(反実仮想モデル)
- 共変量
- 傾向スコア
でしょうか。例題として,簡単な傾向スコアによる分析もやってみました。R 仲間が増えないかな。我々は文系統計学エンドユーザーなので,数式のところは理解が不足してしまいます。宮川本も星野本も,読んでいて「?」なところは多く出てきます。それでも,統計的因果推論は今後の役に立つかも,ということでコツコツ学んでいます。
今回は「強く無視できる割り当て条件(強い意味での無視可能性)」への理解がイマイチでした。どうして傾向スコアで条件付ければ交絡のことを考えなくていいのか,というのがボンヤリしています。
きっとこれは星野本3章を読んでいけば解決できるはず,という期待を持ちながら来月に向けて勉強を続けていきます。
P.S.
スライドのアップ先を Slideshare から Speaker Deck に移りました。Slideshare は Mac で作ったPDFで日本がうまく表示されなかったので(解決策はあるみたいですが,面倒ですね)。
統計的因果推論の勉強会の1回目を開催しました!
2016年5月28日に統計的因果推論のクローズドな勉強会を開催しました。参加者は5名でした。私を含め全員が非専門家ですので「学び合い」がキーワードです。
対象は下のスライドにあるとおり,経営学を学ぶ統計学エンドユーザーです。進行は,私が宮川本と星野本を1章ずつまとめたものを発表し,それについて不明点の質疑応答を行うというようにしました。印象としては,潜在反応モデル/反実仮想モデルが腑に落ちるかどうかが重要のようです。
www.slideshare.net
やはり,こういうのは発表する人がいちばん勉強になるような気がします。いろいろと質問を受けて,刺激にもなりました。2冊とも第1章はガイダンスみたいなものなので,本番は翌月の第2章からです。来月もがんばります。
行動計量学会 春の合宿セミナーに参加
機械学習(Aコース)ではなく、統計分析のコース(Bコース)を選びました。2016年3月25日~27日の3日間開催されるのですが、仕事やその他の都合で25日夜~26日の夕方までの参加です。
概要はこちらのページにあります。
http://www.bsj.gr.jp/event/spring_semi.html#18th
HAD はこれまでちょくちょく使っていたのですが、開発者直々に教えていただけるよいチャンスだと思って参加した次第です。ちなみに、私の使い方は
- ざっとデータを HAD でいじってみて、あたりをつける。
- その後、R や SPSS などで確かめる。
という、たぶんよくある使い方をしています。HAD の使い方で今回いちばんヒットしたのは、データの読み込みボタンがあること。ぜんぜん気づきませんでした…。とても便利*1。
春の合宿セミナーについての他の感想としては、こういう会にもっと社会人大学院生が出てくれたらいいなということです*2。ふだん忙しいからこそ、ちょっと時間をがんばって作って、1日でもいいから集中して学べる環境にいると、効率よく勉強できると思います。
それに直接、講師の先生に質問できるいい機会です。講義修了後の懇親会的な催しで、いくつか質問に答えていただけて、統計分析の悩みがすっきりしました。やっぱりフットワーク軽く、詳しい先生のところに訊きに行くのはとても大事だなと再確認できた2日間でした。
量的アプローチによる価値共創の研究発表@第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 を因子型にしないと動かない。