卒研

漢ならコードで語れ、ということで自分のパッケージを作った

何か自分のproductがあるといいよなーと思ったので卒研で書いたコードの断片をパッケージにして公開してみました。パッケージはここに置いています。作ったものの説明ノンパラメトリック回帰の手法の一つであるナダラヤワトソン推定量を計算するためのパッケ…

卒論おわた

1/26(月)に卒論提出、1/29(木)に発表ということで卒論が終わりました。今週は研究室の先輩にプレゼン&配布資料などを見てもらったりして、自分だけで書いた時より、相当かなりとーってもよくなったんですが、まあ聞かれるべきところを聞かれて研究ではそこで…

危うく死ぬところだった

週末Cで高速化してなかったら死ぬところだった。理論だけじゃなくてシミュレーションでもナダラヤワトソンが真の関数にpointwiseに平均二乗収束する、ということを示すのも追加しようかと言われた。ということは、ナダラヤワトソン推定量を100回くらい計算し…

劇的に高速になった

上の続き。2変数のナダラヤワトソン推定量(乗法的カーネルを仮定しない)においてクロスバリデーションを最小にする平滑化パラメータ行列の計算はすでに終わっている。が、悲しくなるくらい遅い。n=1000で3日かかるくらいである。というわけで上のCの方法を使…

密度トレイスを計算させるための関数の続き→mickey24が添削してくれたよ!!

昨日の続き。 密度トレイスを計算するための関数を書いてみた - Seeking for my unique color. @tkf経由で知った関数オブジェクトを受け取るアルゴリズム - nursの日記を参照してたら大分きれいになった。operatorに変態な(?)ことをしてやればいいようだ。結…

やることありすぎて死にたいです、うほほ

一つの数式の展開を色々やっていると10pをを越えるなどして、自分がどこにいて何をやっているのか分からなくなってきたりして死にたくなっているところ。これがまだ簡単なバージョンであることを考えるともう精神が病みそうです。あと、先生からの注文もどん…

LaTeXのこととかまとめておく

書いてたらLaTeX以外のことも入ってきたけど、気にしない。数式だけで20枚を越えてきたので、そろそろ整理の方法を考えておかないと崩壊しだす時期です。ということでなんかまとめておく。ながーい文章をLaTeXで書くのは初めてなので、間違っているところと…

速度を取るか、美しさを取るか

以前多変数ナダラヤワトソン推定量をpltoしてみるとことプログラミムを書いたりしました。 多変数ナダラヤワトソン推定量を計算する関数を自前で実装した - Seeking for my unique color. この時は乗法的カーネル関数を仮定していたわけだけど、それを仮定し…

本日までの卒研の流れ

今日までの卒研の流れをまとめてみたよ!!おいらの進んでないっぷりが分かるんじゃないかな!!みんなも適当にまとめて、この記事にトラバ飛ばすといいよ!!9月中旬以前 うほほ、何もやってないよ 理論をやるときに必要になりそうな、基礎的事項の準備をしている…

卒研終了後にやりたいことをまとめてみるライフハック

終了する前に書いておくのが好きな人間なので、書いておくことにします。まあ、いつもこのリストの7割できればいいかなーくらいのあれで書いているので、そんなところです。ぶっちゃげこれ全部できたら神(ry。卒業旅行とか行く人もたぶん多いんだろうけど、M…

多次元カーネル関数の色々なバージョンをplotしてみる

多変数におけるカーネル関数はいままでにいくつか扱ってきました。やったものとしては密度推定と、ナダラヤワトソン推定量による曲線回帰のようなものがあります。 2変数でのカーネル密度推定の練習 - yasuhisa's blog 多変数ナダラヤワトソン推定量を計算す…

RでK近傍法を用いたクラス分類をするためのコードを書いてみた

K近傍法による密度推定はいまいちな気がしたので、K近傍法によるクラス分類を行なうことにしました。多クラスでもいいんだけど、まあ2クラスから始めます。クラスに帰属する事後確率が(P123の(2.256式))であることを利用しています。自分で適当にデータ生成…

RでK近傍法による密度推定するためのコードを書いてみた

PRMLの2章の最後の付近にK近傍法というのが出てきました。 www.yasuhisay.info で、僕が卒研でたぶんやるカーネル使ったやつに比べてやったら考え方がシンプルなので、とりあえず実装してみることにしました。密度トレイスということなので、1次元の球を考え…

多変数における最小二乗クロスバリデーション評価関数を最小にするhを決定する

以前カーネル単回帰のところで最小二乗クロスバリデーション評価関数 を最小にするhを決めるというのをやりました。「カーネル重回帰でも最小二乗クロスバリデーション評価関数を最小にするのがある意味(hogehogeに確率収束する、など)においてよい」という…

多変数ナダラヤワトソン推定量を計算する関数を自前で実装した

先週は、1変数でのナダラヤワトソン推定量を計算していました。 オレオレ平滑化をやってみた - Seeking for my unique color. 最急降下法で最適なバンド幅を計算してみた - Seeking for my unique color. 今週は先生に「多変数でやってみな!!」と言われてい…

2変数でのカーネル密度推定の練習

2変数というとで先週書いた密度トレイスを参考にしました。が、微妙に間違いも発見しました。 カーネル関数を使って密度トレイスを書いてみた→最後のほうに微妙に間違いがあるので注意!! - yasuhisa's blog gauusian関数の仲の1/hにかかる括弧が抜けていた。…

Multivariate Kernel Density Estimationの練習

Tsukuba.Rで3次元のplotは練習しておいたから楽勝。とりあえず、MASSパッケージのkde2d関数を自前で実装することに挑戦するのが今の課題。 #2変数のガウス分布のplot double_gaussian <- function(x1,x2,sigma=1,mu1=0,mu2=0){ return(1 / (2*pi*sigma^2) * …

週末的なToDo

たてこみまくっている。。。 卒論 カーネル重回帰のところで最適なhのベクトルを決めるところの問題は、とりあえず本に載っていなかったので今週はやらなくてもよさげになった。まあ、いつかはやらないといけないんですが。。。で、たぶん最小二乗CV評価関数…

最小二乗クロスバリデーション評価関数を最小化のためのコード

これをとりあえず最急降下法で出してみることにする。 y.exp <- function(Xj,Yj){ y.exp.intern <- function(Xj,Yj){ return(paste("exp(-1/2 * ((Xi - ",Xj,")/h)^2) * ",Yj,sep="")) } paste(paste(mapply(function(Xj,Yj){y.exp.intern(Xj,Yj)},Xj,Yj),co…

オレオレ平滑化をやってみた

この前自前にて密度トレイスを書いてみましたが、これを使えば平滑化も簡単に行けるということが分かったので、実際にやってみました。ガウシアンカーネル関数はこの前とほとんど同じで、を計算するための関数を作りました。あとはそれを割ったりしているだ…

カーネル関数を使って密度トレイスを書いてみた→最後のほうに微妙に間違いがあるので注意!!

カーネル関数の一つであるエパネクニコフというやつをとりあえずやってみた。Rでいうところのdensityを自前で書いた、という感じです。関数は6行なんだけど、すっごい重い。 epanechnikov <- function(r){ epanechnikov.intern <- function(r){ return(paste…

変数選択問題の概要等について

問題点統計学の重回帰モデルにおいて、変数選択の問題は重要な問題である。不適切な説明変数を採用してしまった場合、次のような問題が起こることが知られている。 回帰モデルに無駄な変数(真の回帰係数が0であるような変数)が含まれている時、誤差分散の推…

研究計画書を見てもらった&研究計画書の内容

研究計画書を先生、ドクターの先輩、院試勉強会に来ていた友達、gebの人々という感じで10人くらいの人にチェックをしてもらいました。人によって全然違うところを指摘されるので(いい意味で)、非常にためになりました。あとは、既存研究とか面接で聞かれた時…

研究計画書

研究計画書を含めた書類を来週の月曜に提出しないといけないんだけど、研究何したいか決まってすら(ry、という状態をなんとか脱出したような気がします。きっかけは友達にデータ解析の最終レポートについて教えてた時にふと、というものなんですが「そういえ…