My online activities
検索
以前の記事
2013年 02月 2013年 01月 2012年 03月 2012年 02月 2012年 01月 2011年 12月 2011年 11月 2011年 10月 2011年 09月 2011年 08月 2011年 07月 2011年 06月 2011年 05月 2011年 02月 2011年 01月 2010年 12月 2010年 11月 2010年 10月 2010年 09月 2010年 08月 2010年 07月 2010年 06月 2010年 05月 2010年 04月 2010年 03月 2010年 02月 2010年 01月 2009年 12月 2009年 11月 2009年 10月 2009年 09月 2009年 08月 2009年 07月 2009年 06月 2009年 05月 2009年 04月 2009年 03月 2009年 02月 2009年 01月 2008年 12月 2008年 11月 2008年 10月 2008年 09月 2008年 08月 2008年 07月 2008年 06月 2008年 05月 2008年 04月 2008年 03月 2008年 02月 2008年 01月 2007年 12月 2007年 11月 2007年 10月 2007年 09月 2007年 08月 2007年 07月 2007年 06月 2007年 05月 2007年 04月 2007年 03月 2007年 02月 2007年 01月 2006年 12月 2006年 11月 2006年 10月 2006年 09月 2006年 08月 2006年 07月 2006年 06月 2006年 05月 2006年 04月 2006年 03月 2006年 02月 2006年 01月 2005年 12月 2005年 11月 2005年 10月 2005年 09月 2005年 08月 2005年 07月 2005年 06月 2005年 05月 2005年 04月 2005年 03月 2005年 02月 2005年 01月 2004年 12月 2004年 11月 2004年 10月 2004年 09月 2004年 08月 2004年 07月 2001年 01月 カテゴリ
全体 Math Science Book Log Misc Business Music IT Food Topic Movie Art Stat Politics Muttering Off Topic 未分類 ブログパーツ
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧
|
2011年 09月 06日
NHKラジオのサイマル放送が「らじる★らじる」として始まった。これは本当に素晴らしい。 なによりもだ、寝坊して聞き逃しがちな「古楽の楽しみ」をクリアな音声でコンピュータ上に「エアチェック」しておいて、後ほど何度でも再生できるのだ。 古楽の楽しみ http://www.nhk.or.jp/classic/kogaku/ 昔はUSB接続のAM/FMチューナなどを使って録音していたが、雑音が気になって仕方がなかった。しかしそれもサイマル放送で解決。コンピュータに録音するからスケジュールも自在。最近のマシンのディスク容量に比べて音のデータなど小さいから好きなだけ保存できる。一度録音したファイルになってしまえば、すぐに再生もできるし、他のデバイスへの持ち出しも容易である。DropBox等のクラウドシェアリングサービスを使えば、外出先でも自在に再生できる。まさに「エアチェック」のための一気通貫のワークフローがここに完成せり、なのだ。 僕がサイマル放送を「エアチェック」するための機材構成は次の通り。現在、自宅サーバーの機材にMac miniを使っていて、外向けのサービスにはそれに乗せているVMWare上のCentOSを使っているのだが、そのMac miniのホストOSであるMac OS X10.6を「エアチェック」クライアントOSとして利用する。 チューナーソフトウェアはApple Script経由として局指定で起動できるBRadikoを使う。 BRadiko http://www.ne.jp/asahi/mac/bui/radiko/ これをオーディオレコーディング・スケジューラーソフトであるAudio Hijack Proを使って時間指定録音をするのだ。 Audio Hijack Pro http://www.rogueamoeba.com/audiohijackpro/ 詳しい設定手順は以下のブログ記事を参考にした。ポイントはBRadikoを32bitアプリとして起動させることで、そのためにアプリの「情報を見る」で32bitアプリを指定する必要があり、これを指定しないと、なぜか僕の環境では無音状態になる。 http://d.hatena.ne.jp/tono-p/20110603/p1 一度設定をすれば、スケジュールした時間になるとAudio Hijack ProがApple Script経由でBRadikoが立ち上げてくれ、その再生音声をM4Aやmp3に録音してくれる。これは素晴らしい!今は日曜から金曜日まで週6日をスケジュールしているから、いつでも「古楽の楽しみ」を自在に聴くことができる。サイマル放送が始まってから翌日にはこの「エアチェック」体制を整えたので、ここのところ仕事開始と同時に「古楽の楽しみ」を流しながら仕事ができ、ものすごく気分がいい。モンテヴェルディ、フレスコバルディ、バッハ、テレマンなどのあまり自分のライブラリにない曲を聴くことができて幸せ。 この音楽リスニングに加えて、コンピュータを利用した「エアチェック」の効用は、英語学習にもかなりの影響を及ぼしそうである。実はここしばらくの英語の勉強は、思いついたときにアドホックにやっていたけれど、語学はそれではあまりトレーニングにならないというのは強く感じていた。そこで、今回のサイマル放送をきっかけに杉田敏さんの「実践ビジネス英語」をペースメーカーにして、定期的な勉強トレーニングを立てることにした。数日実践したが、なかなかよさそうだ。 実践ビジネス英語 http://www.nhk.or.jp/gogaku/english/business2/ 「実践ビジネス英語」に出てくるスキットというかビニエットは、こんな難しいディベートを普段ベースでしている職場なんて、特にエンジニアの職場では皆無だよ、というお伽話のような会話ばかりなのだが、とにかくこのレベルの日常会話を学ぶことができるのはうれしい限り。 まあもちろん「実践ビジネス英語」については、一週間前の放送ならwebサイトにストリーミングが載って、その意味である程度自由に聞けるのだが、途中再生等の使い勝手が悪いし、ポータブルプレイヤーで持ち出せないし、公開期間が限定されているという窮屈さがあるから、「エアチェック」でそのあたりの自由度を確保できるのは素晴らしいのだ。 この「古楽の楽しみ」や「実践ビジネス英語」以外にもついこの間の日曜にやっていた東京Jazzのライブ放送など、NHKのラジオはやっぱり神コンテンツが多いと、つくづく感じている今日この頃である。 #
by yutakashino
| 2011-09-06 09:55
| Music
2011年 08月 04日
最近の報道で「歴史的な円高」とされているけれどホント?ということで調べてみた。調べるには以下の@ITの連載でも記したように、実質実効為替レートをみればいい。
Rによるオープン・データの可視化(1) - @IT 「競争の作法」の主張を検証する http://bit.ly/o6hRxZ これは6月までのデータである。オレンジの系列が報道でよく出てくる円ドル為替レート月末平均、緑が月中平均、青が名目実効為替レート、紫が実質実効為替レート。 これをみると、ここ2年ほどは紫の実質実効為替レートは100付近にあって、若干円安傾向になるものの、まあ適正値とみなせて、「歴史的な円高」というのはあまりに大げさ過ぎる。 データは日銀の「主要時系列統計データ表(月次)」を用いた。 http://www.stat-search.boj.or.jp/ssi/mtshtml/m.html Rのコードは以下のとおり: library(ggplot2) #
by yutakashino
| 2011-08-04 16:13
| Topic
2011年 08月 03日
前のエントリ
wrong, rogue and log : 「感染症と文明」のSEIRモデル http://bit.ly/qRtBUv だけれど、中澤港さんが著者の山本太郎さんに連絡をされたところ、著者の結果が再現できない原因がわかったそうだ。 書評:山本太郎『感染症と文明――共生への道』 http://bit.ly/rtg5kX 感染性を有する期間と潜伏期間を,日を週に換算なおしたもので計算していたために結果が違ってしまっていたとのこと。つまり,年齢構造化モデルとか他の条件を入れたと想像したのは考え過ぎで,概ね最後に想像した通りのパラメータを使って得られたグラフだったようだ。改訂版では修正してくださるとのこと。 チョットすっきりした。でも、そもそもがこの付録の目的はプロローグにあるフェロー諸島の感染流行をシミュレーションすることだったのだから、単純なSEIRモデルに、ピーター・ルドウィッヒ・パヌムの記録したパラメータを当てはめても説明できないということであり、元々の問題は解決されていない。 SEIRモデルにこだわらずに幾つかのモデルについてパラメータ推定するのは面白そう。今はムッチャ忙しいけれど、時間を見つけて少しずつ手をつけようかな。 #
by yutakashino
| 2011-08-03 12:46
| Math
2011年 07月 16日
山本太郎氏の「感染症と文明」に出てくる冒頭と付録の「フェロー諸島における麻疹の流行」について、中澤港さんがSEIRモデルを用いてRで計算をしている。
書評:山本太郎『感染症と文明――共生への道』(岩波新書) http://bit.ly/rtg5kX 僕もRで簡単に確認した。計算には常微分方程式系を解くライブラリのodesolveを使った。 times = seq(0, 100, by = 1) 黒、青、赤、緑の曲線がそれぞれS, E, I, Rである。計算には、「感染症と文明」の仮定と同様、最初期に人口7800人のうち一人が感染。麻疹の潜伏期間を10日、感染性期間を12日、基本再生産数を14としてある。さらには、麻疹の流行期間中に出生も自然死亡もなく、麻疹による死者もいないとした。式を見ればわかるけれど、これは確率論的な仮定も全く入れてない。 これをみるとたしかに、中澤さんが「最後まで感染せずに済む人は出なかったので,もしかすると,付録に書かれていない条件が加わったモデルが計算に使われているのかもしれない。」とおっしゃるように、中澤さんの計算とは一致していそうだが、「感染症と文明」のグラフとは一致しない。 ただ、「感染症と文明」の付録の記述には「住民の平均寿命は45歳と仮定した」とあり、もしかしたら、年齢構造化モデルを利用していて、隠れたパラメータを利用しているのかもしれない。 #
by yutakashino
| 2011-07-16 15:25
| Math
2011年 06月 14日
Twitterのタイムラインに最近も出ていたのだが、1年位前にRコミュニティで流行ったこれは面白い。
Understanding “randomness” http://stackoverflow.com/questions/3956478/understanding-randomness I can't get my head around this, which is more random? これは質問者は"more random"と言っているように、この質問の時点では確率変数の概念を全く理解していなくて、その意味で教科書的というか額に入れて飾りたいようなナイスな間違えの一つである。一般的に普通のプログラム言語のrand()は擬似一様乱数を生成する関数であるのだが、一様乱数を二つ掛けたらといって、もっとスゴイ一様乱数になるわけではない。 この質問のすぐ下にそれなりの模範回答がある。ただ、その回答は回答者のオリジナルではなく、Eric W. Weissteinの"Wolfram Math Worldの"Uniform Product Distribution"に添付されているMathematicaのノートブックを孫引きしているのだ。 http://mathworld.wolfram.com/UniformProductDistribution.html しかし、結構この説明は明快なので、同じような説明をRでやってみることにする。まずは0 < x < 1の一様乱数をプロットしてヒストグラム描くことにする。ここで擬似一様乱数はrunif()によって与えられる。あと蛇足だが、Rのrunif()は最初からMersenne-Twisterで乱数を生成するので、それなりに信頼のおける擬似乱数生成をデフォルトで行う。 この擬似一様乱数で生成された確率変数のヒストグラムをみると、当たり前だが「一様乱数」の名前通り目で見て一様な分布になっている。 > u1 <- runif(10000) つぎに、一様乱数の積をとったもの、つまりStackOverflowの質問の rand() * rand()について擬似乱数から生成した分布を見てみる。 > u2 <- runif(10000) * runif(10000) このヒストグラムを見ても、一様な分布ではないことがわかる。実はこの分布こそが、さきほどのWolfram MathWorldにある"Uniform Product Distribution"なのである。まずは、n=2のときのUniform Product Distributionとして、- log(y)という関数を上の一様乱数の積のヒストグラムに重ねて書いてみる。 > y <- seq(0, 1, .01) これをみると明らかなのだが、一様乱数の積の密度分布は- log(x)になるのだ。一様分布ではなく。一般的には一様な乱数をとる確率変数X_1X_2...X_nの積の密度分布の関数型は以下のようになる。 n = 2にすると-log(x)になる。この一様確率変数の積がどうしてこのような形になるのかというのは、Wolfram MathWorldにあるようにデルタ関数の積分を考えればいいのだが、ちゃんと議論するには結構大変なので、ここでは割愛する。少し検索してみると、この一様確率変数の積の密度分布について、最初に定式化を与えた記述は以下の本にあるそうだ。 Springer, M.D., 1979. The Algebra of Random Variables. Wiley, New York また、この密度分布の関数型をより一般的な形にしたものが、産能大の石原辰雄氏によって導かれていて、もしかしたらこちらの数学的帰納法で示した証明のほうが簡単かもしれない。 「独立で非同一な分布に従う一様確率変数の和および積の分布」 http://ci.nii.ac.jp/naid/110001878196 更には、以下のペーパーは別の証明を与えている。 Dettmann & Georgiou "Product of n independent Uniform Random Variables" http://www.maths.bris.ac.uk/~macpd/georgiou/ProductRVs%20revised.pdf 上記の例は確率変数の「積」だけれど、「和」はどうかというと、独立な一様乱数をもつ確率変数の和をたくさん重ね合わせると中心極限定理によりその重ねあわせた分布は正規分布になる。というか、別に一様乱数の確率変数でなくても、重ね合わせる確率変数の数が十分大きく、独立かつほぼ同一の分布なら正規分布になる、というのが中心極限定理の直感的理解だ。以下は一様乱数を確率密度分布とする5つの独立な確率変数の和の例。 > u3 <- runif(n) + runif(n) + runif(n) + runif(n) + runif(n) 実線の曲線が正規分布であるが、この5つ程度の確率変数の和であっても中心極限定理の雰囲気は味わうことができると思う。 さてこの議論の着地点であるが、実は一様乱数から任意の確率変数を生成する「逆変換法」と非常に密接に関わっているのだ。今の時代は数学ソフトウェアや統計計算環境が充実しているので、主要な確率密度分布については予め組み込みであり、ほとんどの場合はあまり余計な心配をしなくていい。しかし、その組み込み関数に存在しない確率密度分布の確率変数を生成したいというときに、「逆変換法」を用いると一様乱数をネタにして必要な確率変数を生成することができるのだ。 この「一様乱数からの確率変数の生成」ということから考えると、StackOverFlowの質問にある"rand() * rand()"というのはある確率密度(この場合-log(x))を持ったあらたな確率変数を生成しているのであって、「もっとすごい一様乱数」を生成しているのではないということなのだ。 長くなったので、このあとの解説は次回に回す。 #
by yutakashino
| 2011-06-14 23:07
| Stat
|
ファン申請 |
||