渋谷駅前で働くデータサイエンティストのブログ

元祖「六本木で働くデータサイエンティスト」です / 道玄坂→銀座→東京→六本木→渋谷駅前

Mac OSでR 3.6.1にアップデートしたらRStanが走らなくなったので、復旧させた話

この記事は完全に備忘録です。必要最低限の情報しか記されていませんので悪しからずご了承ください。

f:id:TJO:20191207154605p:plain

色々事情があってつい最近Rを3.6.1にアップデートして、いつも通りパッケージをインストールし直していたのですが、こういう時に毎回コケるのはRStanと相場が決まっているので、これまたいつも通りRStanをインストールした後でお馴染みの8schoolsでテストしてみたのでした。そしたら、以下のようなエラーメッセージが*1

> library(rstan)
> schools_dat <- list(J = 8, 
+                     y = c(28,  8, -3,  7, -1,  1, 18, 12),
+                     sigma = c(15, 10, 16, 11,  9, 11, 10, 18))
> fit <- stan(file = '8schools.stan', data = schools_dat)
Error in compileCode(f, code, language = language, verbose = verbose) : 
  Compilation ERROR, function(s)/method(s) not created!
...
Error in sink(type = "output") : invalid connection

こういう、RStanのインストールが通った後にもかかわらずcompileCode系のエラーが出る時はClangに問題があることが多いので、Clangをインストールし直したんですがそれでも直らず。。。しばらく困っていたのですが、結局以下のissue commentの通りに対応したら解決しました。

  1. Xcode Command Line Toolsの最新バージョンをインストールする
  2. rstanを削除する
  3. Rセッションを再起動する
  4. StanHeaders, rstanの順に再インストールする

Mac OSだとXcodeがネックになることが多いんですよね。。。ということで今後もR側のバージョンが変わった時はXcodeのアップデートも忘れずにやっておこうと思います。

*1:正確にはエラーログを取っておかなかったので下記にリンクしたissueから共通部分をコピーしてきただけですが

『RとStanではじめるベイズ統計モデリングによるデータ分析入門』は「みどりぼん」に取って替わる次世代の統計モデリング+ベイジアン入門書

f:id:TJO:20190725154058p:plain

ここ2ヶ月ぐらいに渡って多くの方々からご著書をご恵贈たまわっているのですが、そのうちの一冊がこちら。かつて計量時系列分析を学んでいた頃に僕も大変お世話になった、Logics of Blueブログの馬場さんの手による『RとStanではじめるベイズ統計モデリングによるデータ分析入門』です。

以前はベイズ統計モデリングの入門書というと「みどりぼん」こと『データ解析のための統計モデリング入門――一般化線形モデル・階層ベイズモデル・MCMC (確率と情報の科学)』一択でしたが、皆さんもご存知のように既にメンテされていないWinBUGSを使っているなどout-of-dateな要素が多く、近年はこれに替わる良書はないものかといつも頭を悩ませていました。今回の馬場さんのご著書は、まさにこれに取って替わる現時点でベストの一冊ではないかと個人的には考えています。


ということで、いつも通り本書全体の構成を一通り紹介した上で注目ポイントを挙げていこうと思います。そしてこれまたいつもながらの話ですが、僕自身の知識不足などにより誤読している部分があるかもしれませんので、お気付きの方はどしどしご指摘くださいm(_ _)m

続きを読む

Ads carryover & shape effects付きのMedia Mix Modeling

これは単なる備忘録です。「論文とサンプルコード読みながら試しました」以外に何も内容のない記事ですのでご注意ください。特に個々の式の変数の説明については個人的な備忘録ゆえ大半を端折りますので、仮に興味を持たれた方は適宜論文の本文をご参照下さい。読んだ論文はこちら。

なお、この記事を書くに当たってid:ushi-goroshiさんのこちらのブログ記事シリーズを参考にさせていただきました。分かりやすくて大変助かりました、有難うございます。

それでは適当にやっていきます。

続きを読む