|
79 | 79 | <link href="../../../site_libs/quarto-html/quarto-syntax-highlighting-59898bd1c6b9d2bb783127feaa000c76.css" rel="stylesheet" class="quarto-color-scheme-extra" id="quarto-text-highlighting-styles">
|
80 | 80 | <script src="../../../site_libs/bootstrap/bootstrap.min.js"></script>
|
81 | 81 | <link href="../../../site_libs/bootstrap/bootstrap-icons.css" rel="stylesheet">
|
82 |
| -<link href="../../../site_libs/bootstrap/bootstrap-6d473936cc8d00492cb799f5b8d7dea2.min.css" rel="stylesheet" append-hash="true" class="quarto-color-scheme" id="quarto-bootstrap" data-mode="light"> |
83 |
| -<link href="../../../site_libs/bootstrap/bootstrap-dark-95aa7e46042fcb06eef26a357215a1e0.min.css" rel="stylesheet" append-hash="true" class="quarto-color-scheme quarto-color-alternate" id="quarto-bootstrap" data-mode="dark"> |
84 |
| -<link href="../../../site_libs/bootstrap/bootstrap-6d473936cc8d00492cb799f5b8d7dea2.min.css" rel="stylesheet" append-hash="true" class="quarto-color-scheme-extra" id="quarto-bootstrap" data-mode="light"> |
| 82 | +<link href="../../../site_libs/bootstrap/bootstrap-4194f9562701575e5baa9af6c3668b6f.min.css" rel="stylesheet" append-hash="true" class="quarto-color-scheme" id="quarto-bootstrap" data-mode="light"> |
| 83 | +<link href="../../../site_libs/bootstrap/bootstrap-dark-c2fa6fa1a1f4e3883ea05d73102366a5.min.css" rel="stylesheet" append-hash="true" class="quarto-color-scheme quarto-color-alternate" id="quarto-bootstrap" data-mode="dark"> |
| 84 | +<link href="../../../site_libs/bootstrap/bootstrap-4194f9562701575e5baa9af6c3668b6f.min.css" rel="stylesheet" append-hash="true" class="quarto-color-scheme-extra" id="quarto-bootstrap" data-mode="light"> |
85 | 85 | <script id="quarto-search-options" type="application/json">{
|
86 | 86 | "location": "navbar",
|
87 | 87 | "copy-button": false,
|
@@ -1000,73 +1000,41 @@ <h1>Consider a probabilistic model defined by</h1>
|
1000 | 1000 | <div id="26" class="cell" data-execution_count="1">
|
1001 | 1001 | <div class="sourceCode cell-code" id="cb12"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sample</span>(<span class="fu">MiniModel</span>(m, (x<span class="op">=</span><span class="fl">3.0</span>,)), <span class="fu">MHSampler</span>(), <span class="fl">1_000_000</span>; chain_type<span class="op">=</span>Chains, progress<span class="op">=</span><span class="cn">false</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
1002 | 1002 | <div class="cell-output cell-output-display" data-execution_count="1">
|
1003 |
| -<div class="ansi-escaped-output"> |
1004 |
| -<pre>Chains MCMC chain (1000000×2×1 Array{Float64, 3}): |
| 1003 | +<pre><code>Chains MCMC chain (1000000×2×1 Array{Float64, 3}): |
1005 | 1004 |
|
1006 | 1005 | Iterations = 1:1:1000000
|
1007 | 1006 | Number of chains = 1
|
1008 | 1007 | Samples per chain = 1000000
|
1009 | 1008 | parameters = a, b
|
1010 | 1009 |
|
1011 |
| -Summary Statistics |
1012 |
| - <span class="ansi-bold"> parameters </span><span class="ansi-bold"> mean </span><span class="ansi-bold"> std </span><span class="ansi-bold"> mcse </span><span class="ansi-bold"> ess_bulk </span><span class="ansi-bold"> ess_tail </span><span class="ansi-bold"> rh ⋯ |
1013 |
| - </span><span class="ansi-bright-black-fg ansi-bold"> Symbol </span><span class="ansi-bright-black-fg ansi-bold"> Float64 </span><span class="ansi-bright-black-fg ansi-bold"> Float64 </span><span class="ansi-bright-black-fg ansi-bold"> Float64 </span><span class="ansi-bright-black-fg ansi-bold"> Float64 </span><span class="ansi-bright-black-fg ansi-bold"> Float64 </span><span class="ansi-bright-black-fg ansi-bold"> Float ⋯ |
1014 |
| - |
1015 |
| - a 0.9761 0.9003 0.0032 80996.1504 120761.1548 1.00 ⋯ |
1016 |
| - b 2.8807 0.4892 0.0012 169532.7931 212343.5210 1.00 ⋯ |
1017 |
| -</span><span class="ansi-cyan-fg ansi-bold"> 2 columns omitted |
1018 |
| - |
1019 |
| -Quantiles |
1020 |
| - </span><span class="ansi-cyan-fg ansi-bold"> parameters </span><span class="ansi-cyan-fg ansi-bold"> 2.5% </span><span class="ansi-cyan-fg ansi-bold"> 25.0% </span><span class="ansi-cyan-fg ansi-bold"> 50.0% </span><span class="ansi-cyan-fg ansi-bold"> 75.0% </span><span class="ansi-cyan-fg ansi-bold"> 97.5% |
1021 |
| - </span><span class="ansi-bright-black-fg ansi-bold"> Symbol </span><span class="ansi-bright-black-fg ansi-bold"> Float64 </span><span class="ansi-bright-black-fg ansi-bold"> Float64 </span><span class="ansi-bright-black-fg ansi-bold"> Float64 </span><span class="ansi-bright-black-fg ansi-bold"> Float64 </span><span class="ansi-bright-black-fg ansi-bold"> Float64 |
1022 |
| - |
1023 |
| - a -0.7900 0.3698 0.9736 1.5849 2.7370 |
1024 |
| - b 1.9201 2.5500 2.8813 3.2103 3.8383 |
1025 |
| -</span></pre> |
1026 |
| -</div> |
| 1010 | +Use `describe(chains)` for summary statistics and quantiles.</code></pre> |
1027 | 1011 | </div>
|
1028 | 1012 | </div>
|
1029 | 1013 | <p>We compare these results with Turing.</p>
|
1030 | 1014 | <div id="28" class="cell" data-execution_count="1">
|
1031 |
| -<div class="sourceCode cell-code" id="cb13"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="im">using</span> <span class="bu">Turing</span></span> |
1032 |
| -<span id="cb13-2"><a href="#cb13-2" aria-hidden="true" tabindex="-1"></a><span class="im">using</span> <span class="bu">PDMats</span></span> |
1033 |
| -<span id="cb13-3"><a href="#cb13-3" aria-hidden="true" tabindex="-1"></a></span> |
1034 |
| -<span id="cb13-4"><a href="#cb13-4" aria-hidden="true" tabindex="-1"></a><span class="pp">@model</span> <span class="kw">function</span> <span class="fu">turing_m</span>(x)</span> |
1035 |
| -<span id="cb13-5"><a href="#cb13-5" aria-hidden="true" tabindex="-1"></a> a <span class="op">~</span> <span class="fu">Normal</span>(<span class="fl">0.5</span>, <span class="fl">1</span>)</span> |
1036 |
| -<span id="cb13-6"><a href="#cb13-6" aria-hidden="true" tabindex="-1"></a> b <span class="op">~</span> <span class="fu">Normal</span>(a, <span class="fl">2</span>)</span> |
1037 |
| -<span id="cb13-7"><a href="#cb13-7" aria-hidden="true" tabindex="-1"></a> x <span class="op">~</span> <span class="fu">Normal</span>(b, <span class="fl">0.5</span>)</span> |
1038 |
| -<span id="cb13-8"><a href="#cb13-8" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> <span class="cn">nothing</span></span> |
1039 |
| -<span id="cb13-9"><a href="#cb13-9" aria-hidden="true" tabindex="-1"></a><span class="kw">end</span></span> |
1040 |
| -<span id="cb13-10"><a href="#cb13-10" aria-hidden="true" tabindex="-1"></a></span> |
1041 |
| -<span id="cb13-11"><a href="#cb13-11" aria-hidden="true" tabindex="-1"></a><span class="fu">sample</span>(<span class="fu">turing_m</span>(<span class="fl">3.0</span>), <span class="fu">MH</span>(<span class="fu">ScalMat</span>(<span class="fl">2</span>, <span class="fl">1.0</span>)), <span class="fl">1_000_000</span>, progress<span class="op">=</span><span class="cn">false</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> |
| 1015 | +<div class="sourceCode cell-code" id="cb14"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true" tabindex="-1"></a><span class="im">using</span> <span class="bu">Turing</span></span> |
| 1016 | +<span id="cb14-2"><a href="#cb14-2" aria-hidden="true" tabindex="-1"></a><span class="im">using</span> <span class="bu">PDMats</span></span> |
| 1017 | +<span id="cb14-3"><a href="#cb14-3" aria-hidden="true" tabindex="-1"></a></span> |
| 1018 | +<span id="cb14-4"><a href="#cb14-4" aria-hidden="true" tabindex="-1"></a><span class="pp">@model</span> <span class="kw">function</span> <span class="fu">turing_m</span>(x)</span> |
| 1019 | +<span id="cb14-5"><a href="#cb14-5" aria-hidden="true" tabindex="-1"></a> a <span class="op">~</span> <span class="fu">Normal</span>(<span class="fl">0.5</span>, <span class="fl">1</span>)</span> |
| 1020 | +<span id="cb14-6"><a href="#cb14-6" aria-hidden="true" tabindex="-1"></a> b <span class="op">~</span> <span class="fu">Normal</span>(a, <span class="fl">2</span>)</span> |
| 1021 | +<span id="cb14-7"><a href="#cb14-7" aria-hidden="true" tabindex="-1"></a> x <span class="op">~</span> <span class="fu">Normal</span>(b, <span class="fl">0.5</span>)</span> |
| 1022 | +<span id="cb14-8"><a href="#cb14-8" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> <span class="cn">nothing</span></span> |
| 1023 | +<span id="cb14-9"><a href="#cb14-9" aria-hidden="true" tabindex="-1"></a><span class="kw">end</span></span> |
| 1024 | +<span id="cb14-10"><a href="#cb14-10" aria-hidden="true" tabindex="-1"></a></span> |
| 1025 | +<span id="cb14-11"><a href="#cb14-11" aria-hidden="true" tabindex="-1"></a><span class="fu">sample</span>(<span class="fu">turing_m</span>(<span class="fl">3.0</span>), <span class="fu">MH</span>(<span class="fu">ScalMat</span>(<span class="fl">2</span>, <span class="fl">1.0</span>)), <span class="fl">1_000_000</span>, progress<span class="op">=</span><span class="cn">false</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> |
1042 | 1026 | <div class="cell-output cell-output-display" data-execution_count="1">
|
1043 |
| -<div class="ansi-escaped-output"> |
1044 |
| -<pre>Chains MCMC chain (1000000×3×1 Array{Float64, 3}): |
| 1027 | +<pre><code>Chains MCMC chain (1000000×3×1 Array{Float64, 3}): |
1045 | 1028 |
|
1046 | 1029 | Iterations = 1:1:1000000
|
1047 | 1030 | Number of chains = 1
|
1048 | 1031 | Samples per chain = 1000000
|
1049 |
| -Wall duration = 24.45 seconds |
1050 |
| -Compute duration = 24.45 seconds |
| 1032 | +Wall duration = 21.37 seconds |
| 1033 | +Compute duration = 21.37 seconds |
1051 | 1034 | parameters = a, b
|
1052 | 1035 | internals = lp
|
1053 | 1036 |
|
1054 |
| -Summary Statistics |
1055 |
| - <span class="ansi-bold"> parameters </span><span class="ansi-bold"> mean </span><span class="ansi-bold"> std </span><span class="ansi-bold"> mcse </span><span class="ansi-bold"> ess_bulk </span><span class="ansi-bold"> ess_tail </span><span class="ansi-bold"> rh ⋯ |
1056 |
| - </span><span class="ansi-bright-black-fg ansi-bold"> Symbol </span><span class="ansi-bright-black-fg ansi-bold"> Float64 </span><span class="ansi-bright-black-fg ansi-bold"> Float64 </span><span class="ansi-bright-black-fg ansi-bold"> Float64 </span><span class="ansi-bright-black-fg ansi-bold"> Float64 </span><span class="ansi-bright-black-fg ansi-bold"> Float64 </span><span class="ansi-bright-black-fg ansi-bold"> Float ⋯ |
1057 |
| - |
1058 |
| - a 0.9780 0.9016 0.0031 82020.3602 121725.2524 1.00 ⋯ |
1059 |
| - b 2.8810 0.4897 0.0012 175647.1391 216521.0287 1.00 ⋯ |
1060 |
| -</span><span class="ansi-cyan-fg ansi-bold"> 2 columns omitted |
1061 |
| - |
1062 |
| -Quantiles |
1063 |
| - </span><span class="ansi-cyan-fg ansi-bold"> parameters </span><span class="ansi-cyan-fg ansi-bold"> 2.5% </span><span class="ansi-cyan-fg ansi-bold"> 25.0% </span><span class="ansi-cyan-fg ansi-bold"> 50.0% </span><span class="ansi-cyan-fg ansi-bold"> 75.0% </span><span class="ansi-cyan-fg ansi-bold"> 97.5% |
1064 |
| - </span><span class="ansi-bright-black-fg ansi-bold"> Symbol </span><span class="ansi-bright-black-fg ansi-bold"> Float64 </span><span class="ansi-bright-black-fg ansi-bold"> Float64 </span><span class="ansi-bright-black-fg ansi-bold"> Float64 </span><span class="ansi-bright-black-fg ansi-bold"> Float64 </span><span class="ansi-bright-black-fg ansi-bold"> Float64 |
1065 |
| - |
1066 |
| - a -0.7965 0.3693 0.9783 1.5882 2.7384 |
1067 |
| - b 1.9215 2.5505 2.8800 3.2120 3.8379 |
1068 |
| -</span></pre> |
1069 |
| -</div> |
| 1037 | +Use `describe(chains)` for summary statistics and quantiles.</code></pre> |
1070 | 1038 | </div>
|
1071 | 1039 | </div>
|
1072 | 1040 | <p>As you can see, with our simple probabilistic programming language and custom samplers we get similar results as Turing.</p>
|
|
0 commit comments