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

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

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から共通部分をコピーしてきただけですが

平均への回帰:愚かな誤謬を惹き起こす美しきrandomness

元々はQuoraでこういうアンサーを書いたのがきっかけです。

本文中では「厳密性を一切考慮しない平易な説明で良ければ(※僕自身も数理統計学的な意味での確率論に関してはど素人なのでそもそも厳密な説明はできませんが)」と断り書きを入れましたが、厳密でないどころか間違っていたらそれはそれで悲しいので、詳しい方*1からツッコミをいただくべくブログ記事にもう少し細かく書いてみようかと思ったのでした。


ということで、Quoraアンサーの補足説明も兼ねて自分なりの理解を以下に書いておきます。誤っている点や不足している点などあれば、何かしらの形でツッコミを入れて下さると有難いですm(_ _)m

*1:測度論的確率論や確率過程の専門家の皆様方

続きを読む

全くのゼロから「駆け出しデータサイエンティスト」を育てる方法論

f:id:TJO:20191113231703p:plain
(Image by Pixabay)

「データサイエンティスト」の第一次ブーム勃興から6年余り、人工知能ブームに便乗した第二次ブームで人口に膾炙してから3年余り、気が付いたら何やかんや言われながらもデータサイエンティスト及びその類似職が、じわじわと日本国内の産業各分野・企業各社に広まりつつあるように僕の目には映ります。


そういう背景がある中で、ここ1年ぐらいの間にそこかしこで目立つようになってきたのが「ゼロからデータサイエンティストを育てたいのだがどうしたら良いか」という相談や議論。割とあるあるなのが「取引先がデータサイエンティストを採用して商談の席に同席させるようになって、彼らがデータサイエンスの知識を駆使してビシバシ突っ込んでくるのだが、こちらにデータサイエンティストがいないので対応できない」みたいなお話。これは実はUSでも同様だと聞くので*1、案外洋の東西を問わない課題なのかもしれません。


ということで、今回は「ゼロからデータサイエンティストをどうやって育てるか」というテーマについて考えてみたいと思います。僕自身も半端者である一方で7年以上もデータ分析業界にいることもあり、これまでに様々な組織でデータサイエンティストをゼロから育てるという経験を積んできていますので、そこで得た知見や体験を問題ない範囲で一般化して書いてみることにします。


ただし、今回は「(アナリストの延長としての)データサイエンティスト」に的を絞ります。「(エンジニアの延長としての)機械学習エンジニア」の話題はしませんので、ご注意ください。

*1:しかもUSだと容赦無く数学や物理学のPhDがやってくるので大変だとかいう話を聞いた

続きを読む