easystatsについて①: パッケージ群の紹介
これはR Advent Calendar2019の第1日目の記事です。
はじめに
R言語の特徴として
- 統計解析向けの手法がたくさん実装されている
- CRANやGitHubに誰でもパッケージを公開できる
というものがあるかと思います。他にも tidyverse パッケージ群の登場によってデータハンドリング、可視化周りが強くなったり、shiny パッケージでwebアプリが作れたりと最近は色々できるようになっていますが、上記の特徴は大きな特徴の一つと僕は思います。
さて、いろんな手法を別の人が実装した結果、各パッケージのアウトプットが異なるという問題がおこります。(手法が違えば出力が違うのはしょうがないのですが。)例えば、同じデータでいくつかの手法で試してみてその結果を比較したいとき。
model1 <- lm(Sepal.Length ~ Petal.Length, data=iris) model2 <- rstanarm::stan_glm(Sepal.Length ~ Petal.Length, data=iris)
この例でこの比較に意味があるのかはさておき、この2つのモデルに対して回帰係数をそれぞれ見たいとき、
model1$coefficients #> (Intercept) Petal.Length #> 4.3066034 0.4089223 model2$coefficients #> (Intercept) Petal.Length #> 4.3076763 0.4085251
のように見ることもできますが、rstanarm::stan_glm()
の出力のリストに coefficients という項目があることは事前知識があるか、model2の中を実際に見てみないとわかりません。
あるいは lme4 パッケージや brms パッケージでランダム効果を入れたモデルを作成したときに、そのランダム回帰係数を見たいと言われたら、 model_brms <- brmss(...)
で作ったmodel_brms中を探しに行かなければなりません。
このような統計モデル系のパッケージの間を埋めてくれるのが easystats パッケージ群です。
そのあたりを解決してくれるのが easystats パッケージ群です。tidyverse や tidymodels のようなパッケージ「群」です。インストールをして library(easystats)
を実行すれば複数のパッケージがまとめて読み込まれます。つまり tidyverse で dplyr パッケージや tidyr パッケージを組み合わせていたように、複数のパッケージをを組み合わせることが想定されているということです。細かいパッケージの使い方は別記事に譲るとして、本記事では library(easystats)
を実行したときに読み込まれるパッケージの紹介と、「例えばこんなことができるよ」的なものを紹介できればと思います。
「白金鉱業 Meetup Vol.12(白金鉱業 x IBM社内勉強会dsn 合同企画回)」に参加しました。
「データアーキテクト(データ整備人)を”前向きに”考える会」に参加しました
はじめに
11/27に開催された「データアーキテクト(データ整備人)を”前向きに”考える会」にブログ枠として参加させて頂いたのでイベントの様子をレポートとして書きます。
analytics-and-intelligence.connpass.com
会場: 株式会社オプト
続きを読むRおじさん、Lisperへの道 (Common Lisp環境設定編)
はじめに
Twitter上でこんなやりとりがあって、Lispをちゃんと勉強しようかなと思った次第。これまでEmacsを使って設定ファイルも(汚いけど)それなりに書いてきたので基礎を知ってるくらいなので、ここは一つCommon Lispをちゃんとやっておきたいなというのが主な動機です。
最近、 @igjit さんの影響からからLisp熱が再発してる。もともとEmacs使ってるってのもあるけど。
— matsumura (@y__mattu) 2019年4月17日
RおじさんからLisperに進化できるだろうか...
ところで、このブログは「データ解析周りを中心に、プログラミング全般について書く」と明言してるわけですがこれからやるCommon Lispがどのくらい役に立つかは未知数。
続きを読む