タグ

ベイズに関するAobeiのブックマーク (83)

  • インポータンス・サンプリング(importance sampling)の有難味について - My Life as a Mock Quant

    なんとなーく頭でわかっているつもりになっていたものをちゃんと手を動かしてやっておきたい。 まず、インポータンスサンプリングについて一言で説明しておくと 「ある量の期待値を計算したいという状況において、その確率変数が大きな値を取る個所を重点的*1にサンプリングしてやることで、期待値評価の精度をあげる手法」 ということができる。 問題設定としては以下のような期待値評価をモンテカルロ法で計算したい、そんな状況を考える。 意味合いとしては「指数分布に従うxを使って正規分布(ガウシアン)的な関数の期待値を評価したい」ということ。 ここで,は適当に決める定数で、今回はそれぞれ10000, 6と設定した。 この積分自体は解析的に計算できて となって、以下ではこの答えをきちんとモンテカルロ法で再現できるかどうかというのが問題になる。 まずはパス数を1,000パスとしてR言語を使って評価したい関数を定義する

    インポータンス・サンプリング(importance sampling)の有難味について - My Life as a Mock Quant
    Aobei
    Aobei 2016/07/29
    重点サンプリング
  • http://www.singularpoint.org/blog/r/importance-sampling-1/

    http://www.singularpoint.org/blog/r/importance-sampling-1/
  • ベイズ統計学その20〜ベイズ推定を用いたt検定〜 - Rを通じて統計学を学ぶ備忘録ブログ

    □Bayesian Estimation Supersedes the t Test(BEST) 日は ベイズ で平均値の差の検定を行っていきます。使用パッケージはBESTですが、 JAGS もインストールしておく必要がありますので、ご注意ください。また、以下2の論文と説明書を参考にしております。 ・ John Kruschke(2013) Bayesian Estimation Supersedes the t Test, Journal of Experimental Psychology: Vol. 142, No. 2, 573– 603 ・ Mike Meredith and John Kruschke(2015): Bayesian Estimation Supersedes the t-Test ・ Packages "BEST" 平均値の比較といえば、Student’s

    ベイズ統計学その20〜ベイズ推定を用いたt検定〜 - Rを通じて統計学を学ぶ備忘録ブログ
  • 近似ベイズ計算の実装例 - 捨てられたブログ

    『近似ベイズ計算によるベイズ推定』の逐次モンテカルロ法を R で実装してみました。 Sisson et al. (2007) で例示されている 2 つの正規分布 , の混合分布からのサンプリングを行います。 SAMPLE_COUNT <- 1000 TOLERANCE <- c(2, 0.5, 0.025) perturb <- function(x) rnorm(length(x), x, 1) getDistance <- function(theta) abs(ifelse(runif(1) <= 0.5, rnorm(1, theta, 1), rnorm(1, theta, 0.1))) dataset <- lapply(TOLERANCE, function(e) c()) while(length(dataset[[1]]) < SAMPLE_COUNT) { theta

    Aobei
    Aobei 2016/07/09
    逐次モンテカルロ
  • パーティクルフィルタのテスト – Momentum

    概要 ・パーティクルフィルタ(aka 粒子フィルタ or 逐次モンテカルロ法)のテスト ・とりあえず特定化されたモデルを対象 ・勉強したことから成敗するためという名目で写経状態。ちなみにこの記事の全内容は参考文献に書いてあります。 ・パーティクルフィルタスゲー モチベーション そもそもなんでパーティクルフィルタをやる必要があるかというところですが、一言で言うと「オンライン推定ができるから」ということになります。 ・カルマンフィルタ:完全に特定化されたモデルの場合はカルマンフィルタでオンライン推定が可能。ただし通常は未知パラメータがモデルに含まれるため推定が必要 ・MCMC:無いならパラメータを弾けば良いじゃないとなりますが計算が重い。しかも新たな観測値を得られたら、最新の状態を推定するために1からモンテカルロをぶん回す必要がある。そんな悠長なことは言っていられない。 未知パラメータを含み

    パーティクルフィルタのテスト – Momentum
  • 使ってみよう〜BUGS(乱数を使ってベイズ推定)〜R+openBUGS - ryamadaの遺伝学・遺伝統計学メモ

    ここ数日のR+opeBUGSの使用歴を散逸しないようにepub化 以下はRmdファイルです。こちらなどを参考にすれば、自由にhtml文書化・epub化できます(が、それが面倒な場合には、kindleで) 近くこちらから 使ってみよう?BUGS(乱数を使ってベイズ推定)?R+openBUGS 作者: ryamada発売日: 2014/03/28メディア: Kindle版この商品を含むブログ (1件) を見る 主な内容は BUGSとは 準備:openBUGSを使えるようにする RからopenBUGSを使えるようにする 試しに使ってみる 非BUGS推定 BUGS推定 例で慣れるR+openBUGS 0か1かの確率の推定 モデルファイル 実行条件 正規分布の平均と分散とを推定する 線形回帰をやってみる 招待選手と一般参加選手の2群〜混合分布〜 n次線形回帰をしてみる カーネル分布推定 # 使ってみ

    使ってみよう〜BUGS(乱数を使ってベイズ推定)〜R+openBUGS - ryamadaの遺伝学・遺伝統計学メモ
    Aobei
    Aobei 2016/07/08
    カーネル
  • Kernel Bayesian Computation の R による実装例 - 捨てられたブログ

    少し前の事ですが ,京都大学で行われた日遺伝学会第 83 回大会に参加しました。その中の "Kernel Bayesian Computation" という講演が気になりました。 集団遺伝学の世界ではモデルが複雑な場合に尤度を回避できる approximate Bayesian computation (ABC) という手法がよく用いられます。 ABC についてはブログでも『近似ベイズ計算によるベイズ推定』や『Tokyo.R#17』[A] でまとめています。しかし ABC は計算コストが非常に高いのが難点です。 Kernel Bayesian computation (KBC) は ABC と同様に尤度計算を行わずにベイズ推定をする手法なのですが, ABC のような無駄な計算がないのが特徴です。そこで, KBC を R で実装してみました。 [warning] 警告 私自身,まだきちん

    Aobei
    Aobei 2016/07/08
    カーネル法
  • ベイズ混合モデルにおける近似推論① ~変分近似~ - 作って遊ぶ機械学習。

    今回から数回に分けてベイズ混合モデルの構築法と種々の近似推論(変分近似、ギブスサンプリング、崩壊型ギブスサンプリング)に関してお話ししたいと思います。 混合モデルの代表的なアプリケーションはクラスタリングですが、今回ご紹介するモデルの構築方法はクラスタリングにとどまらず、もっと凝ったモデルを構築するための基パーツになるものです。例えば時系列情報を取り扱うためのHMM(Hidden Markov Model)や自然言語処理でよく使われているLDA(Latent Dirichlet Allocation)などはこれらの混合モデルを拡張することにより得ることができます。レゴブロックのように、アイデア次第ではそれ以上に複雑で豊かな表現力を持ったモデルを構築することも可能です*1。 さて、今回の記事ではまず始めに混合モデルの例としてポアソン混合モデルを導入します。そして、以前にご紹介した変分近似(

  • 順序データでもベイズモデリング

    2014.12.6. Nagoya.R #12 外国語教育研究の仮想データを用いてRのlme4パッケージやlmerTestパッケージを使ってみるというような主旨の発表です。 slideshare上から無料でダウンロードできなくなってしまったので,speakerdeckにも同じ資料をあげました。ダウンロードされたい方,広告がうっとおしいという方は下記のURLからどうぞ。 https://speakerdeck.com/tam07pb915/an-introduction-to-lme

    順序データでもベイズモデリング
  • 心理学者のためのベイズ統計入門

    ※こちらのスライドは誤りを含んでいます。修正スライドをアップしましたので以下をご覧ください。 https://www.slideshare.net/simizu706/ss-57721033 大阪教育大学での研究会で発表した資料です。 心理学者のために,かなり基礎的なところからベイズ統計について解説しています。 間違えているところがあればご指摘いただけると幸いです。 黒木玄(@genkuroki )さんからご指摘いただき、スライド内容に間違い、ミスリーディングな箇所があることがわかりました。スライドを見られる方は以下のツイートも併せてみていただくようお願いします。 https://twitter.com/genkuroki/status/973007871821557760

    心理学者のためのベイズ統計入門
  • Lesson10.Bayesian Modeling 2

    #2016.01.07現在,Rpubsが不調なため(?),こちらにアップします。 #2016.01.22 Rpubsが復旧したので,そちらにリンクを貼るようにします。なお,前に載せてあった記事にはstanコードにバグがありましたので,修正しました。 Lesson10. Bayesian Modeling 2 http://rpubs.com/kosugitti/145116

    Lesson10.Bayesian Modeling 2
  • 先週見つけたR関連記事のメモ 2015/8/26 | 日々是独想 - 日々の徒然なることを独り想う。

    今週も遅れてしまいました…orz 台風データの可視化 先日台風15号が西日を直撃し大変でした。かくいう私も山口に滞在していて日中ホテルから出ることができませんでした。そこで台風の可視化です。 台風に関するデータは非常に重要なものなので、世界中できっちりデータを測定・公開されています。過去の台風のデータを可視化した記事として、kohske先生の以下の記事があります: – Analyses and Visualization of Typhoon in R and ggplot2 #1: The basics | Hi!! {ggplot2}を使って非常に綺麗でわかりやすい可視化です。さすがですすばらしいです。ただこのデータは「過去の台風」データから持ってきています。やっぱり現在迫ってきている台風を可視化したいですね。 するとr-wakalangのチャットルームにこちらの表からデータを持って

    先週見つけたR関連記事のメモ 2015/8/26 | 日々是独想 - 日々の徒然なることを独り想う。
    Aobei
    Aobei 2015/08/31
    stan情報など
  • スプライン曲線で簡単お手軽ベイズ推定 - アドファイブ日記(ミラー版)

    R Advent Calendar 2013の11日担当記事です。 日付を一日勘違いしてしまい一日遅れになってしまいました。すみません。 テーマは、スプライン曲線で自由に設定した確率分布を使ってベイズ推定をやってみよう、というものです。ガウス分布もベータ分布も出てきません。え、共益分布?なにそれ、尤度関数にマッチする事前分布を設定すればパラメータの更新だけで事後分布出てきますよだって?ノンノン、記事はそんな小難しいこと知らなくてもベイズ推定のキモは試せるぜ、という話です。 さて能書きはこれくらいにして題。 R言語でスプライン曲線 飛び飛びの点を用意してsmooth.splineというの関数に与えると、スプライン補間した関数(に相当するオブジェクト)を返してくれます。それに任意のxの点を与えると対応するyの点を返してくれます。 例えば xy<- rbind( c(0,10), c(20,

    スプライン曲線で簡単お手軽ベイズ推定 - アドファイブ日記(ミラー版)
  • ( 教材サイト 備忘録 )RからMCMC ~ RStanコード例文 分析モデル別 - Qiita

    (学習メモ) MCMCサンプラー RStan を R から使う際のスクリプトの書き方 「銀座で働くデータサイエンティストのブログ」掲載の例文 まとめ 「銀座で働くデータサイエンティスト」さんが、分析モデル別に、 RStan のスクリプトを例文列挙してくださっていたので、今後の学習のために、インデックスを(勝手に m(_ _)m )貼らせていただききました! (リンク)「Stanで統計モデリングを学ぶ(3): ざっと「Stanで何ができるか」を眺めてみる」 1.正規線形モデル 2.ロジスティック回帰 ・ プロビットモデル __ ※ ロジスティック回帰の Stan スクリプトについては、以下も参考__ (リンク)サボタージュ禁止のおさぼり日記 「rstanでちょこちょこ」 3.多項ロジットモデル 4.ARモデル (時系列解析: 自己回帰モデル) 5.GARCHモデル (時系列解析: 自己回帰分

    ( 教材サイト 備忘録 )RからMCMC ~ RStanコード例文 分析モデル別 - Qiita
  • データ分析というお仕事のこれまでとこれから(HCMPL2014)

    ハッカーズチャンプルー2014でお話してきた内容です。「データサイエンティスト(カナ)はオワコン」 http://hackers-champloo.org/program.htmlRead less

    データ分析というお仕事のこれまでとこれから(HCMPL2014)
  • R でベイズ線形回帰の予測分布 - 木曜不足

    一番は「やっぱりR覚えよう……」としみじみ実感したことかもしれない(苦笑)。 というわけで R 始めました。 同じことやっても仕方ないので PRML 3.3.2 のベイズ線形回帰による予測分布をやってみることに。 とはいえ、昨日インストールして、今日 R-Tips を読みながら使い始めたという、おしりに立派な殻がついた ひよこちゃんなので、心優しい人が突っ込んでくれることを期待して、 step by step で書いてみる。 R-Tips を読んで、R とは ベクトルと行列の操作が全ての基。とても便利に使えるようになっている ベクトルとスカラーを演算すると、スカラーが自然にベクトルに拡張される。たとえば v + 3 は ベクトル v の全要素に 3 を加えたベクトルを返す スカラーを取る関数にベクトルを与えることもできる。たとえばベクトル (1,2,3) を log() に入れると、(l

  • ベイジアンネットワークを使ったウェブ侵入検知

    はじめに 私たちが提供しているSaaS型のWAFサービス、Scutum(スキュータム)では、より高精度な攻撃検知を実現するために、ベイジアンネットワークの技術を利用しています。今回は「ウェブセキュリティ」「不正検知」「異常検知」「攻撃検知」といった観点から、ベイジアンネットワークについて解説します。 ベイジアンネットワークとは? ウィキペディアによると、ベイジアンネットワークは次のようなものです。 ベイジアンネットワーク(英: Bayesian network)は、因果関係を確率により記述するグラフィカルモデルの1つで、複雑な因果関係の推論を有向グラフ構造により表すとともに、個々の変数の関係を条件つき確率で表す確率推論のモデルである。 非常に的を射た説明ですが、「わかっている人にはわかるし、わかっていない人にはわからない」という感じもするかもしれません。基からしっかり理解したいという場合

    ベイジアンネットワークを使ったウェブ侵入検知
  • バンディットアルゴリズム入門と実践

    39. 実際の使用イメージ 試行数 アーム1期待値 アーム2期待値 アーム3期待値 活用or探索 0(0/0) 0(0/0) 1 1(1/1) 0(0/0) 2 1(1/1) 0(0/1) 3 1(1/1) 0(0/1) 4 1(2/2) 0(0/1) 5 1(2/2) 0.5(1/2) 6 1(2/2) 0.5(1/2) 7 8 0.66(2/3) 0.5(1/2) 9 0.5(2/4) 0.5(1/2) 10 0.4(2/5) 0.5(1/2) 0(0/0) 0(0/0) 0(0/0) 0(0/1) 0(0/0) 0(0/0) 0(0/2) 0(0/2) 0(0/2) 0(0/2) ・・・最も期待値の高いアーム 39 探索 探索 探索 探索 探索 探索 活用 活用 活用 活用 ランダム選択 引くアーム 結果 1 2 3 1 2 3 - アーム1 アーム2 アーム3 アーム1 アーム2

    バンディットアルゴリズム入門と実践
  • Small Data Scientist Memorandum 

    2013/6/12にtwitter上の#tokyorで面白い質問がありました(●Q1と●Q2)。辛抱できず自分で解決したついでに、今後も役に立ちそうな確率変数の変数変換について少しまとめてみました。 ●Q1. 以下は1.00…が出力されます。なぜですか? sum 10000回を十分大きな数とみなせば、これは変数の平均値が出力されると解釈できます。ここでは平均0, 標準偏差1の正規分布からランダムに抽出された5サンプルであることに注意して式変形すると、 となります。式の変形の途中にあるは母集団の標準偏差を表します。今回は1です。ここで、は教科書に載っているように自由度4のカイ2乗分布に従います(この証明もそんなに難しくなく重要ですが今回はパスします)。また、自由度4のカイ2乗分布の平均値は4です。よっての平均値は、 となります。Q1.の最終的な出力は1となります。 ●Q2. 以下は0.94…

    Small Data Scientist Memorandum 
  • 階層ベイズモデルで勝敗データからプロ棋士の強さを推定してみました

    タイミングの悪さに定評があるberoberoです。以前の記事のTrue Skillモデルを若干拡張して、勝敗データから将棋のプロ棋士の強さ(skill)を推定しました。 まず勝敗データとレーティングの値ですが、こちらのサイトを参考にさせていただきました。このようなデータを日々更新していくのには多大な努力と忍耐がないとできません。素晴らしいサイトです。 モデルのBUGSコードは以下のようになりました。 今回は以前よりはデータが豊富にあるため、skillをこの10年の時系列に沿ったARモデルにしています。1年ごとに対局データを分けて、1年ごとにskillを推定しています。また個人ごとの勝負におけるムラも推定しています。こちらはARモデルにすると収束が著しく悪くなったため、時刻で不変としました。ほんとは禁酒しただとか彼女と別れただとかで勝負ムラも変わってくると思うんですけどデータ不足で推定は厳し

    階層ベイズモデルで勝敗データからプロ棋士の強さを推定してみました