タグ

ブックマーク / www.yasuhisay.info (30)

  • 今年よかった習慣: ライフログ収集および可視化 - yasuhisa's blog

    データを眺めるのが好き 収集している情報 実現方法 データから分かった知見(?) 今後 年末なので、今年買ってよかったものに引き続き、今年やってみてよかった習慣について書いてみたいと思います。 データを眺めるのが好き 昔からデータを眺めるのは好きだったんですが、今年の5月くらいから自分に関するデータをとにかく収集してみました。可視化することで何か有益な視点だったり、生活の改善点が見つかるのではないか、という目的です。色んなデータを集めまくった結果、以下のようなグラフができあがります。ちょっと画像が小さいですが、毎日の歩いた歩数や体重、気温、録画した番組名、自宅マシンの負荷状況などが載っています。 収集している情報 上の画像ではとりあえずBlogに上げれるようなデータしか見せていないですが、収集している情報としては以下のようなものがあります。使用しているスクリプトで公開できるものはgithu

    今年よかった習慣: ライフログ収集および可視化 - yasuhisa's blog
  • NTT CS研を退職して、株式会社はてなに入社しました - yasuhisa's blog

    エイプリルフールも一段落したので、退職&入社エントリを書こうと思います。 これまで 3/31付けで前職のNTT CS研を退職しました。CS研には(インターン期間も含め)4年間お世話になりました。 CS研はとても研究する上でよい環境 CS研は研究をする上でかなりよい環境であったと思っていて 世界で活躍しているトップの研究者がわらわらいて、日々ディスカッションできる (全くないわけではないですが)雑用が少なく、研究に集中できる 研究をする上で必要なリソース(計算機、データなど)が十分にある 足りないものやデータ等を新しく作りたい場合は、上長をちゃんと説得すればお金をかけて作ることができる 自然言語処理の研究をする上でかなり重要 などなど、とても研究しやすい環境です。AAAIEMNLP、CoNLLなどに行くことができたのもこうしたCS研の環境なしではありえなかったと思います。ここで4年間働けた

    NTT CS研を退職して、株式会社はてなに入社しました - yasuhisa's blog
  • R勉強会第六回

    Rで時系列データってどう扱うの? 時系列オブジェクトを生成 時系列オブジェクトの合併 lhデータ データを覗いてみる UKgasデータ 出力が長いので要約した統計量を知りたい 開始時刻、終了時刻などなどを知りたい 時系列データの一部を取り出したい 時系列データをプロット ガス消費量のプロット 複数種類の時系列データを一度に表示する データを定常にする ラグ処理 実際にやってみる データの定常化 diff関数 自己相関係数 acfを使って、データが定常になるまで差分を取る 答え もう一個練習 答え ちなみに シミュレーションでデータを生成 シミュレーションでデータを生成してみよう sarimaのシミュレーション モデルの同定 偏自己相関係数の直感的理解 自己相関係数、偏自己相関係数から見るAR、MA、ARMAの特徴 ARモデル 使うデータ モデルを推定する arimaモデル ARIMAモデル

    R勉強会第六回
    kkobayashi
    kkobayashi 2010/12/27
    時系列!
  • とあるモデルのMCMC - yasuhisa's blog

    飽きもせずにGibbs Samplingとかばっかりやってますが、久しぶりにはまった。離散確率分布とかからサンプリングするのにrandとかを使ってたんだけど、これがとてもとてもとてもいけなかった。CとかC++のrandは線形合同法で実装されているとかで周期性が問題になる場合があるが、これがとてもとてもとても問題になった。対数尤度を見てるとそれなりに収束したのかなと思ってとあるF値を観察していたんだけど、こんな感じの推移を示した。 ちなみに、これは10個の平均をplotしたものである。平均してこれである。死んでしまえ。 200くらいで周期があるように見うけられたので、(半日くらい経って)boostのメルセンヌツイスターに切り変えてみた。これである。 MCMCするときにrandは使っちゃだめだよっていうのは常識なんですよね、きっと。ようやく身を持って勉強いたしましたまる。

    kkobayashi
    kkobayashi 2010/12/18
    libcのrandはマジコワイんだよ、とうま
  • 海外のRの情報源 - yasuhisa's blog

    Tokyo.Rに参加してきて、色んな人とお話させてもらったけど、結構Rを使いこなしているなぁと思う人が多いというのが第一印象だった(やってる内容とか悩んでいる問題とか)。が、悩んでいる問題を解決する術がすでに存在しているにも関わらず英語なので、その人たちに情報が伝わってないっていうのが結構あるなぁというのを感じた。日語で誰かがBlogとかでキャッチアップするとしても結構タイムラグがあるし、(最近多くのが出ているとは言え)になるのを待っていたら数年単位でしか情報を得ることができない。というわけで結論としては「英語のリソース読め!!!」ってことになるんだけど、自分も最初はどこ読めばいいかとかよく分からなかったなぁと思ったので、自分が読んでる英語で書かれているRの情報源になっているところを列挙していこうと思います。 僕はIRCとかは使ってないので、その付近はよく分からないのと他にもまだまだ

    海外のRの情報源 - yasuhisa's blog
    kkobayashi
    kkobayashi 2010/03/28
  • Tsukuba.R#6の発表資料 - yasuhisa's blog

    あげておきます。Keynotepdfで吐いてみた。 Tsukuba from syou6162 Tsukuba.pdf まあ、この辺とレイヤーで重ねていくってことですね。

    kkobayashi
    kkobayashi 2010/01/06
  • Re:forとapplyの速度比較 - yasuhisa's blog

    helpを求められたような気がしたので。 http://blog.m884.jp/2009/11/30/forとapplyの速度比較 最後に。誰かggplot2できれいにプロットしてください。そこまでする余力がありませんでした…。 書いてみました。 d <- read.table("/tmp/hoge.csv", sep="\t", header=TRUE) d <- data.frame(num = rep(d[, 1], ncol(d) - 1), time = as.numeric(as.matrix(d[, -1])), label = Reduce(c, sapply(names(d[, -1]), function(x){rep(x, nrow(d))}), c())) q <- ggplot(d, aes(x = num, y = time, group = label))

    kkobayashi
    kkobayashi 2009/12/01
    ggplot2きれいだなー。/どうでもいいけど、read.table("/tmp/hoge.csv", sep="\t", header=TRUE) は read.delim("/tmp/hoge.csv")でおkですね http://ja.doukaku.org/comment/7729/
  • 漢ならコードで語れ、ということで自分のパッケージを作った - yasuhisa's blog

    何か自分のproductがあるといいよなーと思ったので卒研で書いたコードの断片をパッケージにして公開してみました。パッケージはここに置いています。 作ったものの説明ノンパラメトリック回帰の手法の一つであるナダラヤワトソン推定量を計算するためのパッケージです。そういうわけでnwパッケージという名前にしてみました。自分で平滑化パラメータ行列を与えてパラメータがどのような効果を持つか見てみることもできますし、クロスバリデーション関数を最小にするような平滑化パラメータ行列を計算させることもできます。内部を多少Cで書いているため、そこそこのスピードで動かすことができます。 後ろにも書いていますが R CMD INSTALL nw_0.01.tar.gz とやってインストールした後 library(nw) example(nw) とすると上に書いたことが始まります。 今のところ用意してあるカーネル関数

    漢ならコードで語れ、ということで自分のパッケージを作った - yasuhisa's blog
    kkobayashi
    kkobayashi 2009/11/01
  • 複数の関数を適用した結果を返すeach関数 - yasuhisa's blog

    Rであるデータに対して、複数の処理をして、その結果をまとめて返すというのはlist関数を使うのが定石だと思うんだが、若干めんどくさいところがある。例えば無名関数でやるとこんな感じ。 > (function(x){list(mean(x), var(x))})(1:10) [[1]] [1] 5.5 [[2]] [1] 9.166667 しかし、plyrというパッケージのeach関数を使うともっと直感的に書ける。これはよい。 > library(plyr) > each(mean, var)(1:10) mean var 5.500000 9.166667 色々試してみると無名関数をeachには渡せないようである。関数の中身を見てみると、内部で独自な感じのapply系の関数を使っているようだ。 listも使わず、eachも使わないという謎の縛りで、同じようにやるとしたらこんな感じかなー。 >

    複数の関数を適用した結果を返すeach関数 - yasuhisa's blog
    kkobayashi
    kkobayashi 2009/10/30
    (pgr みたいな名前が面白い
  • はてなインターン全日程終了しました - yasuhisa's blog

    8/2に京都に到着、8/3からインターンが開始されたはてなインターンですが無事全日程終了しました。後半に進めるのが決まったのが二週間前だとか信じられません。 というわけで興奮覚めないままの感覚で書いていこうと思います*1。 インターン後半戦 インターンの前半戦は毎日出される課題を倒していくという感じの日々でしたが、後半は実際にプロダクトの作成、改善、追加などを行ないました。チームも前半とは違って再配置となり、僕はid:mi_kattun、id:mroriiと一緒にid:onishiさん、id:antipopさん、id:ninjinkunさんの運用チームでやらせてもらいました。 このチームにて コメントスパム コメント日記 の撲滅を目指してスパムフィルタの作成をしました。以前は結構簡単なルールでフィルタリングしていたのですが、最近とにかく(当に!当に当に!!当に当に当に!!!)ス

    はてなインターン全日程終了しました - yasuhisa's blog
  • はてなインターンの前半戦が終わりました - yasuhisa's blog

    インターン期間中にはなかなかBlogが書けないだろうなーと思ってはいましたが、予想以上に書けてないですね。。。 12日に最後の課題が出されて、今日はいままでの課題の再提出にあててよい時間でした。課題は全部で7つあって、全ての点数が6点(10点満点)を越えないとインターン後半に進む権利がもらえません*1。ちなみに僕は3/7しか一発で合格できていません。でも、必死に(いやもう必死に)再提出したので、6点は全部行きましたよ><。後半に進めるかは明日の朝に発表されます。 あとはいつもの通り思ったこととか適当に書いていきますよっと。 とにかく書くのが遅い こういうデータ構造ならうまくいくだろうな こういうパターンをあてはめることができるだろう という感じでタンスの引き出しが少ない、という問題は前々から感じていましたが*2、「はまったときにはまっている時間が長い」というのが特に問題だなということに気づ

    はてなインターンの前半戦が終わりました - yasuhisa's blog
    kkobayashi
    kkobayashi 2009/08/16
    インターンきびしそう・・・
  • useR!2008での面白そうな発表をいくつか上げてみた - yasuhisa's blog

    メモメモ。てか、RubyKaigiとかと比べても発表数めっちゃ多いんだが、これ全部発表あったのかな? useR! 2008: Abstracts and Slides 適当に見ていったやつ Good Relations with R 集合とか扱えてるっぽい。自前でやろうとしていたw。ファジィーなのとかもあるのかな? RRReportGeneratorReportGeneratorpp Rでレポーティング自動化しちゃうよ みたいな 毎日データが上がってくるような感じだと便利かな。前にやったアクセス数の予測とかのをバッチ処理してmailさせてたのとかもある意味これか Direct Marketing Analytics with R Rを使ったDMの分析。そんなに難しいことはやってないっぽいけど、さくさく作れそうなのがいいでつね Rをguiでごにょごにょやる系の発表は結構あるっぽいなあ。なんか

    kkobayashi
    kkobayashi 2009/05/30
    アニメーションはもっと評価されるべき
  • Tsukuba.R#4での発表資料 - yasuhisa's blog

    上げておきます。 Rを高速化するための10の方法 id:syou6162 自己紹介 吉田康久 id:syou6162 syouでおk Tsukuba大学の4年生 最近の出来事 卒研おわた ノンパラメトリック回帰 自分でRのパッケージを作ってみた 初めて!! 漢ならコードで語れ、ということで自分のパッケージを作った - Seeking for my unique color. Google summer of code Rのプロジェクトがあるので応募しようと思っている ここから題 Rを高速化するための10の方法 注意 割とアドバンスな内容を話すかも だけど、R初心者の人にも役に立つような話も折り混ぜていくので聞いてやってくだしあ>< きっかけ 卒論が理論&シミュレーション Macbookをがんがん回す まともに回すと3日かかる>< 3つのステップ Rレベルでの高速化 Cレベルを使った高速化

    Tsukuba.R#4での発表資料 - yasuhisa's blog
    kkobayashi
    kkobayashi 2009/03/01
  • S4の理解がちょっと深まった - yasuhisa's blog

    色々漁っていたら、色々見つかってS4で長年よく分かっていなかったようなところが分かってきたような気がしているところ。 http://www.omegahat.org/OOP OOPってそのまんますぐるwwwとか思ったらしっかり書いてあってめちゃくちゃ参考になる A (Not So) Short Introduction to S4 例が分かりやすかったので、しっくりきたなど こないだ作った自分のパッケージのもS4風だとこんな感じで書けそう。 setClass( Class="nw", representation=representation( Y = "numeric", X1 = "numeric", X2 = "numeric", h = "numeric" ) ) setMethod(f= "plot", signature= "nw", definition=function (

    S4の理解がちょっと深まった - yasuhisa's blog
    kkobayashi
    kkobayashi 2009/02/20
  • CでRを拡張するための方法解説 - yasuhisa's blog

    解説というほどの解説でもないんだけど、日語リソースが非常に少ないので、ちょっとは役に立つかもしれないなと思って。 短かいですが、上のエントリのCの部分を中心に説明していこうかなと思います。 拡張するための3つ方法Writing R Extensionsをばーっと読んで僕が把握したことを書きつらねていこうかと思います。4章以降ですね。 Rのシステムと他言語のインターフェイスとなる関数には大きくわけで3つ(4つ?)あります。 .C(.Fortran) .Call .External の3つです。 Cの関数で書く 今回は自分が使った.Callのパターンについて書いてみようと思います。 R関数の実行を加速するためにCコードを使うことはしばしば非常に有効である。伝統的にはこれはRの.C関数を経由して行われる。このインタフェイスの一つの制限はRオブジェクトはC中で直接には処理できないことである。 と

    CでRを拡張するための方法解説 - yasuhisa's blog
    kkobayashi
    kkobayashi 2009/01/17
  • CでRの拡張したら速すぎて(40〜50倍)吹いたwww - yasuhisa's blog

    昨日Gibbs Sampler Algorithmをやってみたわけだが、Rの中でfor文を書いていて必要となるサンプル数が多くなると非常につらくなってくることは目に見えている。しかも、MCMCでは初期値依存となる期間のサンプルを捨てないといけない。そういうわけでじゃんじゃんサンプルを作っても大丈夫なような速度が必要。 Rで速度を上げようと思ったらapplyファミリーを使うとかベクトル単位での処理をするetcが常套手段*1。が、今回は質的にfor文が必要なケースである。 で、困るわけだがRにはC、C++、fortranを使って拡張する機能がある。詳しくはこの辺に載っている。そういうわけでCのポインタもアドレスも理解していないid:syou6162がRが好きすぎたためにCを書いてみたという感じの内容。 #include <R.h> #include <Rinternals.h> SEXP r

    CでRの拡張したら速すぎて(40〜50倍)吹いたwww - yasuhisa's blog
    kkobayashi
    kkobayashi 2009/01/17
    Rの拡張。Rレベルでのチューニングの余地もあるかもしれない。cf. http://www.okada.jp.org/RWiki/?R%A5%B3%A1%BC%A5%C9%BA%C7%C5%AC%B2%BD%A4%CE%A5%B3%A5%C4%A4%C8%BC%C2%CE%E3%BD%B8
  • Example of Metropolis Hastings Algorithm - yasuhisa's blog

    ということで初めてのMCMCだよ。パターン認識と機械学習 下 - ベイズ理論による統計的予測のP252-253、マルコフ連鎖モンテカルロ法 (統計ライブラリー)のP9-14とここの資料を参考にしながら作りました。 What to doガンベル分布(二重指数分布)からのサンプリングが困難な状況を仮定します。そういう状況でサンプリングしてきて、ガンベル分布の平均とか分散を計算してみたい。Rejection SamplingとかImportance Samplingとかあるけど、定数決めるのが難しかったり、そもそも多次元だと適切な提案分布を見つけるのが困難><ということで、そういう状況でも戦えるマルコフ連鎖モンテカルロ法(MCMC)を導入します!!RにはMCMCpackとかいうライブラリはあることは知っているけど、最初なので敢えて自分で書いてみるよ!! Metropolis Algorithm

    Example of Metropolis Hastings Algorithm - yasuhisa's blog
    kkobayashi
    kkobayashi 2008/12/14
    MCMC祭りという響きはそそられる。計算機統計だいすき。
  • S4が分からないので、本を買ってきた - yasuhisa's blog

    買うのは時間の問題だったんだけど、Webの資料じゃ格的に限界を感じてきたので購入。 Rの基礎とプログラミング技法 作者: U.リゲス,石田基広出版社/メーカー: シュプリンガー・ジャパン(株)発売日: 2006/10/22メディア: 単行購入: 14人 クリック: 114回この商品を含むブログ (47件) を見るRプログラミングマニュアル (新・数理工学ライブラリ 情報工学)もすごくよいなんだけど、思想とかそういうのを感じるには上のがよいかなーと勝手に感じた。 Rでのオブジェクト指向プログラミングを実現するS4という方法を調べている。Tsukuba.R#2で発表する予定なんだが、わけがわかっていない。S3というシンプルな方法もあるのだが、S4が今風なのかな。 class(hoge) <- "hoge" でおkというのはあんまりに(ry。 「知っていることを発表する」というより「発表す

    S4が分からないので、本を買ってきた - yasuhisa's blog
    kkobayashi
    kkobayashi 2008/08/29
    S4の解説に期待。
  • 本棚をうpしてみるテスト - yasuhisa's blog

    棚整理してみたので、なんとなく醸してみるテスト。自己紹介の代わりに棚紹介するメソッドってないの? 左のほうは割りと休憩的な数学ガールとかいいですね。真ん中くらいは確率論の準備のための測度論とかそれに必要な集合と位相のとか。 左のほうはアクチュアリー関連ということで、保険系のが並んでいます。真ん中は読書会とかもやっている機械学習系の。あと統計の理論っぽいもいくつか並んでいる。統計のための行列代数は全然やってねーな。 統計やっているならやっとかないと、的な意味でベイズ統計のがばーっと並んでいます。一番右のは理論統計学のファイル関係。 プログラム関係のPerl関係がなぜか一番多いという。 あとはちょっとづつ色んな言語のが並んでます。Rubyは思ったより少ない。使用頻度の割りには。いかに大したことをやっていないか、ということですね。 R関係。6冊とかで思ったより少ない。まあ

    本棚をうpしてみるテスト - yasuhisa's blog
    kkobayashi
    kkobayashi 2008/08/24
    本いっぱいある・・・。俺は全然ないなあ・・・。「計算機統計II」は日本語でまともなbootstrapの解説が読める唯一の本(当時)だったなあ。MCMCなんかも当時は英語の論文しかなくて大変だったなあ
  • Tsukuba.R#1をやってきたよ!! - yasuhisa's blog

    当日の朝まで資料を作ったりとか、名刺刷ったりとか、リハーサルしたりでどたばたしてたんですが、なんとか無事終了することができました。会場の芝浦工大のid:negaton、id:t_yamazaki021さん、id:negatonの研究室の先生、発表してくれた4人、無線LAN環境を提供してくれたid:hayamiz、ust配信のid:Hash、参加してくださった方々ありがとうございました!! 皆さんの発表 id:tor_ozakiが超詳しいレポートを上げてくれているので、僕は感想っぽいことを書いていくよ。 Happy Graphics!([id wakuteka]):Rのグラフィックス関係について。たぶん、Tsukuba.R#2とかでは高水準関数とか低水準関数とかの付近もまとめてくれると思うので期待!! A history of the "R"(@misho) ちょ、自重www。@mishoク

    Tsukuba.R#1をやってきたよ!! - yasuhisa's blog
    kkobayashi
    kkobayashi 2008/07/27
    ちょっと書いた