元バイオ系

元バイオウェット系がデータサイエンスやらを勉強していくブログ。 基本自分用のまとめ。

【数理統計】Fisher情報量とクラメール・ラオ下限(CR下限)

Fisher情報量って何なのか理解したかっただけ。 Fisher情報量がわかれば、クラメール・ラオ下限(不偏推定量の分散の下限)がわかる。 備忘録として簡単にまとめておく。 前提として、不偏推定量についてだけ考えるものとする。 不偏推定量に関してはこちら …

Julia1.0でマクロを@docしまくった

タイトルの通りである。 「Juliaのマクロ、全然わからん」 と思ったので、とりあえず@の後にtabを打って出てくるマクロすべてについて@docしてみた。

【Julia】Julia-1.0.0のProjectを試す【仮想環境?】

Julia1.0.0が遂にリリースされました。 仮想環境っぽいものを作って環境の切り替えができるようなので、試してみます。 Projectの作成 Anaconda Pythonではconda createコマンドで仮想環境を作れました。 Julia1.0.0ではProjectと呼ぶようです。 Anacondaで…

文献検索、管理、メモを1つの画面で完結させる

文献管理ソフトの紹介です。 以前にPaperpileが凄いって紹介をしました。 hotoke-x.hatenablog.com 個人的には好きなんですが、wordとの相性が悪い... もっと良いのはないかと思ってたらReadcubeがありました。 数か月使ったので良い部分を簡単に紹介してい…

JuliaでPRML:ベイズ曲線フィッティング

やってみた。 コードは qiita.com をかなり参考にさせてもらっています。 計画行列が自力ではうまく使えないので若干コードに不安ありです。

JuliaでPRML:多項式曲線フィッティング

Juliaの勉強も兼ねてPRMLの多項式フィッティングを実装してみた。 誤差関数書いたけど、今回は解析的にパラメータが出てくるので結局使っていない。 GAとかMCMCとかでパラメータ推定して性能見てみるのもいいかも。 計画行列をうまく使えるようになりたい。

【数理統計】ラオーブラックウェル化(Rao-Blackwellization)

理解したいのはこっちでした。 本質的には同じ問題だけど。 ラオーブラックウェル化(Rao-Blackwellization)は、条件付き期待値を利用して期待値を計算する方法です。 サンプルが独立なら、ブラックウェルーラオの定理より直接期待値を計算するより精度が良…

【数理統計】ブラックウェルーラオ(Blackwell-Rao)の定理

はい。 私がちゃんと理解したかった定理です。 復習したら見た瞬間理解したのですが、一応メモっておきます。 初学者向けの説明がなかなかネットに落ちていなかった(気がする)ので。 初めに行っておくと、この定理は 「十分統計量で条件づけた不偏推定量の…

【数理統計】最尤推定量とバイアス

尤度 尤度については hotoke-x.hatenablog.com を参照。 例によって離散か連続かはあまり気にせず書きます。 尤度関数とは、母集団分布からの独立標本が得られたとき、確率関数から同時確率関数を母数の関数と見た $$L_n (\theta | x_1, \ldots, x_n) = \pro…

【数理統計】尤度関数と十分統計量

勉強したことを自分なりにまとめたものです。 間違い等があれば指摘していただけると嬉しいです。 私は「せいきぶんぷ~?」、「のんぱらめとりっく~?」という状態から 応用を目指す数理統計学(国友 直人) で勉強しました。初学者が手を出すには敷居が高…

Julia tips #9: CVODE (Sundials.jl) の数値積分が終わらない時の回避方法

追記 どうやら、せっかく設定したhminは内部でフラグチェックが行われないようです。 solve関数のmaxitersオプションで対応するしかないかもしれません。 また後程検証してみます。 以下は検証が十分ではありません。 ソルバ自体の動作に支障はありませんが…

Julia tips #8: パッケージの追加に失敗したとき

自宅PCにDifferentialEquations.jlを追加しようとしたら以下のようなエラーが... julia> Pkg.add("DifferentialEquations") ERROR: resolve is unable to satisfy package requirements. The problem was detected when trying to find a feasible version f…

Julia tips #7: Juliaでプロットのlegendを手動で変更したい

Juliaのプロットにて、legendの変更で躓いたので色んなバックエンドで簡単に試してみた。 Plotlyでのプロットが消えてしまいましたが、まぁいいでしょう。 legendをプロットの外へ移動したい場合はどうすればいいんだろうか... 解決しました。 これではだめ…

Jupyter notebookのフォントを変える(Windows 10)

Juliaで下付き文字を使うときにあまりにも見にくかったので、フォントを変えて多少なり誤魔化したいというのが事の発端。 幾らでも情報は転がっていますが、ぱっと調べた感じだとWindowsでいじっているのを見かけなかったので、念のためのメモ書きです。 以…

Windows 10でJulia専用のPython仮想環境を作る

Juliaでは、Pythonを呼び出して使うことができます。しかし、何も考えずに使おうとするとMinicondaのPython 2.7がインストールされてしまいます(2018/02/01現在)。 そこで、Anacondaで作ったJulia専用の仮想環境を作って、その中でJulia用のPythonパッケー…

Julia tips #6: Multiple-Try Metropolisを実装してみた

Multiple-Try Metropolis (MTM)って? メトロポリス・ヘイスティングスの多数決バージョンです。 今いる場所から次の候補を複数生成し、その値周辺が今いる場所より尤もらしければ候補の中の1つへ移動します。 細かい話を書く元気がないので、理論的な背景は…

Julia tips #5: MCMC法(Metropolis-Haisting法)を実装してみた

JuliaにてMCMC法(Metropolis-Haistings法)を実装してみました。 コードの利用・改変・再配布は自由にして構いませんが、何か起きても責任は取りません。 一部いらない変数や無駄実装が混じってます。動作に問題はありません。バイオ実験系なので許して...…

Julia tips #4: Cairoのインストールに失敗する

環境 Windows 10 HOME Julia 0.6.2 JuliaでグラフをプロットするライブラリとしてはGadlyが有名?ですが、プロットをpng形式で保存するためにはCairoというパッケージが必要です。 そこでPkg.add("Cairo")したらインストールに失敗したというお話。 解決法も…

Julia tips #3: ODE solverの速度比較 with Python

JuliaではSundials.jlをインストールするだけで、SundialsのODEソルバ、CVODEが使えます!!(マニアックすぎ?) 未知システムのパラメータ推定をする際、数値積分の区間をうまいこと刻まないと値が飛びすぎて計算できなかったり、刻む必要のないところで刻…

Julia tips #2: ファイル検索

スタックオーバフローより。 「組み込み関数はないけどワンライナーで書けるよ」 とのこと。 関数化したほうが便利ですね。以下コードです。 searchdir(path,key) = filter(x->contains(x,key), readdir(path)) readdir (path) 渡したpathの中にあるディレク…

Julia tips #1:【超簡単】コードのテスト

テストマクロについてのメモ(2017/12/03時点) 環境 windows 10 Pro (Fall Creators Update) WSL有効化済み WSLのbashにて実行 環境構築の仕方はこちらをどうぞ hotoke-x.hatenablog.com テストマクロの使い方 まずはJuliaのバージョン確認から $ julia --v…

Windows Subsystem for Linux + Python + Jupyter + Julia

Windows Subsystem for Linux (WSL)で開発環境を構築する Windows10 Fall Creators Updateにて、WSLが正式版となりました。 以下ではWSLの有効化は事前に行っているものとします。 WSLでは、Linuxが仮想環境ではなくサブシステムとしてWindows上で動く。 細…

Google Driveで文献管理 Paperpileが凄い

研究者を悩ませる文献管理 研究者にとって、増え続ける論文は仕事の効率を悪くする。 ほしい文献がどこに行ったか覚えていない supporting informationどこよ ファイルがダブっている てか読んだっけ? なんてことは日常茶飯事で困っていた(情報整理とか豆…

os.walkでエラーが出た

pythonの話題。 なお環境はAnacondaで構築して、python3.5となっている。 普段使っていたスクリプトがファイル読み込みでエラーをはいたのでその原因を調べた。 pandasとかいう便利なやつ データ分析する人なら御用達のpandas。 エクセルファイルを簡単に読…

Ubuntuをアップデートしたらネットに繋がらなくなった

いつもの調子でsudo update!!PC すると突然、DNSエラーが出てネットに繋がらなくなった。 同じ症状で困っている人もいると思うので記録しておく(調べれば一瞬で解決だけど)。 DNSサーバーって? 雑な言い方をすると、google、yahooなどの名前からIPアドレ…

UbuntuでOneDriveを使いたい

Ubuntuで直感的にOneDriveを使いたい。 rcloneとかいう便利なソフトがあるらしい。 GUIもあるから設定してみた。 そんなお話。 rcloneってなに Linux使いならよーくご存じだと思われるrsyncのクラウドバージョン。 それがrclone。 色々なクラウドストレージ…

Ubuntuのアップグレード

アップグレードの前に設定を確認 英語版Ubuntu システム設定 Software & Updates Updates のタブ を選択 Notify me of a new Ubuntu version で「 For any new version 」を選択 日本語版Ubuntu システム設定 ソフトウェアとアップグレード アップデート の…

NeoVim + deinで快適なエディタ生活【Ubuntu 16.04 LTS】

Neovimの導入 neovimのよくあるインストール方法 sudo apt-get install software-properties-common sudo add-apt-repository ppa:neovim-ppa/unstable sudo apt-get update sudo apt-get install neovim これでとりあえずのインストールは完了。 deinのイン…

markdownで論文・レポートを書く、実践編【Ubuntu 16.04 LTS】

markdownからwordへ変換する最も簡単な方法 test.mdの中に適当にマークダウン形式で何か書いておく。 <test.md> # Heading1 ## Heading2 hogeほげ - list - list - list 1. list1 1. list2 1. list3 で以下のコマンドを入力 pandoc test.md -o test.docx t…

markdownで論文・レポートを書く、環境準備編【Ubuntu 16.04 LTS】

論文やレポートの体裁を整えるのはひたすら苦痛だ。 ワードは書きやすいけど数式に弱いし面倒くさい。 Latexは数式や体裁を整えることが得意だが、可読性が低い。 markdownは数式にも強いし可読性も高いが、citationが苦手。 これらのいい所だけ集めたのがpa…