リッジ回帰

Practical Regression and Anova in Rの9章がprincipal component regression (PCR)とかPartial Least Squares(PLS)に割かれている。

その中でRidge Regressionってのがいまいちわからないので、リッジ回帰で探してみると、サポートベクターマシン入門が。

昔、購入してめくったけど、ちゃんと読んでないやってことで、これまた読むことにした。

ProductName サポートベクターマシン入門
ネロ クリスティアニーニ
共立出版 / 4200円 ( 2005-03 )


色々統計関連の書籍を読みながら、わからないとこはまずRjpWikiで探すと理解が深まっていいと思うようになった。少しは進歩したのかな?

HaskellでBioinformatics

本日普通のHaskellプログラミングの7章まで読み終えた。そろそろ、具体的な例題解いてみたいなぁと思ったが、3部13章のWIkiをつくってみようの章まではあと5つもある。今のとこ、ここまで読んで、実用Perlプログラミングみたいに他の言語との違いみたいなページを割いてくれるとよかったりと思った。それ以外は、unixのコマンドをtailとかheadとかをhaskellで書こうみたいな感じにすすむので理解はしやすいヨ。

ProductName ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門
青木 峰郎
ソフトバンククリエイティブ / ?円 ( 2006-06-01 )


実際に、どんな感じの問題に適用すんのがいいのかなぁとか、考えたときに、ゲノムみたいな大きい配列操作すんのに適してるも。もしかしてbioinformaticsでなんかあるかなと探したらあった。

論文あったのでアブスト眺めたけど、DPってhaskell向きなのかな?まだ、いまいちわかってなさげ。

Rによる統計的プログラミング でRと比較しているのだから統計的な(というより数学的な)記述にむいているのは感覚的にわかるんだけどなぁ。

ということはchemoinformaticsでの利用例あるだろ、とか思うんだが見当たらない。

Statistics::R なんかいまいち

perlで軽く処理するためにStatistics::Rを使ってみたんだけどなんかいまいち

perlで処理している感がない

結局、Rはsourceで呼び出しているだけだから、配列とかそのまま扱えないの。だからこんな感じでコードを書かないといけない。

#!/usr/bin/perl

use Statistics::R ;
use strict;
use warnings;

my $R = Statistics::R->new() ;

$R->startR ;

$R->send(q`x <- c(5.05, 6.75, 3.21, 2.66)`) ;
$R->send(q`y <- c(1.65, 26.5, -5.93, 7.96)`) ;
$R->send(q`print(lsfit(x, y))`) ;

my $ret = $R->read ;

$R->stopR() ;

print $ret;

しかも結果はparseしてないヨ。

  • 配列がぁ
  • 出力のパーザーが、、、、

結局、Rでバッチ処理するのとなんら変わらないじゃないかと、、

$R->sendでjoin()使えば@xでもいけるじゃんとか言われそうだけど、それはちょっと違う。

$R->lsfit(@x,@y)みたいな感じでRのメソッド呼び出したいのよ。

Statistics::Rに比べるとrpyとかscipyのほうがずっと使いやすいかも。