単系列編 とりあえずのサンプルデータ x <- data.frame(Date=Sys.Date()+1:10, Value=rnorm(10)) これをPLOTするには以下のようにするのが良さげかな。 scalesパッケージは日付のフォーマットいじり(date_format関数)をするのに必要だとの事。 library(scales) library(ggplot2) ggplot(x, aes(Date, Value)) + geom_line() + scale_x_date(labels = date_format("%m/%d")) + xlab("") + ylab("Value") 描画結果はこんな感じ。 複数系列編 ggplot2でmatplot関数のように複数時系列を一枚にPLOTする方法はややめんどかった。 使用するサンプルデータは次のようにxtsオブジェクトにcoda
mapをインデックス付きで使いたい!と思ってRuby1.8.7でRuby1.9ライクな書き方をしようとしたら失敗した。 Rubyでは内部イテレータが使われている。 [1,2,3].each { |n| print n } イテレータにインデックスを渡すこともできる。 [1,2,3].each_with_index { |n,i| puts "#{i}: #{n}" } ところでRuby 1.9からeachやmapはブロックを与えられなかった場合に外部イテレータを返すようになった。これにより、こんな書き方もできるようになった。 e = [1,2,3].each e.with_index { |n,i| puts "#{i}: #{n}" } これで何が嬉しいって、mapでも簡単にインデックス番号を使えるようになったのである。*1 [1,2,3].map.with_index { |n,i|
Ruby の sprintf フォーマットは基本的に C 言語の sprintf(3) のものと同じです。ただし、short や long などの C 特有の型に対する修飾子が ないこと、2進数の指示子(%b, %B)が存在すること、sprintf のすべての方言をサ ポートしていないこと(%': 3桁区切り)などの違いがあります。 Ruby には整数の大きさに上限がないので、%b, %B, %o, %x, %X に負の数を与えると (左側に無限に1が続くとみなせるので) ..f のような表示をします。絶対値に符号を付けた形式 で出力するためには %+x、% x のように指定します。 以下は sprintf フォーマットの書式です。[] で囲まれた部分は省略可 能であることを示しています。 %[nth$][フラグ][幅][.精度]指示子 `%' 自身を出力するには `%%' とします。 以
ブログ パスワード認証 閲覧するには管理人が設定した パスワードの入力が必要です。 管理人からのメッセージ https://mac-tegaki.comへ移転中 閲覧パスワード Copyright © since 1999 FC2 inc. All Rights Reserved.
トピックモデル(今回はLDA: 潜在的ディリクレ配分法)について、今後自分で実装したり研究に生かしたりしたいと思ったので、 すごく簡単な例で考えてみました。(肝心なD(ディリクレ分布)についてはスルーしている・・・汗) 何か間違いとか指摘とかあれば教えて頂けると嬉しいです。 トピック 同じ文書内で使われる確率が高いような、似た意味を持つ単語の集まり。 例えば政治のトピックなら、「選挙」「国会」「内閣」が出やすい。 トピックモデルでは、文書のトピック(文書で、どのトピックがどのくらい出やすいか)と、 トピックの単語(トピックで、どの単語がどのくらい出やすいか)を求める。 参考URL: http://sucrose.hatenablog.com/entry/20120322/p1 以下、具体例を用いて具体的に流れを追ってみる。 参考URL: http://blog.echen.me/2011/
LDAの不満点の一つとしましては、トピック間の関係性を全て無視しているところです。例えば、「政治」と「経済」なんかは相関ありそうですよね。そういうトピック間の相関を考慮したモデルとしてはCTM(Correlated Topic Model)があります。実はStanのマニュアルでもCTMは実装されています(githubではここ)が、サンプルデータとサンプルプログラムをそのまま実行しても全く収束する気配がなくて殺意がわきます。またCTMの弱点としては2つのトピックの間の関係しか考慮されていないこと、また推定する分散共分散行列のパラメータ数がトピック数の2乗に比例して大きくなっていくという点が挙げられます。 そこで今回のPAM([Li+ 2006])を少し砕いて紹介して実装したいと思います。まずはこの記事の表記法は以下になります。前回の途中から使った単語の出現数(Frequency)を今回も使い
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く