-
Notifications
You must be signed in to change notification settings - Fork 3.5k
/
default.expect.txt
40 lines (38 loc) · 4.06 KB
/
default.expect.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<span class="hljs-title">functions</span> {
<span class="hljs-meta">#include <span class="hljs-string">normal</span>_<span class="hljs-string">copula.stanfunctions</span></span>
}
<span class="hljs-title">data</span> {
<span class="hljs-type">int</span><<span class="hljs-keyword">lower</span>=<span class="hljs-number">0</span>> N;
<span class="hljs-type">int</span> K;
<span class="hljs-type">matrix</span>[N, K] x;
}
<span class="hljs-title">transformed</span> <span class="hljs-title">data</span> {
<span class="hljs-type">complex</span> zi = <span class="hljs-number">1</span>+<span class="hljs-number">3.14i</span>;
zi = zi * <span class="hljs-number">0i</span>;
<span class="hljs-type">complex</span> yi = <span class="hljs-built_in">to_complex</span>(<span class="hljs-number">0</span>, <span class="hljs-number">1.1</span>) + <span class="hljs-built_in">to_complex</span>(<span class="hljs-number">0.0</span>, <span class="hljs-number">2.2</span>) + <span class="hljs-built_in">to_complex</span>();
<span class="hljs-type">real</span> x = <span class="hljs-built_in">get_real</span>(<span class="hljs-number">3i</span> - <span class="hljs-number">40e-3i</span> + <span class="hljs-number">1e10i</span>);
}›
<span class="hljs-title">parameters</span> {
<span class="hljs-type">array</span>[K - <span class="hljs-number">1</span>] <span class="hljs-type">real</span> mu;
<span class="hljs-type">array</span>[K + <span class="hljs-number">1</span>] <span class="hljs-type">real</span><<span class="hljs-keyword">lower</span>=<span class="hljs-number">0</span>> sigma;
<span class="hljs-type">cholesky_factor_corr</span>[K] L;
}
<span class="hljs-title">model</span> {
<span class="hljs-keyword">target </span>+= <span class="hljs-built_in">normal_lpdf</span>(x[ : , <span class="hljs-number">1</span>] | mu[<span class="hljs-number">1</span>], sigma[<span class="hljs-number">1</span>]);
<span class="hljs-keyword">target </span>+= <span class="hljs-built_in">gumbel_lpdf</span>(x[ : , <span class="hljs-number">2</span>] | mu[<span class="hljs-number">2</span>], sigma[<span class="hljs-number">2</span>]);
<span class="hljs-keyword">target </span>+= <span class="hljs-built_in">lognormal_lpdf</span>(x[ : , <span class="hljs-number">3</span>] | mu[<span class="hljs-number">3</span>], sigma[<span class="hljs-number">3</span>]);
<span class="hljs-keyword">target </span>+= <span class="hljs-built_in">weibull_lpdf</span>(x[ : , <span class="hljs-number">4</span>] | sigma[<span class="hljs-number">4</span>], sigma[<span class="hljs-number">5</span>]);
{
<span class="hljs-type">matrix</span>[K, N] y;
<span class="hljs-keyword">for</span> (n <span class="hljs-keyword">in</span> <span class="hljs-number">1</span> : N) {
y[<span class="hljs-number">1</span>, n] = <span class="hljs-built_in">inv_Phi</span>(<span class="hljs-built_in">normal_cdf</span>(x[n, <span class="hljs-number">1</span>] | mu[<span class="hljs-number">1</span>], sigma[<span class="hljs-number">1</span>]));
y[<span class="hljs-number">2</span>, n] = <span class="hljs-built_in">inv_Phi</span>(<span class="hljs-built_in">gumbel_cdf</span>(x[n, <span class="hljs-number">2</span>] | mu[<span class="hljs-number">2</span>], sigma[<span class="hljs-number">2</span>]));
y[<span class="hljs-number">3</span>, n] = <span class="hljs-built_in">inv_Phi</span>(<span class="hljs-built_in">lognormal_cdf</span>(x[n, <span class="hljs-number">3</span>] | mu[<span class="hljs-number">3</span>], sigma[<span class="hljs-number">3</span>]));
y[<span class="hljs-number">4</span>, n] = <span class="hljs-built_in">inv_Phi</span>(<span class="hljs-built_in">weibull_cdf</span>(x[n, <span class="hljs-number">4</span>] | sigma[<span class="hljs-number">4</span>], sigma[<span class="hljs-number">5</span>]));
}
y ~ <span class="hljs-built_in">multi_normal</span>(L);
}
}
<span class="hljs-title">generated</span> <span class="hljs-title">quantities</span> {
<span class="hljs-type">matrix</span>[K, K] Sigma = <span class="hljs-built_in">multiply_lower_tri_self_transpose</span>(L);
}