タグ

ブックマーク / teramonagi.hatenablog.com (3)

  • foreach+doSNOWパッケージを使って、並列処理をやってみた - My Life as a Mock Quant

    なんだかweb屋界隈ではHadoopだのMahoutだの象を使うだの使わないだの楽しそうな事をやっていて、私はとてもさみしく、そしてうらやましくもなったわけですが手元にそんな立派な環境なんてないわけで。しかし、そんな私にもマルチコアのパソコンが与えられているのでそれで計算の並列化をやってみた。OSはwindows XP(32bit)。 使うのは統計数理研究所のセミナーでお薦めされていたforeachパッケージ*1。これはRevlution Rの人たちが作っているので今後とも継続的な開発と進化が期待できるとのこと。まずは、doSNOWパッケージも合わせてインストール。 install.packages("foreach") install.packages("doSNOW") foreachパッケージではforループの並列化をしてくれるのですが、処理を並列化させないで書くこともできるのでまず

    foreach+doSNOWパッケージを使って、並列処理をやってみた - My Life as a Mock Quant
    oanus
    oanus 2014/04/19
  • Rcpp・inlineパッケージを使ってC++とRを連携させる - My Life as a Mock Quant

    「R単体だと遅いので計算のボトルネックはC++で書くようにすればいいんじゃないか、せっかくそのためのRcppなる便利パッケージもあるし」とずっと思っていたものの毎回インストール方法を調べることすら億劫がってやっていなかったのですが、前回の記事に書いたバイブルにその辺りも書いてあったので、ここで一発奮起してやってみることにした。 まずは導入編ということでRcpp・inlineを使うための環境のインストールから。手元のOS等の環境は windows 7(32bit) R-2-14-1が既にデフォルトのインストール先(C:\Program Files\R\R-2.14.1)にインストール済み とりあえずC++コンパイラ等を勝手に入れてくれるツール・Rtools.exeが必要なので最寄りのミラーである筑波のミラーサイトから自分のインストールしているRのバージョンに合わせたものをダウンロード*1&

    oanus
    oanus 2012/02/26
  • compilerパッケージ使ってバイトコンパイルすればRでも十分イケる計算速度がでるんじゃないか? - My Life as a Mock Quant

    最近発刊されたR言語使い必携の書 をパラパラ読んでいるのですが、そこにcompilerパッケージ*1の使い方も書いてあって、これを見た限りcompilerパッケージを使ってコンパイルした関数はコンパイルしてないそのままの関数よりも10倍程度速くなってるっぽいので、やってみようと。そしてRでも速度的にやっていけるのかを見極めたい。 金融系での応用を念頭に、サンプルに使用する関数は以前書いたブラウン運動のパスを生成する関数とした。 4行で書くブラウン運動のパス - My Life as a Mock Quant まずはパッケージの読み込み&関数の生成をして・・・ library(compiler) #ブラウン運動のパスを返す関数 BrownianPath <- function(number.of.path, number.of.time) { apply(matrix(rnorm(numbe

    oanus
    oanus 2012/02/26
  • 1