差分
このページの2つのバージョン間の差分を表示します。
— |
stan_modeling_language [2018/04/18 19:17] (現在) watalu created |
||
---|---|---|---|
行 1: | 行 1: | ||
+ | ==== Stanモデリング言語 ==== | ||
+ | |||
+ | Stanのための事前分布やモデルの記述には、[[https:// | ||
+ | |||
+ | Stanのコードは、幾つかの宣言ブロックからなるという構造を持つ。各ブロックは接頭語と中括弧{}で区切られる。主なブロックはdata、parameters、modelの3種類である。dataブロックとparametersブロックはそれぞれ、データとパラメータの変数型を定義する。dataブロックに観測値を記すこともできるが、新たな観測値を得る都度、コンパイルし直すことになるため、あまり推奨されない。modelブロックに、事前分布やデータのモデルを指定する。 | ||
+ | |||
+ | 例えば平坦なベータ分布を事前分布とし、二項分布から1回の観測値を得る場合のStanのための記述は次のようになる。 | ||
+ | |||
+ | < | ||
+ | data{ // データの宣言 | ||
+ | int x; // 観測された成功回数 | ||
+ | Int n; // 試行回数 | ||
+ | } | ||
+ | parameters{ | ||
+ | real< | ||
+ | } | ||
+ | model{ | ||
+ | p ~ beta(1, | ||
+ | x ~ binomial(n, | ||
+ | } | ||
+ | </ | ||
+ | これらをテキストエディタで書き、binomial.stanというファイルに保存する。 | ||