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

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

時系列モデリングのおさらい:季節調整とトレンド抽出

COVID-19が世界中に感染拡大し、日本含め多くの国で外出や集会の制限(自粛)措置が取られて久しい昨今ですが、これに伴って多くのところでCOVID-19に関連したオープンデータが公開されるようになっており、データ分析を生業とする人間が実データを扱う良い機会ともなっているように見受けられます。


ということで、今回の記事では東京都が公開している日次のCOVID-19感染者(PCR検査陽性者)報告数のデータを題材として、時系列モデリングのおさらいをしてみようと思います。なお、この記事における時系列モデリング結果は今後のCOVID-19の感染拡大状況について何かしらの解釈や予測をするためのものでは全くありません*1ので、悪しからずご了承ください。


また、この記事で公開しているコードは以前書いたクソコードをそのまま転用しているので、端的に言ってただのクソコードです。皆さん自身がお試しになる際は是非書き直すことをお薦めしますorz

*1:それらはauthorizeされた専門家の方々のお仕事です

続きを読む

TensorFlow Probabilityを試してみる(1): 定番のEight SchoolsのモデリングをRStanと比較する

先日の記事でも書いたように、どうもここ最近RStan周りの環境が色々厳しくなっている気がしていて、仮にRStanが今後環境面での不具合やミスマッチなどで使えなくなったらベイジアンモデリングやれなくなって困るかも。。。という危惧を最近抱きつつあります。


そこで代替手段として思いつくのが、JAGS, PyMC, PyStan, そしてTensorFlow Probability (TFP)。TFPを挙げたのは完全に身贔屓なんですが(笑)、Pythonで回せるものとして近年注目を集めているフレームワークとしては筆頭に近いのではないかと思います。ということで、贔屓の引き倒しみたいになりそうですが今回含めてちょっと連続してTFPでRStanと同じことをやってみる、というただそれだけの備忘録的な記事をだらだらと書いていこうと思います。


いつもながらですが、僕はコーディングに関してはド素人ですので間違っている点・理解不足の点などあればどしどしご指摘ください。また、今回からPython 3.7で書いています。3系のコーディングについても誤りやおかしな点などあれば是非ご指摘いただければと思いますm(_ _)m

続きを読む

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