citychart探し

ここ2,3日、excelみたいなcitychart(3次元ヒストグラム)をwebで表示するツールを探してた。

実際にやりたいのは、

  • X軸: 時間軸
  • Y軸: カテゴリ
  • Z軸: 度数

を見やすく表示することだ。

gnuplotが第一選択肢だったが、イマイチ綺麗じゃないので、選択肢から消えた。

続いてPerlモジュールをあさってみたところ、GD::GraphとImagerにそれらしきものを発見

まず、GD::Graph::bars3dだが、2次元ヒストグラムを3次元っぽく見せてるだけだった。Math::Project3D::Plotのほうは Math::Project3DとImagerを利用しているようだが、ちょっとMath::Project3Dの使い方をきちんと把握してなくて動かせなかった。

やっぱRでカテゴリごとに分けてヒストグラムを表示するのが一番見やすいかなぁ。それか領域を色分けした折れ線グラフ

Recursive Feature Elimination

文献あさってたらrecursive feature eliminationというSVMから記述子の重みを推定するらしき方法を見つけたのでRでできんもんかと探した。

結局探せなかったんだけど、Feature Selectionのためのツールを少し見つけたのでメモ。

Looking for packages to do Feature Selection and Classification

  • random forest (varSelRF)
  • caMassClass

あと、バイオインフォでもやっぱ使われてるのね。後で読もう

プリチャードの読学紀行 : Regularized Least Squares Cancer Classifiers from DNA microarray data

Classifier の中でもSVM とRegularized Least Squares (正則化最小二乗法)を比較した文献。 正則化最小二乗法はを使うことでSVMでの計算量の多さを低減し、未知のサンプルの遺伝子発現が少ない際に、その利点を発揮する、ということらしい。

Rの本ってどれがイイの?

一年くらい前の下書きエントリが残っていたのでまとめてみた。ちなみに僕は会社に入ってから統計覚えたにわか(エセ?)スタティシャンで、お気楽統計が好き。t検定とかF検定とかほとんどやらない。むしろSVMとかベイズとか好んで使います。もちろんPCAとかで空間にマップするのもみて面白いんで、テキストマイニングも大好きだ。

というわけでちょっと、偏ってるかもん。

自分の過去のエントリ見てみると、perlからRを呼び出してつかったり、scipyとかnumpyに惹かれてるようだけど、視覚化ツールとしてのRも結構好き。

1.The R Tips―データ解析環境Rの基本技・グラフィックス活用集

ファーストチョイスはこれ。

Rの使い方の本だ。実際にRで動かして感触を得ながら読み進めていくのがよいかと。数値計算に関する話とか、行列計算とか丁寧に書かれているので理解しやすい。あとplotなんかの例が豊富で、それがまたRをいじる気にさせるわけだ。僕は15章のグラフィックスが一番役にたった。

そして、わからないとことか深く調べたいときにはRjpWikiで調べればよい。

欲を言えばオライリー本みたいにいい紙使って欲しかった(ちょっと重い)。


2.Rによる統計解析の基礎

こちらは、Rの使い方を懇切丁寧にというよりは、初歩の統計をRのコードを交えながらという感じ。

感覚としてはperldocみたいに知りたいとこだけ知るにはいい感じ。だいたいRの使い方わかっていればperldocのSYNOPSISのように必要最低限記述してあるほうが使い勝手がいい。

名前にだまされたとかでアマゾンではいい点ついてないけど、僕は★★★★☆ぐらいかな。確かにR初心者で懇切丁寧な本を探してる人にはどうかなぁとは思う。あとは普通に統計学学んでる人にも書いてる内容が基本的すぎてつまらないのかも知れない。

でも、H2L(Hit-to-Lead)とかLO(Lead Optimization)に関わっててQSARとは違う切り口で統計的な手法なんか使ってみたいなぁ。とか思っている人にはいいかもよ。(明らかにアッセイ条件しくってて)R2ボロボロでシグモイド曲線もよれててカテゴリカルなんじゃね?って思うのに、IC50きっちり出しといたとか言い張られると、後ろでこそっとノンパラ検定やりたくなるでしょ、奥さん。みたいな。そんな時A5なサイズで厚みもそんなにないこの本をこっそり登場させると吉だ。

ProductName Rによる統計解析の基礎 (Computer in Education and Research)
中澤 港
ピアソンエデュケーション / 1890円 ( 2003-10 )



3.The R Book―データ解析環境Rの活用事例集

まんま事例集。最初のほうに初級者用の章があるがあんま役にたたん。この手の本にインストールのやり方書く必要あんのか?むしろpdfにしてCDに突っ込んどけばなんて思ってしまう。あと、想定されてる読者層がいまいちわからない。というのは、イントロダクション的な内容があったり、パッケージの作り方が書いてあったりとか、内容が盛り込みすぎなんだが、節操がないんだかわからんような構成で、質がまちまちなのは著者が章ごとにバラバラだから仕方ないのかな。正直1部に章を割く必要あるのかpdfで(以下略)

一応、16章がBioconductorの章になってんだけど、十数ページしかないし、マジにイントロだけなのでちょっとRでバイオインフォじゃ!みたいなノリで読むと物足りないこと間違いなし。スポッポファイアの事例集のが役に立つかなぁ。

むしろ参考になったのが

  • 第5章 Rでらくらく時系列解析
  • 第6章 Rで分析する社会学・社会調査データ
  • 第8章 Rによる画像処理
  • 第13章 Rでロジスティック回帰分析

5章の時系列解析は、HTSなんかのマシンの癖によるエッジ効果っていうかバギーなウェルのチェックとか、経時変化による細胞のへたり具合分析ルーチン書いたりする際に参考になった。

6章8章が役に立ったのは、主にケモインフォで。カテゴリカルなデータとかバイナリなデータはケモインフォな記述子いじる場合避けては通れないし、タニモト係数で評価すんのはちょっとなあって時にロジスティック回帰などいいかと思う。まぁそんなときにはまずベイズ推定したりすることのが多いけどな。

あと、画像処理で遊びたいナァと思っているので8章も参考になった。

Rの入門書としてはどうかな?むしろアイデア頂いたりとか、新しい統計手法に触れたりとか、アイデアブックとして使っている。

Rの基本パッケージ中の古典的検定関数一覧

RjpWikiRの基本パッケージ中の古典的検定関数一覧ってのができてて、しかもそれぞれに簡単な説明とRのサンプルが超訳として書かれてるので便利。

あとで、全部トレースしておこう。

ヒストグラムと密度の推定

色々とデータの分布を知りたいときに、ヒストグラムは区間を切ると形が変わったり、ヒストグラムの始点、終点を変えてもやっぱ形が変わるので、調子が悪い。

というわけで、KernSmoothを入れて密度推定することが多いのだが、ある種のQSARでもベイズ推定するために、密度推定する必要があったりと、ヒストグラムいじくるよりは密度推定したほうがよい場面が多くなった気がするのできちんと勉強しようと思い立った。

ヒストグラムと密度の推定 - RjpWiki

ヒストグラムと密度の推定

Statistics::R

サーバー(FC1)にR-2.1.0を入れて使っているが、

バッチ書くよりもスクリプトから書いたほうがエエナァ

RSOAPなんかは入れてあるけど、ちょっとしたスクリプト書くのにSOAPはないよなぁなんて思って、Statistics::Rを入れることにした。

make test すると

ERROR: unknown GUI none

なんていうエラーが出てとまるけど、v2.1.0から--gui=TYPEオプションをやめたせいらしい。(でもR --helpで使えるってでてくるけどな)

というわけで、/Statistics-R-0.02/lib/Statistics/R/Bridge/Linux.pmの--gui=noの部分を削ってインストールすれば動きますゾ。

colinux(debian)にRを導入

まずはdebianに開発環境を入れておく。

apt-get install gcc g77 g++
apt-get install libreadline5-dev

それから、Fedoraにインストールした時の記憶を頼りにに構築開始。RSOAPのページをみれば必要なものはわかるが、apt-getでインストールできたりできなかったりとかなり、紛らわしい。

まずR自体、--enable-R-shlibオプションつけておかないといけないので、自分でmake。colinuxではXは使わないので--withx=noで、あとは--enable-R-shlibも。

./configure --enable-R-shlib --with-x=no

SOAP関連はapt-getで、SOAPpyとPyXMLが入る。

apt-get install python-soappy

fpconstはないので素直に。rpyはapt-getで入れるとsessionライブラリをロードできないのでこれも普通に入れる。

python setup.py build
python setup.py install

Rのほうではsessionを入れておく。

R CMD INSTALL session_1.01.tar.gz

これでRSOAPをインストールすれば動く。サンプルのクライアントがついているので、それで動作確認。

これで、一台のマシンでRSOAPサーバー+クライアント環境が揃うので、移動中に開発できるヨ。

R-2.1.1インストール

統計解析パッケージRの更新はCRANミラーから。

日本語化けるのでrjpwikiをみながら修正かます。

プロキシーへの対応はここらへん

Explorerでのやり方わからんかったので、普通にDOSプロンプトから。

ren Rprofile.txt .Rprofile

または、Meadowを使うのがよろしいでしょう。

CGIwithR

RをwebからつかうのにRSOAPが紹介されているが、なんか、入れないといけないもんが多いし、SOAPとかパイソンがどうもなぁ?ということでCGIwithRを導入してみた。

これだとperlなんでなにやってるかわかるし、sessionモジュールを導入すればなんとかなりそうな感じ。

とはいえ、インタラクティブ性が重要なRをWEBから使うメリットって何よ?みたいな議論はおいといても、ルーチンワークはCGI化しとくのはアリなんじゃないかとは思う。

e1071

Rのe1071パッケージでよく使うのは、シャポベクつまりサポートベクターマシン(SVM)なんだけど、最近は短時間フーリエ変換(stft)をイジクッテイマス。

実際ある種のデータはplotすると格子模様が出たりして面白い。ただ、結果を見ることはできるんだけど「その意味」がわからんので、調べてみたが、ググググしてもなんも出てこん。というわけでさっぱしわからん@plot.stft。

Rにも思うところはある。というか、perlでいうラクダ本みたいな本がでないかなぁと思う。か、初めてのperlみたいなやつ。