Kosugitti's BLOG

アンドロイドは正規分布の夢を見るか

この画面は、簡易表示です

2014 / 4月

OS X 10.9.2のR3.1.0にrstan2.2.0を入れる

知らない人には何のこっちゃというタイトルでしょうが、端的に表現するとこうなります。

R3.1.0 Spring Danceがさる4/10に公開されて,喜び勇んでいれたはいいけど,そこそこでかいアップデートなのでパッケージの入れ直しが必要なのです。で,MCMCに必要なStanをRからあつかうrstanパッケージをインストールしよう,というところで今日は色々時間がかかってしまった。でも問題解決したので,備忘録代わりに記録しておきます。

 

まず,rstanパッケージを入れるには,普通にCRANから選んでいれるんじゃなくて、自分の環境でソースファイルからくみ上げないと行けない,というのが現状。そのうちバイナリも提供してくれるかもしれないけど,今しばらくはそうならないので,頑張っていれるしかない。ちなみに,そのために準備するものとしてC++コンパイラが必要で,マカーはXcodeとXcode  Comman Line Toolsも必要。XcodeはApp Storeから,Command Line Toolsのいれかたはこちらのサイトを参照するといいです。

当方,OS X 10.9.2,Xcodeもこないだアップデートがあって,今試した環境はXcode 5.1.1です。

インストールの詳しい方法は,Stanのホームページから Download and Get Startedへ移動して,中に書いてあるのをしっかり読んで追いかければオッケー。

なんだけど,ちょっとトラップが。これはRの方の話なんだけど,rstanにはRcppとinlineパッケージもいるので,この二つをCRANからとってこないといけない。普通にinstall.packagesで行きたいところなんだけど,実はこの後のrstanのコードをコンパイルするときにRcppの挙動が問題になるようで,Rcppパッケージもソースから,自分の環境でコンパイルしないといけない(これをせずにやるとRが飛んでいくようになってしまう)。これは多分R3.1.0とRcppパッケージの間の問題なので,そのうち解決されるようになるかも,だけど,4/16のrstanMLでのやり取りではRcppを自分でコンパイルしたらいけるぜー,としか書いてない(明確な解決法の指示がない)ので,今しばらくは従うべし。

ソースからインストールしたことなんかねえよ,という人でも(Xcode等の環境を整えた上で)R上で
[crayon-5c127a1ac901b060251802/]
とするだけだから,そんなに心配しなくていいよー(というかこの後の方が面倒だw)。

Rcpp,inlineライブラリとCコンパイラがちゃんと整っているかどうかを確認するためには,次のコードを実行すればよい(とrstanのサイトにも書いてある)。
[crayon-5c127a1ac902d635447121/]
これでhello worldとコンソールに示されたら、準備OKってことです。

ちなみに,既にrstanパッケージがあって,書き換える・やり直す場合は,次の数行を実行しておきましょうぞ。これで取り外せますからな。
[crayon-5c127a1ac9036941829921/]
さて,ここからrstanパッケージを作っていきたいんだけど,環境を整えるファイル,Makevarsを”~/.R/”に作らないといけない。一般的なユーザーにとっては,不可視フォルダからテキストファイルを作らないといけないので,少しハードルが高く感じるかも。私はMagicanというmac環境を整えるアプリを愛用していて,このソフトの「パラメタ>Finder」から不可視ファイルの表示,Rootからの表示にチェックを入れて,見えないところも見えるようにし,ルートディレクトリのすぐ下に.Rフォルダ,その中にエディタmiでMakevarsファイルを作る・・・という手法でやりました。

でも,これも簡略化されたやり方があって,上のやり方がよくわかんない,という人はR上で
[crayon-5c127a1ac903f404519609/]
とすればいいです。これはRがその場所に設定ファイルを作るプログラムになってます。もし既にMakevarsファイルがあったら,その内容が表示される仕組み。

このファイルを作り終わったら、後は簡単で,次の二行を実行するとなにやら色々作業が始まるのでlす。
[crayon-5c127a1ac9047833114683/]
ネットからソースコードをとってきてコンパイルするので,ネット環境は必須ね。しかも,作成にはちょっとばかり時間がかかるし,その中で合計6つぐらいの警告が赤字で出るから、大丈夫かよこれ、と思いながら進めることになります。でも,警告なので多分大丈夫で,最後に「DONE(rstan)」と出ればパッケージができたってこと!

あとは一旦Rの再起動をして,eight schoolsなどのサンプルコードを走らせてみたらいいんじゃないかな。多分,ベクトル演算で素早くなったMCMCの世界がやってきます。

ミソはRcppも自分でコンパイルする必要がある,ってところだったよ。それを知らなかったから,rstanは作れるんだけどサンプルコードを走らせている最中に飛んでいくとか,「EXPECTATION FAILURE LOCATION:」ってエラーが出て,もう何度か泣きそうになりました。

まだrstanを使ってみようと思っているMac Userは国内では少ないだろうけど,何かの足しになるかと思って記事にしました。

 

追伸 なんでrstanを入れたかというと,「ベイズ推定による多変量解析入門」ってので話す必要があって,MCMCpackだけじゃ面白くないかもな,とちょっと思ったからです。研究会の方も,よろしければご参加どうぞ。

さらに追記)2014.06.15 Ubuntu14.04に入れたい場合はこちらの記事をどうぞ。Thank you @kaztan!



第一回蔵元を囲む会

昨日は,ごひいきにしているお店「ひとさら」と「瑞穂茶寮」で,蔵元を囲む会というのが開かれたので,参加してきました。

当初30人限定で開く予定だったそうだけど,申込者が多かったために昼の部・夜の部の二部構成になったとのこと。で,両方参加させてもらいました(妻は夜の部だけ,ごめんね)。

福岡は八女市の蔵,喜多屋さんがこられて,いいお酒を次々に飲ませていただきました。中でもInternational Wine Challengeという世界のワインを評価する国際大会で,SAKE部門のタイトルをとったお酒が振る舞われたのにはもう,感動で。ワイングラスでいただいたのだけど,普通手に入らないお酒で,後で聞いたらその一杯で3000円はするという。会費少なすぎない、大丈夫?と蔵元さんがお店の人を心配するほど。いやまあ,ありがたくいただきました(しかも昼・夜二回w)。

今回感動したのは,お酒とお料理のマリアージュ。ワインと同じくSAKEは食中酒なので,お食事の邪魔をすることなく,うまく合わせていかないと行けない。中でもこの酒,[amazonjs asin=”B00H3ZUUFK” locale=”JP” title=”喜多屋 特別純米酒 蒼田 720ml 【宅】 IWC 最優秀の 第一位“チャンピオン・サケ”受賞蔵”]は個人的に一番気に入った。面白いのは,社長が若手とバーベキューしていて,バーベキューと言ったらやっぱりビール,あるいはワインだよね,となるのに対して「バーベキュー,ステーキ,ハンバーグ,唐揚げなどにあわせられる,ボディの強い日本酒を!」というテーマで作ったという。魚ロッケと一緒にいただいたのだけど,確かに負けてないわー。おいしいわー。

あと,焼酎を半割(事前に1:1の割合で割ったもの)にしてぬる燗で出す,それを煮物と合わせる,というのもよかった。出てくる順番,温度,全部完璧でしたわー。

いやあ,幸せなひとときでした。

 

夜の部が終わってから,ちょっと別の店で二次会をやったのだけど,そこでは主に喜多屋さんのリーダーシップ,人の育て方について色々お話を聞いてきました。社員が一丸となって,一生懸命酒造りに関わっている,そういう社風はどうやってできるのか,人材育成はどうやるのか,次の世代につなげる仕掛けはどうなっているのかということについて,リーダーシップ哲学を拝聴。部下を信じて、責任は自分で持つ,ってなかなか有言実行でできることじゃないと思う。会社を簡単に拡張できない,人にお金をかけているから、というのは経営者としても一流だと思ったなあ。人を育てる上で,「レールは引いちゃダメ,ガードレールを引くんだよ」(=自分で走らせる、しかし失敗したときのフォローだけはしっかり見てやる)、というのはいい言葉をもらったなと思いました。

今の大学改革みたいなやり方はダメなところばかり目立つ(リーダーシップがない,フォロワーのビジョンもモチベーションもバラバラ,改革することだけ決まっている,云々・・・)から,うまく行っているチームの話を聞いて,このノウハウを理論化(定式化)したいなあと思うのです。やはりグルダイをやってる人間の性ですな。

 

といいながら,一回の会で四合ちょっとのお酒が出るそうなので,昼・夜のダブルヘッダーだった私(と喜多屋さん)は一升近く飲んでいる訳で,結局は,私たちは似たようなタイプの変態ですね,自分が大好きでハッピーな人生を送らせてもらってますね,ガハハハハ,と笑い合って散会になりました。

ああ,酒っていいなあと思いました。



エクストリーム登園

小学校の始業式は8日だったのだが,今日からは幼稚園もスタートした。

真ん中の子が年長さん。一番下が年少さん。おおきくなったものです。

年長さんは早く幼稚園に行って、担任の先生やお友達が誰か知りたくて,結構うきうき。年少さんはわかってるんだかわかってないんだか,いつまでたっても起きてこないし,起こしてやっと起きたと思ったらのんびり朝ご飯。まあええねんけど,そこからエクストリームお着替えがあって,一苦労。

さあこれでやっと登園できるぞと思ったら,下の子がスカートをはきたくない,制服を着たく着たくないといって泣くわ騒ぐわ,ギャーギャーと。なだめたりおだてたりしながら,なんとかココまで来たがもう限界,お前お父さんの朝の時間をどれだけ奪うねん!と腹をたてました。すると妻も「もういい,ほなおいて行って!」とお怒り気味(しまったー)。

とりあえず,行きたがっている年長さんを先に連れて行って,一旦時間を空けました。戻ってくると,なんだかご機嫌がケロッとなおっていて,ニコニコと登園しました。

 

なんやねん,もう。朝から疲れるわ。どっと疲れるわ。エクストリーム登園,どうぞ今日だけのイベントでありますように(´Д` )




top