Kosugitti's BLOG

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

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

分類できない何か

ブログを書くためのブログ記事(RWordPress and knter)

アドカレにエントリーでもしないと,わざわざブログ書いたりしないよねー,な毎日を送っておりました。実際いまアドカレの記事に追われていると言う謎の執筆環境にあります。

ところで私のサイトは,コードや数式を入れることがたまにあります。
サイトはWordpressで運用しているんですが,コードや数式が含まれるような奴は基本,RStudioで書いているのです。
RStudioのRmdで書いて,それをアップロードするのもRのコード。パッケージRWordPressを使えば,Rmdをうまくknitしてアップしてくれちゃう。
使い方はこんな感じ。

ライブラリを読み込んで,オプションでIDとパス,アップするサイトのURLを入れて,knit2wp関数であげる,と。actionをnewPostにすると新規投稿,編集の場合はpostidオプションをつけてaction=”editPost”にする,いきなり公開すると間違いがあるかもしれないのでpublish=FALSEにしていっかいサイトで確認。
こんな感じで運用してました。

が,Rmdでrやstanのチャンクのところが文字化けしたり,数式が化けたりすることがあるんです。しかも下手にこのやり方でエントリーした記事をいじると,(非常に込み入ったタグを吐き出すようで)エントリー記事が一文字も表示されないこととかよくあるw
なので,その辺を修正する方法ないかなー,とおもってたら,ありました。
こちらがそれ。

これをみると,XMLにしてから書き直したりしているのね。これで”< -“とかもうまく表示されるようになりました。

もうひとつ。数式の問題ですが,プラグインでTeX記法をつかって数式を入れられるようにしてあるので,これに対応するコードを追記しました。
(これを素のコードままアップするとプラグインが仕事しちゃったりするので,対応が面倒だから図にします)

これを通すと数式がただの$$で囲まれたものになるので,うまくいく・・・はずです。要は吐き出すHTMLのキーワードを正規表現で検出してきて書き換えるだけだからね。これで書いた記事



犬4匹本出版にあたって

先日,翻訳書を上梓しました。

これに伴って,出版社のFacebookページに寄稿したのですが,転載の許可をもらいましたので私のブログからも情報発信したいと思います。


この度、J.Kruschke著の「Doing Bayesian Data Analysis, Second Edition: A Tutorial with R, JAGS, and Stan」翻訳書を出版する機会をいただき、2年弱の長期にわたる作業になってしまったが、無事に出版の運びとなったことを心から嬉しく思う。仕事が終わった!という嬉しさではなく、この本によって統計やデータサイエンスに関わるより多くの人に、ベイズの素晴らしさとわかりやすさを伝えることができ、伝統的な方法論から新しい世界へご案内できることの嬉しさ、である。

「これからはベイズ統計学だ」と言う話を耳にするようになり、行動計量系の学会で「まあメトリシャンの半数以上はベイジアンだから」という発言を聞いて、それはどんなものだろう、なにがどう変わるんだろうか、と胸ときめいたのは10年ほど前のことであったと記憶している。

学生を焚きつけ、広島大学を中心にベイズの勉強会を行う「魁!広島ベイズ塾」の立ち上げに関わり、手当たり次第にベイズ統計学のイメージをつかもうと努力してきたが、何をどうやっているのかがストンと胸に落ちてきたのは、Stanを使って分析を始めたここ数年のことである。

そうなるためには、いくつかの通過点が必要だった。

一つは「ベイズ統計」と「ベイズ推定」という言葉を使い分けること。統計のユーザとしてはベイジアンネットワークやナイーブベイズなどのベイズ的応用分野すべてを網羅する必要はなく、モデリングとそのベイズ推定に着目すれば良い、という理解をすること。

一つは、久保拓弥先生の『データ解析のための統計モデリング入門』にあるように、「モデルが複雑になるためにはベイズしかないね、その為にはMCMCという技術がいるらしいね」というソフトな入り口と、豊田秀樹先生の『基礎からのベイズ統計学』にあるように、従来型統計学の限界を超えていこうという対立図式から入る入り口の二つがあるということを理解すること。どちらの入り口が良いかは、人によって違うので、好きな方を選ぶと良い。

もう一つは、ベイズ統計学の根幹である「わからないことを確率分布で表現する」ということを理解すること。分布、分布、分布。とにかく分布。事前も分布。事後も分布。パラメータが分布する。データはモデル分布から発生したもの、という理解。確率はそもそもわかりにくい。頻度主義でもベイズ主義でも、日常生活とは違うセンスが必要だ。それでも分布にこだわって考え抜く。慣れてくるととても自然な発想であったことがわかる。今や広島ベイズ塾の塾生たちは、自己紹介で自分の好きな分布を言い合うし、最近はどんな事象を何分布で見ているか、という話を喫茶店でも電車の中でも、日常的にするようになった。

ともかく、我々心理学分野での統計ユーザは、いくつかのこうしたルートを迷いながら進み、時にはルートを交差して、道に迷いつつベイジアンになるしかなかった。そう、この本に出会うまでは。

この本は、こうした迷いがちなルートを舗装し、山頂までスイスイと連れて行ってくれる最高のガイド本である。分厚く、先が長いと思われるかもしれない。しかし、塾生が怪我をしながら登ってきた道なき道よりも、一本の指針に貫かれた安全かつ最短のコースガイドなのである。

この本の長所を三つ挙げておこう。「入り口の丁寧さ」と「奥行きの深さ」、そして「徹底的に戦う姿勢」である。

第Ⅰ部では、確率とは何か、ベイズの定理は何かということについて、非常にゆっくりと、ページをたっぷり割いて語っている。数学的な確率と主観的な確率、いずれも同じように使えるということを丁寧に述べつつ、「分布で語る」と言うのはパラメータの値についての言及だと断言する。力強く、丁寧に。Rの使い方など実演材料の準備までもしっかりと。第Ⅰ部をじっくり読み込めば、「ベイズだから云々」というこわばった先入観が氷解し、いかに自然な話なのかがわかってもらえると思う。他にもJAGSやStanの使い方、MCMCの原理など初心者にとって必要な情報を丁寧に丁寧に書き込んでいる。

第Ⅱ部以降は具体的なモデリングに進んでいくが、階層モデルから導入される。回帰分析、一般化線形モデル、階層線形モデル、とステップを踏むことを考えると、階層線形モデルはとても遠くにあるように思えるが、ベイジアンモデリングの観点からは「違うんだから違う添え字がつくでしょう」というだけである。山の麓でロープウェイにのったら、いきなり絶景の展望台に来たような気分だ。もちろん苦労して登って来た人間が勝手にそう思うのであって、読者の皆さんは当然のこととして受け止めてもらって構わない。大事なのは、苦労することではなく、頂上まで一本のルートで貫かれていることだ。展望台からの道は、山の高みに向けてどこまでも続く道がある。極めれば深く、遠く、高くまで行ける。そう確信させてくれる強みが、この本の分厚さに現れている。

仮想敵を立てて対立を煽り、ベイジアンにあらずんば人にあらずとでも言いたげに議論するのは生産的ではない。導入の初めにはそれが必要だった時期があったかもしれないが、やっつけることが学術的議論の目的ではないはずだ。頻度主義あるいは伝統的統計学派は、「きちんとした手続きを踏めば誰にだって科学的な答えが出せる」ことを教えてくれた。ただ、手続きが非常に厳格で、間違いやすいし、誤解を生みやすいし、悪いこともしやすかっただけだ。筆者はこの人間の弱い心に対して、第11章で徹底的に戦う姿勢を見せる。悪気はなくとも悪事を犯す、そんな危険な橋は渡るべきではない、と強く強く説得する。ベイジアンにとっては事後分布が全てだ。事後分布だけから考えるので、誤解が少なく直観的だ。帰無仮説検定のどこがどうダメなのか、第13章も含めて徹底的に議論し尽くす。そして最後の章では、論文の査読者や聴衆に対して、どう言う説明をするべきなのかも教えてくれる。

これだけ丁寧に、幅広く情報を詰め込んであるので、本書が分厚くなるのは仕方がない。この一冊で伝統的統計学の数百の本に対峙することができる。この一冊で確信をもって次の一歩を踏み出せる。大丈夫、優しくなったので大きくなっただけです。心配しないで、どなた様もぜひ手に取ってみてください。

最後になったが、著者の英語の言葉遊びには随分と泣かされたことを告白する。英語力に加え、ユーモアのセンスも必要で、かつ各章の冒頭にはポエムまであるのだ。我々訳者もどこか演者の気分で、無理をして冗談を言わされたような箇所がいくつかある。読者の皆様にユーモアが伝われば良いが、もし無理が目立つようでも訳の妙だとご容赦いただければ幸いである。もちろん誤訳や誤字脱字などの問題があれば、すべて我々監訳者二人の責任であり、すぐにお知らせいただきたい。更新を繰り返してより確信度の高い真実へ近づくことは、科学の責任でもあり喜びでもあるのだから。


みなさんの理解のお手伝いになりますように。



体重データの公開について

私は朝起きたら体重を計る,ということを続けています。習慣として,であって,ヘルスサイドに堕ちるつもりはありませんが。

時系列的なデータで数年間,毎日続いているのは珍しいので,なんかのサンプルデータになるかもな,と思って公開することにしました。時系列分析とかやってみたいな,とお考えの方などのお助けになればと思います。

利用にあたってはCC-BYであれば,どのようにしていただいてもいいかと思ってます。

少しだけデータ記録のルールを申し述べておきます。

  • 変数はdate,year,month,day,time,weight,BFP,yobi,holidayからなります。意味は,測定した日,測定した年,月,時間,体重,体脂肪率,曜日,祭日かどうかのダミー変数,です。
  • 曜日,祭日かどうかなどの判断は,Nipponパッケージを使って出しました。
  • 欠損になっているところはNAの文字が入ってます。測定していない日も日付は入ってます。合計1867日分のデータです。
  • 朝起きて,トイレに行ってから測定します。そのあと顔を洗います。水一滴ついてない状態で測るのがマイルールです。
  • 記録の中には,ごくたまに,風呂に入る前に全裸で測ったものがあります。計測時間で判断していただければと思います。
  • 測定する機械はTANITAのBF-571でしたが,故障したようなので,2017年6月28日から同じくTANITAのBC-705Nに変えました(最後の数件です)。
  • 欠損の理由は,前日飲みすぎて朝起きれなかったとか,出張・旅行などで自宅にいなかったので計測できなかった,というものです。決して何かをサボっているわけではありません。
  • お盆,お正月,GWなどは帰省することが多く,京都ラーメンを食べるので太って帰って来るという傾向があるようです。
  • 2015年末の帰省で体重が80の大台に乗ったので,2016年はダイエットを心がけていました。2017年になったら心がけを忘れました。
  • 目標体重は65キロです。

 

データは資料置き場の中,こちらにありますので(csv形式),ご自由に遊んでいただければと思います。

 



おーい、おっさん、おばはん

学生と話してると、「早く死にたい」というセリフをよく聞く。

社会に出たくない、出ても楽しいと思えない、若いうちに、非意図的に、死ねたら楽なのに、って。

30-50代のおっさん、おばはん、マズイぞ。
俺ら、もっと楽しい背中を見せなアカンぞ。
楽しんじゃおうぜ!



xpdfを使ってPDFから日本語抽出をする話の2017年度版

TeXで原稿を書いている。文字数を数える機能がTeXにはないので(設計思想がそもそも違うと言うか),PDFから日本語文字数をカウントする。

で,うろうろしていてこのサイトに行き着いた。

xpdfを使ってPDFから日本語抽出

基本的にこれで問題解決なんだけど,HomebrewがOS X El Capitan以降は権限周りが少し変わったらしくて,インストールされる場所が違うみたい。

ともかく,brewを再インストールしてから,xpdfを入れる。

で,日本語対応するためには/usr/local/share/xpdf/japaneseに日本語対応ファイルを入れるんだけど,pdfが/usr/local/Cellar/xpdf/に入っちゃっているので,その辺を読み直さないといけない。

xpdfrcも次のように書いたらうまくいった。

 

 




top