2015-01-01から1年間の記事一覧

日付(Date) → 文字列(character)はstrftime 関数

R

関数名覚えられないマン。 > today <- Sys.Date() > class(today) [1] "Date" > today [1] "2015-12-26" > strftime(today, format="%Y%m%d") [1] "20151226" > class(strftime(today, format="%Y%m%d")) [1] "character"

ggvisでインタラクティブな凝った可視化をする

R

この記事はR Advent Calendar 2015の9日目の記事です。ggvisパッケージを使ってちょっとだけ凝った可視化をしてみたので、その備忘録&情報共有です。 内容としては (適当な)予測モデルを作って 予測値からの実際のずれが上に(下に)大きいほど、描画される点…

r-wakalangのおかげでベクトル引数に対応したseqっぽものが一瞬で出来上がりました。ありがとうございます

R

連続する数値をたくさん作ろうとコードを書いたら以下のように怒られた。 > seq(0, 1:15) Error in seq.default(0, 1:15) : 'to' は長さ 1 でなければなりません 世間はなんて辛いんだ。 そこで、↑が動くor等価な出力をする結果がほしいとr-wakalangで質問し…

渡辺君、ぼかぁCRANではテストしとうないんや…

R

自分で作ったパッケージについて、パッケージをCRANにあげるのは大変な苦労をともなう。 それを少しでも軽くしたい、手元や継続的CI環境ではテストに成功しているのにCRANでもテストするだなんて面倒くさい。そんな時にはtestthatパッケージで単体テストを書…

確率変数の変換について

ロジックメモ ある確率変数とその写像で定義される2つの確率変数、特に確率変数の確率分布について考えたい。 の確率分布関数は と確率変数の確率分布関数を用いてあらわすことができる。ここで、は単調増加な関数であると仮定している。単調減少の場合は不…

売上げを気温で回帰してみる

あたまだし 掲題の件、最近出たわかりやすいデータ分析の入門書、 において 売上げ v.s. 気温 として回帰分析をしていたケースがあった。これが時系列データに対するやってはいけない回帰、すなわち、みせかけの回帰に相当するケースではないか?という話を…

dplyr: by + do.call("rbind")するならdoすべし

R

"グループ毎にXXXしたい"という時のXXXの内容が複雑な場合、関数として処理を切り出したくて、以下のように書いてみた。 処理の内容は"Speciesのグループ毎にその最終行のPetal.Lengthの値を取得する"だ。 > process <- function(df){ + df[nrow(df),]$Petal…

C++/C言語の実行時間計測

C++

したい。 関数によってミリ秒だったり秒だったり、OSによって実時間だったりCPU時間だったりする点に注意。 #include <iostream> #include <vector> #include <chrono> #include <time.h> int main() { const int size = 1000 * 1000; //C++11版, ミリ秒単位、実時間ベース std::vector<int> x; auto</int></time.h></chrono></vector></iostream>…

cent 6系に無理やりdevtools-3入れる

gccのバージョンを4.9系にしないとC++の正規表現ライブラリが使えないので、バージョンアップ。そのためにはScientific Linux Cern 6 repositoryを使う。 cd /etc/yum.repos.d wget http://linuxsoft.cern.ch/cern/scl/slc6-scl.repo 本家のレポジトリだと重…

数値→文字列をstd::to_string関数でなんとかする

C++

std::to_string関数、引数1個しかないので調整効かないのがあれだったがなんとかする。substrでいらんところを削って、小数点はXに置換しておいた。 #include <iostream> #include <string> #include <regex> int main() { const double pi = 3.1415926; std::cout << std::to_string(</regex></string></iostream>…

Python3系だと、map関数の返り値もlazyなんだねぇ

また騙された。 In[1]: map(lambda x: x, [1,2,3]) Out[1]: <map at 0x5086d30> In[2]: list(map(lambda z: z, x)) Out[2]: [1, 2, 3] 合わせて騙されたい Python3系だと、zip関数の返り値はlazyなzipオブジェクトなんだねぇ - My Life as a Mock Quant</map>

dplyrで分とか時でgroup_by()したいときにむりやりxtsを使ってみる

dplyrで分とか時でgroup_by()したいときはlubridate::floor_date() - Technically, technophobic. 10分単位でgroup_byして集計したい - 盆栽日記 でやられている話を無理やりxts使ってやってみたらこうなるという話で、関数を用意してなんとかする感じです。…

標準誤差と(ノンパラメトリック)ブートストラップのイケない関係

標準誤差と(ノンパラメトリック)ブートストラップについて、特に理論的なお話はおいておいて、直感的にどういうことなのかということをメモりたい。 それぞれ (回帰分析の係数の)標準誤差: ある確率分布からのサンプルデータに対し推定されたある統計量(ここ…

可視化で理解しない「負の二項分布」

匿名知的集団であるホクソエムの親分が可視化で理解する「負の二項分布」 - ほくそ笑むで言及している負の二項分布ですが、シンクロニシティというか、同じ匿名知的集団ホクソエムなので当たり前と言えば当たり前なのですが、私も負の二項分布、特に負の二項…

層別サンプリングした結果を綺麗に持ちたい

層別サンプリングをするには、samplingパッケージのstrata関数使えばいいんだけど、出力とインターフェイスがイケてないのでラップする。 下記の`stratified_sampling`関数を使えば、各層(クラス)の割合を一定に保ったままサンプリングしてくれる。 library(…

新型のランダムフォレスト(Random Forest)パッケージ比較:Rborist・ranger・randomForest

R

最近、ランダムフォレスト系のパッケージの高速実装が複数 CRAN - Package Rborist CRAN - Package ranger 出てきたので、それ調べておきたい。各々install.packagesを使えば入るので入れておくこと。また旧型(randomForest)も比較対象にしておく。まず、速…

leafletパッケージで地図上にランダムにマーカーを打ちつつそれを1秒おきに更新するshiny app

R

invalidateLaterで制御する感じか。あとはまともなリアルタイムデータソースにつなげばたのしそう。ものはこちら。 https://teramonagi.shinyapps.io/lefproxy コードは以下でOK. library("shiny") library("leaflet") ui <- bootstrapPage( tags$style(type…

3次元のベクトル場を書く際には(heplots | compositions)パッケージの(arrow3d | arrows3D)関数

R

rglパッケージベースな3次元ベクトルのplot on 3次元には(heplots | compositions)パッケージを使うのがよさげか。書き方の便利さからcompositionsパッケージを使っていきたい。また、rglベースじゃなく、静止画でOKならplot3Dパッケージもあった。 heplots…

Python3系だと、zip関数の返り値はlazyなzipオブジェクトなんだねぇ

遅延評価好きだけど2系と違うのでハマった。 x = [(1,2), (3,4), (8,9)] print(zip(*x)) print(list(zip(*x))) 出力 <zip object at 0xb73409ac> [(1, 3, 8), (2, 4, 9)]</zip>

(g)lmのNA省略(デフォルトの挙動)でうっかりうっかり

データにうっかり欠損(NA)が入ってると、デフォルトでその行がモデル構築&予測結果からごっそり削られるうっかりミスを防止するための備忘録うっかりうっかり。 > library(dplyr) > #デフォルト(自分で設定したオプション値だけど)のNAなし時の挙動 > get…

data.frame(データフレーム)にlapplyする

R

lapplyをデータフレームに適用すると > df <- data.frame(a=1:5, b=letters[1:5]) > df a b 1 1 a 2 2 b 3 3 c 4 4 d 5 5 e > lapply(df, function(x){x}) $a [1] 1 2 3 4 5 $b [1] a b c d e Levels: a b c d e と、列ごとに処理が走る。それを(元のdata.f…

某ボラティリティ指数のスポット・先物(1か月後満期)の相関

ソースは御察しいただくとして、チャート観た感じ、すんげぇずれてるように見えたんだけど意外と相関してたわ。結構ヘッジできそう。データ(df1, df2)は某所より入手してこんな感じで変形(リターン化)。データは直近250日分データで。 x <- df1[,1:2] y <-…

scl enable devtoolset-2 bash

この辺を参考に上げさせてもらったgccのバージョンを使うためのおまじないを毎度ググってるので、いい加減メモ。 $ gcc --version gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11) Copyright (C) 2010 Free Software Foundation, Inc. This is free software; …

日経平均ボラティリティー・インデックス(日経平均VI)周りの情報

日経225のVI先物のデータはこれから取れそう…だが、なんかオーダーがおかしい。1万倍されてるのか??? https://www.quandl.com/data/NIKKEI/VI_FUT-Nikkei-225-VI-Futures-Index ・・・と思ったら、これは「日経平均ボラティリティー・インデックス先物指…

ブランチからファイル引っ張ってきて差分比較する

すぐ忘れる。 git checkout branch-name file-name git diff HEAD file-name | less -r

screenコマンド系のまとめ

ここを探せ screen:Media hub screenのkill > screen -X -S (session) quit 参考 [http://stackoverflow.com/questions/1509677/kill-detached-screen-session:title=http://:title]

GPUメモリの使用率監視はnvidia-smi

コンソールから以下を打つ。 > nvidia-smi -l Sat Jul 18 12:57:58 2015 +------------------------------------------------------+ | NVIDIA-SMI 346.46 Driver Version: 346.46 | |-------------------------------+----------------------+-------------…

オブジェクトのシリアライズはpickle

3系でやってる。 import pickle x = (1,2,3) y = [777] pickle.dump((x,y), open('hoge', 'wb')) X, Y = pickle.load(open('hoge', 'rb')) X, Y ((1, 2, 3), [777])

Gtk-WARNING **: cannot open displayを止める

パスワード聞いてくる際にGUIが立ちあがっちゃう系の状態を止める unset SSH_ASKPASS でOK。

pforeachとforeach関数の戻り値の微妙な違い

R

親分が作ったpforeachパッケージという素晴らしく簡単にRで並列計算できるパッケージがある R で超簡単に並列処理を書けるパッケージ pforeach を作った - ほくそ笑む 通常使う分には現在提供されている機能で十分なのだが、デフォルトの戻り値の型がpforeac…