差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン | 次のリビジョン両方とも次のリビジョン | ||
stan [2018/04/18 18:02] – watalu | stan [2018/04/18 19:16] – watalu | ||
---|---|---|---|
行 9: | 行 9: | ||
出力されるのは疑似乱数列のデータである。たとえば平均やメディアンを計算したり、ヒストグラムを描くなど、データの扱いにまた別のソフトウェアを必要とするため、通常はRやPythonなどの環境を通して用いられる。 | 出力されるのは疑似乱数列のデータである。たとえば平均やメディアンを計算したり、ヒストグラムを描くなど、データの扱いにまた別のソフトウェアを必要とするため、通常はRやPythonなどの環境を通して用いられる。 | ||
- | === 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というファイルに保存する。 | ||