<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>statili</title>
    <link>https://statili.com/</link>
    <description>Recent content on statili</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 08 Mar 2026 14:55:25 +1100</lastBuildDate>
    <atom:link href="https://statili.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Migrating from `highcharts-regression`</title>
      <link>https://statili.com/docs/highcharts/migration/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/highcharts/migration/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;p&gt;&lt;code&gt;@statili/highcharts&lt;/code&gt; reads &lt;code&gt;regression: true&lt;/code&gt; and &lt;code&gt;regressionSettings&lt;/code&gt; exactly as &lt;a href=&#34;https://www.npmjs.com/package/highcharts-regression&#34;&gt;&lt;code&gt;highcharts-regression&lt;/code&gt;&lt;/a&gt; does, so an existing chart config moves across without edits.&lt;/p&gt;&#xA;&lt;p&gt;It fixes several defects in the incumbent — which has been unchanged since October 2020 and ships no test suite — and adds accessible chart descriptions for free.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-change&#34;&gt;The change&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install @statili/highcharts&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The incumbent installs itself by patching &lt;code&gt;Highcharts.Chart.prototype&lt;/code&gt;. This one is a function you call on your options:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Migrating from `regression`</title>
      <link>https://statili.com/docs/compat-regression/migration/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/compat-regression/migration/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;p&gt;&lt;code&gt;@statili/compat-regression&lt;/code&gt; is a drop-in replacement for &lt;a href=&#34;https://www.npmjs.com/package/regression&#34;&gt;&lt;code&gt;regression&lt;/code&gt;&lt;/a&gt; (regression-js), which has been unchanged since December 2017.&lt;/p&gt;&#xA;&lt;p&gt;Same five methods, same result shape, same equation strings. It fixes four defects in the original and adds a way to find out when a fit failed — something the original API has no room to express.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-change&#34;&gt;The change&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-diff&#34; data-lang=&#34;diff&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gd&#34;&gt;- import regression from &amp;#34;regression&amp;#34;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gd&#34;&gt;&lt;/span&gt;&lt;span class=&#34;gi&#34;&gt;+ import regression from &amp;#34;@statili/compat-regression&amp;#34;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install @statili/compat-regression&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Nothing else changes. &lt;code&gt;linear&lt;/code&gt;, &lt;code&gt;exponential&lt;/code&gt;, &lt;code&gt;logarithmic&lt;/code&gt;, &lt;code&gt;power&lt;/code&gt;, &lt;code&gt;polynomial&lt;/code&gt; and &lt;code&gt;_round&lt;/code&gt; all keep their signatures, and &lt;code&gt;require()&lt;/code&gt; works as before.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Activation Functions</title>
      <link>https://statili.com/docs/math/activation/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/math/activation/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/math&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.1-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;1 export&lt;/span&gt;&#xA;  &lt;/p&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;sigmoid&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#sigmoid&#34; aria-label=&#34;Link to sigmoid&#34;&gt;#&lt;/a&gt;&#xA;      sigmoid&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/math/src/activation.ts#L33&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/math/src/activation.ts:33&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;sigmoid&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;z&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Sigmoid (logistic) activation function: &lt;strong&gt;σ(z) = 1 / (1 + e⁻ᶻ)&lt;/strong&gt;.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;&lt;p&gt;Maps any real-valued input to the open interval &lt;code&gt;(0, 1)&lt;/code&gt;, making it&#xA;suitable for modelling probabilities. The function is smooth and&#xA;differentiable everywhere, which is why it is used in gradient-based&#xA;optimisation (e.g. logistic regression, neural networks).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Analyse</title>
      <link>https://statili.com/docs/highcharts/analyse/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/highcharts/analyse/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/highcharts&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.1-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;4 exports&lt;/span&gt;&#xA;  &lt;/p&gt;&#xA;  &lt;nav class=&#34;api-jump&#34; aria-label=&#34;Exports in this module&#34;&gt;&#xA;    &lt;a href=&#34;#alttext&#34;&gt;altText&lt;/a&gt;&#xA;    &lt;a href=&#34;#analyse&#34;&gt;analyse&lt;/a&gt;&#xA;    &lt;a href=&#34;#todatapoints&#34;&gt;toDataPoints&lt;/a&gt;&#xA;    &lt;a href=&#34;#withfit&#34;&gt;withFit&lt;/a&gt;&#xA;  &lt;/nav&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;alttext&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#alttext&#34; aria-label=&#34;Link to altText&#34;&gt;#&lt;/a&gt;&#xA;      altText&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/highcharts/src/analyse.ts#L339&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/highcharts/src/analyse.ts:339&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;altText&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;outcome&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;FitOutcome&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;labels?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;SeriesFit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;labels&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;A short text alternative for a chart, suitable for an &lt;code&gt;aria-label&lt;/code&gt;.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;Uses terse rendering, so it stays to one clause per fact rather than the&#xA;paragraph &lt;code&gt;analyse&lt;/code&gt; puts on &lt;code&gt;accessibility.description&lt;/code&gt;.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Parameters&lt;/h3&gt;&#xA;  &lt;table class=&#34;data-table api-params&#34;&gt;&#xA;    &lt;thead&gt;&#xA;      &lt;tr&gt;&lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;    &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;outcome&lt;/td&gt;&#xA;        &lt;td&gt;FitOutcome&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;labels&lt;span class=&#34;api-optional&#34;&gt;optional&lt;/span&gt;&lt;/td&gt;&#xA;        &lt;td&gt;AxisLabels | undefined&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;    &lt;/tbody&gt;&#xA;  &lt;/table&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Returns&lt;/h3&gt;&lt;code class=&#34;api-returns__type&#34;&gt;string&lt;/code&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;analyse&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#analyse&#34; aria-label=&#34;Link to analyse&#34;&gt;#&lt;/a&gt;&#xA;      analyse&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/highcharts/src/analyse.ts#L194&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/highcharts/src/analyse.ts:194&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;analyse&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;T&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;extends&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;ChartOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;chartOptions&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;T&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;AnalyseResult&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;T&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Adds fitted curves, plot-line markers and accessible descriptions to a&#xA;Highcharts options object.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;&lt;p&gt;Any series carrying a &lt;code&gt;fit&lt;/code&gt; property is analysed with &lt;code&gt;@statili/stats&lt;/code&gt;,&#xA;described with &lt;code&gt;@statili/forge&lt;/code&gt;, and given a companion series drawn from the&#xA;&lt;code&gt;curve&lt;/code&gt; annotation the facts carry. The input options are not mutated.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Currying</title>
      <link>https://statili.com/docs/fp/curry/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/fp/curry/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/fp&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.2-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;1 export&lt;/span&gt;&#xA;  &lt;/p&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;curry&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#curry&#34; aria-label=&#34;Link to curry&#34;&gt;#&lt;/a&gt;&#xA;      curry&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/fp/src/curry.ts#L105&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/fp/src/curry.ts:105&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;curry&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;T&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;extends&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;...args&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;any&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;[])&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;any&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;fn&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;T&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Curried&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;Args&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;T&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;Return&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;T&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Creates a curried version of a function. A curried function can be called&#xA;with all arguments at once for immediate execution, or with arguments&#xA;one at a time (or in chunks) for partial application, returning new&#xA;functions until all arguments are received.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;This utility favors &amp;ldquo;data-last&amp;rdquo; arguments for better composability, meaning&#xA;the data array should typically be the last parameter of the function&#xA;being curried.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Type parameters&lt;/h3&gt;&#xA;  &lt;dl class=&#34;api-typeparams&#34;&gt;&#xA;    &lt;dt&gt;T&lt;/dt&gt;&#xA;    &lt;dd&gt;The type of the function to curry.&lt;/dd&gt;&#xA;  &lt;/dl&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Parameters&lt;/h3&gt;&#xA;  &lt;table class=&#34;data-table api-params&#34;&gt;&#xA;    &lt;thead&gt;&#xA;      &lt;tr&gt;&lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;    &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;fn&lt;/td&gt;&#xA;        &lt;td&gt;T&lt;/td&gt;&#xA;        &lt;td&gt;The function to curry.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;    &lt;/tbody&gt;&#xA;  &lt;/table&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Returns&lt;/h3&gt;&lt;code class=&#34;api-returns__type&#34;&gt;Curried&amp;lt;Args&amp;lt;T&amp;gt;, Return&amp;lt;T&amp;gt;&amp;gt;&lt;/code&gt;&lt;div class=&#34;api-returns__prose&#34;&gt;A new function that is a curried version of &lt;code&gt;fn&lt;/code&gt;.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Example&lt;/h3&gt;&#xA;  &lt;figure class=&#34;api-example&#34;&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;curry&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;./curry&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Example: A simple sum function with data-last&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;sum&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;offset&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;numbers&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[])&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;numbers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;reduce&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;acc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;val&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;acc&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;val&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;offset&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;curriedSum&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;curry&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;sum&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Partial application (curried form)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;sumWithOffsetOfTen&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;curriedSum&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;sumWithOffsetOfTen&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;([&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]));&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// Output: 16&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Immediate execution (all arguments at once)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;curriedSum&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]));&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// Output: 11&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Example with a function returning a complex type (like LinearRegressionResult)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;kr&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Point&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;RegressionResult&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;ok&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;boolean&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;m?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;b?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;error?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;_calculateRegression&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;options&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;includeRSquared&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;boolean&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Point&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[])&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;RegressionResult&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// ... actual calculation logic ...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;ok&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;m&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;calculateRegression&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;curry&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;_calculateRegression&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Partial application&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;regressionWithRSquared&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;calculateRegression&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;includeRSquared&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;true&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;resultPartial&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;regressionWithRSquared&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;([{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}]);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;resultPartial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Immediate execution&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;resultImmediate&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;calculateRegression&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;includeRSquared&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;false&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}]);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;resultImmediate&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Exponential</title>
      <link>https://statili.com/docs/forge/regression/exponential/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/forge/regression/exponential/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/forge&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.2-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;2 exports&lt;/span&gt;&#xA;  &lt;/p&gt;&#xA;  &lt;nav class=&#34;api-jump&#34; aria-label=&#34;Exports in this module&#34;&gt;&#xA;    &lt;a href=&#34;#exponentialfacts&#34;&gt;exponentialFacts&lt;/a&gt;&#xA;    &lt;a href=&#34;#exponentialfactoptions&#34;&gt;ExponentialFactOptions&lt;/a&gt;&#xA;  &lt;/nav&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;exponentialfacts&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#exponentialfacts&#34; aria-label=&#34;Link to exponentialFacts&#34;&gt;#&lt;/a&gt;&#xA;      exponentialFacts&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/forge/src/regression/exponential.ts#L47&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/forge/src/regression/exponential.ts:47&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;exponentialFacts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;options&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;ExponentialFactOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;statsResult&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;RegressionResult&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;FactResult&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Generates facts from an exponential regression result.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;Emits &lt;code&gt;trend.exponential&lt;/code&gt; — with the per-step multiplier and the doubling&#xA;time or half-life — plus &lt;code&gt;fit.quality&lt;/code&gt;, &lt;code&gt;fit.error&lt;/code&gt;, and a small-sample caveat.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Parameters&lt;/h3&gt;&#xA;  &lt;table class=&#34;data-table api-params&#34;&gt;&#xA;    &lt;thead&gt;&#xA;      &lt;tr&gt;&lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;    &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;options&lt;/td&gt;&#xA;        &lt;td&gt;CommonFactOptions&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;statsResult&lt;/td&gt;&#xA;        &lt;td&gt;RegressionResult&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;    &lt;/tbody&gt;&#xA;  &lt;/table&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Returns&lt;/h3&gt;&lt;code class=&#34;api-returns__type&#34;&gt;FactResult&lt;/code&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;exponentialfactoptions&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#exponentialfactoptions&#34; aria-label=&#34;Link to ExponentialFactOptions&#34;&gt;#&lt;/a&gt;&#xA;      ExponentialFactOptions&#xA;      &lt;span class=&#34;api-kind api-kind--type&#34;&gt;type&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/forge/src/regression/exponential.ts#L17&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/forge/src/regression/exponential.ts:17&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;ExponentialFactOptions&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;LogarithmicFactOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Options are the shared set — exponential adds no thresholds of its own.&lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Exponential</title>
      <link>https://statili.com/docs/stats/regression/exponential/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/stats/regression/exponential/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/stats&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.2-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;1 export&lt;/span&gt;&#xA;  &lt;/p&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;exponential&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#exponential&#34; aria-label=&#34;Link to exponential&#34;&gt;#&lt;/a&gt;&#xA;      exponential&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/stats/src/regression/exponential.ts#L49&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/stats/src/regression/exponential.ts:49&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signatures&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;exponential&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;arg1&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Partial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;RegressionOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;args_0&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;DataPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[])&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;RegressionResult&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;exponential&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;suppliedOptions&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Partial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;RegressionOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;DataPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[])&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;RegressionResult&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Performs exponential regression to model the relationship &lt;strong&gt;y = a · e^(bx)&lt;/strong&gt;.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;&lt;p&gt;Captures constant proportional growth or decay — compound interest, viral&#xA;spread, radioactive decay, unchecked adoption. The defining property is that&#xA;Y multiplies by a fixed factor for each equal step in X, rather than adding a&#xA;fixed amount as in linear regression.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Index</title>
      <link>https://statili.com/docs/compat-regression/api/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/compat-regression/api/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/compat-regression&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.1-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;7 exports&lt;/span&gt;&#xA;  &lt;/p&gt;&#xA;  &lt;nav class=&#34;api-jump&#34; aria-label=&#34;Exports in this module&#34;&gt;&#xA;    &lt;a href=&#34;#-round&#34;&gt;_round&lt;/a&gt;&#xA;    &lt;a href=&#34;#exponential&#34;&gt;exponential&lt;/a&gt;&#xA;    &lt;a href=&#34;#linear&#34;&gt;linear&lt;/a&gt;&#xA;    &lt;a href=&#34;#logarithmic&#34;&gt;logarithmic&lt;/a&gt;&#xA;    &lt;a href=&#34;#polynomial&#34;&gt;polynomial&lt;/a&gt;&#xA;    &lt;a href=&#34;#power&#34;&gt;power&lt;/a&gt;&#xA;    &lt;a href=&#34;#default&#34;&gt;default&lt;/a&gt;&#xA;  &lt;/nav&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;-round&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#-round&#34; aria-label=&#34;Link to _round&#34;&gt;#&lt;/a&gt;&#xA;      _round&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/compat-regression/src/index.ts#L22&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/compat-regression/src/index.ts:22&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;_round&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;precision&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Rounds to &lt;code&gt;precision&lt;/code&gt; decimal places.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;Exported because &lt;code&gt;regression&lt;/code&gt; exports it as &lt;code&gt;_round&lt;/code&gt;, and some callers reach&#xA;for it to format their own values consistently with the fit.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Parameters&lt;/h3&gt;&#xA;  &lt;table class=&#34;data-table api-params&#34;&gt;&#xA;    &lt;thead&gt;&#xA;      &lt;tr&gt;&lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;    &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;number&lt;/td&gt;&#xA;        &lt;td&gt;number&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;precision&lt;/td&gt;&#xA;        &lt;td&gt;number&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;    &lt;/tbody&gt;&#xA;  &lt;/table&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Returns&lt;/h3&gt;&lt;code class=&#34;api-returns__type&#34;&gt;number&lt;/code&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;exponential&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#exponential&#34; aria-label=&#34;Link to exponential&#34;&gt;#&lt;/a&gt;&#xA;      exponential&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/compat-regression/src/index.ts#L122&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/compat-regression/src/index.ts:122&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;exponential&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;DataPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[],&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;options?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Partial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;Options&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Result&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Fits &lt;strong&gt;y = a·e^(bx)&lt;/strong&gt;. Returns coefficients as &lt;code&gt;[a, b]&lt;/code&gt;.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;Uses the same y-weighted least squares as &lt;code&gt;regression&lt;/code&gt;, which tracks the data&#xA;in its original units more closely than plain regression on ln(y).&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Parameters&lt;/h3&gt;&#xA;  &lt;table class=&#34;data-table api-params&#34;&gt;&#xA;    &lt;thead&gt;&#xA;      &lt;tr&gt;&lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;    &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;data&lt;/td&gt;&#xA;        &lt;td&gt;DataPoint[]&lt;/td&gt;&#xA;        &lt;td&gt;&lt;code&gt;[x, y]&lt;/code&gt; pairs. Requires y &amp;gt; 0.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;options&lt;span class=&#34;api-optional&#34;&gt;optional&lt;/span&gt;&lt;/td&gt;&#xA;        &lt;td&gt;Partial&amp;lt;Options&amp;gt; | undefined&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;    &lt;/tbody&gt;&#xA;  &lt;/table&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Returns&lt;/h3&gt;&lt;code class=&#34;api-returns__type&#34;&gt;Result&lt;/code&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;linear&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#linear&#34; aria-label=&#34;Link to linear&#34;&gt;#&lt;/a&gt;&#xA;      linear&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/compat-regression/src/index.ts#L98&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/compat-regression/src/index.ts:98&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;linear&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;DataPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[],&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;options?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Partial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;Options&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Result&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Fits a straight line, &lt;strong&gt;y = mx + c&lt;/strong&gt;. Returns coefficients as &lt;code&gt;[m, c]&lt;/code&gt;.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Parameters&lt;/h3&gt;&#xA;  &lt;table class=&#34;data-table api-params&#34;&gt;&#xA;    &lt;thead&gt;&#xA;      &lt;tr&gt;&lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;    &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;data&lt;/td&gt;&#xA;        &lt;td&gt;DataPoint[]&lt;/td&gt;&#xA;        &lt;td&gt;&lt;code&gt;[x, y]&lt;/code&gt; pairs. Rows with a &lt;code&gt;null&lt;/code&gt; y are skipped.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;options&lt;span class=&#34;api-optional&#34;&gt;optional&lt;/span&gt;&lt;/td&gt;&#xA;        &lt;td&gt;Partial&amp;lt;Options&amp;gt; | undefined&lt;/td&gt;&#xA;        &lt;td&gt;&lt;code&gt;{ precision }&lt;/code&gt;.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;    &lt;/tbody&gt;&#xA;  &lt;/table&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Returns&lt;/h3&gt;&lt;code class=&#34;api-returns__type&#34;&gt;Result&lt;/code&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Example&lt;/h3&gt;&#xA;  &lt;figure class=&#34;api-example&#34;&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-ts&#34; data-lang=&#34;ts&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;result&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;linear&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;([[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;32&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;67&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;12&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;79&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;equation&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;// [gradient, intercept]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;predict&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;logarithmic&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#logarithmic&#34; aria-label=&#34;Link to logarithmic&#34;&gt;#&lt;/a&gt;&#xA;      logarithmic&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/compat-regression/src/index.ts#L137&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/compat-regression/src/index.ts:137&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;logarithmic&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;DataPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[],&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;options?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Partial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;Options&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Result&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Fits &lt;strong&gt;y = a + b·ln(x)&lt;/strong&gt;. Returns coefficients as &lt;code&gt;[a, b]&lt;/code&gt;.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Parameters&lt;/h3&gt;&#xA;  &lt;table class=&#34;data-table api-params&#34;&gt;&#xA;    &lt;thead&gt;&#xA;      &lt;tr&gt;&lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;    &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;data&lt;/td&gt;&#xA;        &lt;td&gt;DataPoint[]&lt;/td&gt;&#xA;        &lt;td&gt;&lt;code&gt;[x, y]&lt;/code&gt; pairs. Requires x &amp;gt; 0.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;options&lt;span class=&#34;api-optional&#34;&gt;optional&lt;/span&gt;&lt;/td&gt;&#xA;        &lt;td&gt;Partial&amp;lt;Options&amp;gt; | undefined&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;    &lt;/tbody&gt;&#xA;  &lt;/table&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Returns&lt;/h3&gt;&lt;code class=&#34;api-returns__type&#34;&gt;Result&lt;/code&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;polynomial&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#polynomial&#34; aria-label=&#34;Link to polynomial&#34;&gt;#&lt;/a&gt;&#xA;      polynomial&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/compat-regression/src/index.ts#L172&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/compat-regression/src/index.ts:172&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;polynomial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;DataPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[],&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;options?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Partial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;Options&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Result&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Fits a polynomial of the given &lt;code&gt;order&lt;/code&gt;.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;Returns coefficients &lt;strong&gt;highest power first&lt;/strong&gt; — &lt;code&gt;[aₙ, …, a₁, a₀]&lt;/code&gt; — matching&#xA;&lt;code&gt;regression&lt;/code&gt;. Note this is the reverse of &lt;code&gt;@statili/stats&lt;/code&gt;, which orders them&#xA;ascending.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Parameters&lt;/h3&gt;&#xA;  &lt;table class=&#34;data-table api-params&#34;&gt;&#xA;    &lt;thead&gt;&#xA;      &lt;tr&gt;&lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;    &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;data&lt;/td&gt;&#xA;        &lt;td&gt;DataPoint[]&lt;/td&gt;&#xA;        &lt;td&gt;&lt;code&gt;[x, y]&lt;/code&gt; pairs.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;options&lt;span class=&#34;api-optional&#34;&gt;optional&lt;/span&gt;&lt;/td&gt;&#xA;        &lt;td&gt;Partial&amp;lt;Options&amp;gt; | undefined&lt;/td&gt;&#xA;        &lt;td&gt;&lt;code&gt;{ order, precision }&lt;/code&gt;.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;    &lt;/tbody&gt;&#xA;  &lt;/table&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Returns&lt;/h3&gt;&lt;code class=&#34;api-returns__type&#34;&gt;Result&lt;/code&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;power&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#power&#34; aria-label=&#34;Link to power&#34;&gt;#&lt;/a&gt;&#xA;      power&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/compat-regression/src/index.ts#L152&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/compat-regression/src/index.ts:152&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;power&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;DataPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[],&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;options?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Partial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;Options&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Result&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Fits &lt;strong&gt;y = a·x^b&lt;/strong&gt;. Returns coefficients as &lt;code&gt;[a, b]&lt;/code&gt;.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Parameters&lt;/h3&gt;&#xA;  &lt;table class=&#34;data-table api-params&#34;&gt;&#xA;    &lt;thead&gt;&#xA;      &lt;tr&gt;&lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;    &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;data&lt;/td&gt;&#xA;        &lt;td&gt;DataPoint[]&lt;/td&gt;&#xA;        &lt;td&gt;&lt;code&gt;[x, y]&lt;/code&gt; pairs. Requires x &amp;gt; 0 and y &amp;gt; 0.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;options&lt;span class=&#34;api-optional&#34;&gt;optional&lt;/span&gt;&lt;/td&gt;&#xA;        &lt;td&gt;Partial&amp;lt;Options&amp;gt; | undefined&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;    &lt;/tbody&gt;&#xA;  &lt;/table&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Returns&lt;/h3&gt;&lt;code class=&#34;api-returns__type&#34;&gt;Result&lt;/code&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;default&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#default&#34; aria-label=&#34;Link to default&#34;&gt;#&lt;/a&gt;&#xA;      default&#xA;      &lt;span class=&#34;api-kind api-kind--const&#34;&gt;const&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/compat-regression/src/index.ts#L209&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/compat-regression/src/index.ts:209&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;regression&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;linear&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;exponential&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;logarithmic&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;power&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;polynomial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;_round&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;The five fitting methods, matching the default export of &lt;code&gt;regression&lt;/code&gt;.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Examples&lt;/h3&gt;&#xA;  &lt;figure class=&#34;api-example&#34;&gt;&lt;figcaption&gt;Before&lt;/figcaption&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-ts&#34; data-lang=&#34;ts&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;regression&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;regression&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// After — the only line that changes&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;kr&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;regression&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;@statili/compat-regression&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;result&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;regression&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;linear&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;([[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;32&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;67&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;12&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;79&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;  &lt;figure class=&#34;api-example&#34;&gt;&lt;figcaption&gt;What the shim adds: a way to know the fit failed&lt;/figcaption&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-ts&#34; data-lang=&#34;ts&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;result&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;regression&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;linear&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;([[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;!&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;ok&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;warn&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;error&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;message&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// `regression` answers this with a confident horizontal line and r2 = 0.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Compat</title>
      <link>https://statili.com/docs/highcharts/compat/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/highcharts/compat/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/highcharts&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.1-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;5 exports&lt;/span&gt;&#xA;  &lt;/p&gt;&#xA;  &lt;nav class=&#34;api-jump&#34; aria-label=&#34;Exports in this module&#34;&gt;&#xA;    &lt;a href=&#34;#fillplaceholders&#34;&gt;fillPlaceholders&lt;/a&gt;&#xA;    &lt;a href=&#34;#withregression&#34;&gt;withRegression&lt;/a&gt;&#xA;    &lt;a href=&#34;#regressionchartoptions&#34;&gt;RegressionChartOptions&lt;/a&gt;&#xA;    &lt;a href=&#34;#regressionseries&#34;&gt;RegressionSeries&lt;/a&gt;&#xA;    &lt;a href=&#34;#regressionsettings&#34;&gt;RegressionSettings&lt;/a&gt;&#xA;  &lt;/nav&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;fillplaceholders&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#fillplaceholders&#34; aria-label=&#34;Link to fillPlaceholders&#34;&gt;#&lt;/a&gt;&#xA;      fillPlaceholders&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/highcharts/src/compat.ts#L128&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/highcharts/src/compat.ts:128&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;fillPlaceholders&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;template&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;stats&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;RegressionSuccess&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;SmoothSuccess&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;decimalPlaces&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Substitutes &lt;code&gt;%eq&lt;/code&gt;, &lt;code&gt;%r2&lt;/code&gt;, &lt;code&gt;%r&lt;/code&gt; and &lt;code&gt;%se&lt;/code&gt;, globally rather than once each.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Parameters&lt;/h3&gt;&#xA;  &lt;table class=&#34;data-table api-params&#34;&gt;&#xA;    &lt;thead&gt;&#xA;      &lt;tr&gt;&lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;    &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;template&lt;/td&gt;&#xA;        &lt;td&gt;string&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;stats&lt;/td&gt;&#xA;        &lt;td&gt;RegressionSuccess | SmoothSuccess&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;decimalPlaces&lt;/td&gt;&#xA;        &lt;td&gt;number&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;    &lt;/tbody&gt;&#xA;  &lt;/table&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Returns&lt;/h3&gt;&lt;code class=&#34;api-returns__type&#34;&gt;string&lt;/code&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;withregression&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#withregression&#34; aria-label=&#34;Link to withRegression&#34;&gt;#&lt;/a&gt;&#xA;      withRegression&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/highcharts/src/compat.ts#L252&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/highcharts/src/compat.ts:252&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;withRegression&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;T&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;extends&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;RegressionChartOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;chartOptions&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;T&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;AnalyseResult&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;T&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Drop-in replacement for &lt;code&gt;highcharts-regression&lt;/code&gt;.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;&lt;p&gt;Reads &lt;code&gt;regression: true&lt;/code&gt; and &lt;code&gt;regressionSettings&lt;/code&gt; off each series exactly as&#xA;the incumbent does, so an existing chart config needs no edits. Internally it&#xA;translates to the native &lt;code&gt;fit&lt;/code&gt; API and calls {@link analyse}, so the facts and&#xA;accessible descriptions come along for free.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Descriptive Statistics</title>
      <link>https://statili.com/docs/math/descriptive/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/math/descriptive/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/math&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.1-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;12 exports&lt;/span&gt;&#xA;  &lt;/p&gt;&#xA;  &lt;nav class=&#34;api-jump&#34; aria-label=&#34;Exports in this module&#34;&gt;&#xA;    &lt;a href=&#34;#covariance&#34;&gt;covariance&lt;/a&gt;&#xA;    &lt;a href=&#34;#mad&#34;&gt;mad&lt;/a&gt;&#xA;    &lt;a href=&#34;#max&#34;&gt;max&lt;/a&gt;&#xA;    &lt;a href=&#34;#mean&#34;&gt;mean&lt;/a&gt;&#xA;    &lt;a href=&#34;#median&#34;&gt;median&lt;/a&gt;&#xA;    &lt;a href=&#34;#min&#34;&gt;min&lt;/a&gt;&#xA;    &lt;a href=&#34;#pearsoncorrelation&#34;&gt;pearsonCorrelation&lt;/a&gt;&#xA;    &lt;a href=&#34;#quantile&#34;&gt;quantile&lt;/a&gt;&#xA;    &lt;a href=&#34;#range&#34;&gt;range&lt;/a&gt;&#xA;    &lt;a href=&#34;#standarddeviation&#34;&gt;standardDeviation&lt;/a&gt;&#xA;    &lt;a href=&#34;#sum&#34;&gt;sum&lt;/a&gt;&#xA;    &lt;a href=&#34;#variance&#34;&gt;variance&lt;/a&gt;&#xA;  &lt;/nav&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;covariance&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#covariance&#34; aria-label=&#34;Link to covariance&#34;&gt;#&lt;/a&gt;&#xA;      covariance&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/math/src/descriptive.ts#L300&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/math/src/descriptive.ts:300&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;covariance&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;xs&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[],&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;ys&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[])&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Returns the &lt;strong&gt;sample covariance&lt;/strong&gt; between two equal-length arrays &lt;code&gt;xs&lt;/code&gt; and&#xA;&lt;code&gt;ys&lt;/code&gt; (divided by &lt;code&gt;n − 1&lt;/code&gt;).&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;&lt;p&gt;Covariance measures the joint variability of two variables — a positive&#xA;value means they tend to increase together; a negative value means one&#xA;tends to decrease as the other increases.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linear Regression</title>
      <link>https://statili.com/docs/forge/regression/linear/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/forge/regression/linear/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/forge&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.2-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;1 export&lt;/span&gt;&#xA;  &lt;/p&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;linearfacts&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#linearfacts&#34; aria-label=&#34;Link to linearFacts&#34;&gt;#&lt;/a&gt;&#xA;      linearFacts&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/forge/src/regression/linear.ts#L103&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/forge/src/regression/linear.ts:103&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;linearFacts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;options&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;LinearFactOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;statsResult&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;RegressionResult&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;FactResult&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Generates facts from a simple linear regression result.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;Emits &lt;code&gt;trend.linear&lt;/code&gt;, &lt;code&gt;fit.quality&lt;/code&gt;, &lt;code&gt;fit.error&lt;/code&gt;, and — where the sample&#xA;supports it — &lt;code&gt;fit.significance&lt;/code&gt; and a &lt;code&gt;caveat.small-sample&lt;/code&gt;.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Parameters&lt;/h3&gt;&#xA;  &lt;table class=&#34;data-table api-params&#34;&gt;&#xA;    &lt;thead&gt;&#xA;      &lt;tr&gt;&lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;    &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;options&lt;/td&gt;&#xA;        &lt;td&gt;LinearFactOptions&lt;/td&gt;&#xA;        &lt;td&gt;Thresholds controlling the qualitative judgements.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;statsResult&lt;/td&gt;&#xA;        &lt;td&gt;RegressionResult&lt;/td&gt;&#xA;        &lt;td&gt;The raw result from &lt;code&gt;@statili/stats&lt;/code&gt; &lt;code&gt;linear()&lt;/code&gt;.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;    &lt;/tbody&gt;&#xA;  &lt;/table&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Returns&lt;/h3&gt;&lt;code class=&#34;api-returns__type&#34;&gt;FactResult&lt;/code&gt;&lt;div class=&#34;api-returns__prose&#34;&gt;Facts, or an end-user facing error.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Example&lt;/h3&gt;&#xA;  &lt;figure class=&#34;api-example&#34;&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-ts&#34; data-lang=&#34;ts&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;result&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;linearFacts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({},&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;linear&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({},&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;ok&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;facts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;map&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;render&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;labels&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;month&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;sales&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Linear Regression</title>
      <link>https://statili.com/docs/stats/regression/linear/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/stats/regression/linear/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/stats&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.2-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;1 export&lt;/span&gt;&#xA;  &lt;/p&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;linear&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#linear&#34; aria-label=&#34;Link to linear&#34;&gt;#&lt;/a&gt;&#xA;      linear&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/stats/src/regression/linear.ts#L59&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/stats/src/regression/linear.ts:59&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signatures&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;linear&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;arg1&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Partial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;RegressionOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;args_0&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;DataPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[])&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;RegressionResult&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;linear&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;suppliedOptions&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Partial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;RegressionOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;DataPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[])&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;RegressionResult&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Performs simple linear regression to model the relationship between a dependent variable (y)&#xA;and an independent variable (x).&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;Fits a straight line (y = slope·x + intercept) through the data by minimising the sum of&#xA;squared residuals between observed and predicted y values (Ordinary Least Squares).&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Parameters&lt;/h3&gt;&#xA;  &lt;table class=&#34;data-table api-params&#34;&gt;&#xA;    &lt;thead&gt;&#xA;      &lt;tr&gt;&lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;    &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;suppliedOptions&lt;/td&gt;&#xA;        &lt;td&gt;Partial&amp;lt;RegressionOptions&amp;gt;&lt;/td&gt;&#xA;        &lt;td&gt;Optional overrides, e.g. &lt;code&gt;{ precision: 4 }&lt;/code&gt;.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;data&lt;/td&gt;&#xA;        &lt;td&gt;DataPoint[]&lt;/td&gt;&#xA;        &lt;td&gt;Array of &lt;code&gt;[x, y]&lt;/code&gt; tuples. Requires at least 2 points with distinct x values.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;    &lt;/tbody&gt;&#xA;  &lt;/table&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Returns&lt;/h3&gt;&lt;code class=&#34;api-returns__type&#34;&gt;RegressionResult&lt;/code&gt;&lt;div class=&#34;api-returns__prose&#34;&gt;&lt;p&gt;Discriminant union:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pipe &amp; Compose</title>
      <link>https://statili.com/docs/fp/pipe/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/fp/pipe/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/fp&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.2-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;1 export&lt;/span&gt;&#xA;  &lt;/p&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;pipe&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#pipe&#34; aria-label=&#34;Link to pipe&#34;&gt;#&lt;/a&gt;&#xA;      pipe&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/fp/src/pipe.ts#L19&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/fp/src/pipe.ts:19&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signatures&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;pipe&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;A&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;B&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;f1&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;A&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;B&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;A&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;B&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;pipe&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;A&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;B&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;C&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;f1&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;A&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;B&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;f2&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;B&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;C&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;A&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;C&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;pipe&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;A&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;B&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;C&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;f1&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;A&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;B&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;f2&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;B&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;C&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;f3&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;C&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;A&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;D&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;pipe&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;A&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;B&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;C&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;E&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;f1&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;A&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;B&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;f2&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;B&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;C&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;f3&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;C&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;f4&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;E&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;A&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;E&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;pipe&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;A&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;B&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;C&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;E&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;F&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;f1&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;A&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;B&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;f2&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;B&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;C&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;f3&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;C&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;f4&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;E&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;f5&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;E&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;F&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;A&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;F&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;pipe&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;A&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;B&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;C&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;E&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;F&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;G&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;f1&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;A&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;B&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;f2&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;B&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;C&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;f3&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;C&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;f4&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;E&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;f5&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;E&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;F&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;f6&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;F&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;G&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;A&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;G&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;pipe&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;A&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;B&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;C&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;E&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;F&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;G&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;H&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;f1&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;A&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;B&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;f2&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;B&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;C&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;f3&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;C&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;f4&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;E&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;f5&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;E&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;F&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;f6&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;F&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;G&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;f7&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;G&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;H&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;A&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;H&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;pipe&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;F&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;extends&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;readonly&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;[(&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;...args&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;any&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;[])&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;any&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;...&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;Array&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;arg&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;any&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;any&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(...&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;fns&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;F&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;PipeInput&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;F&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;PipeReturn&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;F&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Parameters&lt;/h3&gt;&#xA;  &lt;table class=&#34;data-table api-params&#34;&gt;&#xA;    &lt;thead&gt;&#xA;      &lt;tr&gt;&lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;    &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;f1&lt;/td&gt;&#xA;        &lt;td&gt;(input: A) =&amp;gt; B&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;f2&lt;/td&gt;&#xA;        &lt;td&gt;(input: B) =&amp;gt; C&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;f3&lt;/td&gt;&#xA;        &lt;td&gt;(input: C) =&amp;gt; D&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;f4&lt;/td&gt;&#xA;        &lt;td&gt;(input: D) =&amp;gt; E&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;f5&lt;/td&gt;&#xA;        &lt;td&gt;(input: E) =&amp;gt; F&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;f6&lt;/td&gt;&#xA;        &lt;td&gt;(input: F) =&amp;gt; G&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;f7&lt;/td&gt;&#xA;        &lt;td&gt;(input: G) =&amp;gt; H&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;    &lt;/tbody&gt;&#xA;  &lt;/table&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Returns&lt;/h3&gt;&lt;code class=&#34;api-returns__type&#34;&gt;(input: A) =&amp;gt; H&lt;/code&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Types</title>
      <link>https://statili.com/docs/compat-regression/types/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/compat-regression/types/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/compat-regression&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.1-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;4 exports&lt;/span&gt;&#xA;  &lt;/p&gt;&#xA;  &lt;nav class=&#34;api-jump&#34; aria-label=&#34;Exports in this module&#34;&gt;&#xA;    &lt;a href=&#34;#fiterror&#34;&gt;FitError&lt;/a&gt;&#xA;    &lt;a href=&#34;#options&#34;&gt;Options&lt;/a&gt;&#xA;    &lt;a href=&#34;#result&#34;&gt;Result&lt;/a&gt;&#xA;    &lt;a href=&#34;#datapoint&#34;&gt;DataPoint&lt;/a&gt;&#xA;  &lt;/nav&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;fiterror&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#fiterror&#34; aria-label=&#34;Link to FitError&#34;&gt;#&lt;/a&gt;&#xA;      FitError&#xA;      &lt;span class=&#34;api-kind api-kind--interface&#34;&gt;interface&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/compat-regression/src/types.ts#L15&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/compat-regression/src/types.ts:15&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;interface&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;FitError&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/**&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * Machine-readable cause.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   *&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * - `InsufficientData` — too few usable points for this model.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * - `DegenerateInput` — the x-values carry no variation to fit against.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * - `InvalidInput` — a non-finite value, or an out-of-domain point.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * - `MathError` — the fit produced non-finite coefficients.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * - `NumericalStability` — the normal equations were singular or ill-conditioned.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kr&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;InsufficientData&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;DegenerateInput&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;InvalidInput&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;MathError&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;NumericalStability&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** What went wrong, and what to do about it. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;message&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Why a fit could not be produced.&lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;options&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#options&#34; aria-label=&#34;Link to Options&#34;&gt;#&lt;/a&gt;&#xA;      Options&#xA;      &lt;span class=&#34;api-kind api-kind--interface&#34;&gt;interface&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/compat-regression/src/types.ts#L5&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/compat-regression/src/types.ts:5&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;interface&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Options&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Polynomial degree. @default 2 */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;order&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Decimal places for rounding. @default 2 */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;precision&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Accepted and ignored, as in `regression`. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;period&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;null&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;The five configuration keys &lt;code&gt;regression&lt;/code&gt; accepts.&lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;result&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#result&#34; aria-label=&#34;Link to Result&#34;&gt;#&lt;/a&gt;&#xA;      Result&#xA;      &lt;span class=&#34;api-kind api-kind--interface&#34;&gt;interface&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/compat-regression/src/types.ts#L47&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/compat-regression/src/types.ts:47&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;interface&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Result&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/**&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * Fitted coefficients.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   *&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * - `linear` — `[gradient, intercept]`&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * - `exponential` — `[a, b]` for y = ae^(bx)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * - `logarithmic` — `[a, b]` for y = a + b·ln(x)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * - `power` — `[a, b]` for y = ax^b&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * - `polynomial` — `[aₙ, …, a₁, a₀]`, highest power first&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   *&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * Filled with `NaN` when `ok` is `false`.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;equation&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[];&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Human-readable equation. Empty string when `ok` is `false`. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/**&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * Predicted `[x, y]` at each input x.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   *&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * Empty when `ok` is `false`. The original returns points full of `NaN`&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * instead, which charting libraries either throw on or render as garbage.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;points&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;][];&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Coefficient of determination. `NaN` when `ok` is `false`. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;r2&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Predicted `[x, y]` at any x. Returns `[x, NaN]` when `ok` is `false`. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;predict&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** `false` when no fit could be produced. Not present in `regression`. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;ok&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;boolean&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Why the fit failed. Absent when `ok` is `true`. Not present in `regression`. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;error?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;FitError&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;The result shape returned by &lt;code&gt;regression&lt;/code&gt;, plus two additive fields.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;&lt;p&gt;&lt;code&gt;equation&lt;/code&gt;, &lt;code&gt;string&lt;/code&gt;, &lt;code&gt;points&lt;/code&gt;, &lt;code&gt;r2&lt;/code&gt; and &lt;code&gt;predict&lt;/code&gt; are byte-for-byte what the&#xA;original returns on data it handles correctly. &lt;code&gt;ok&lt;/code&gt; and &lt;code&gt;error&lt;/code&gt; are new.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Distribution</title>
      <link>https://statili.com/docs/math/distribution/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/math/distribution/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/math&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.1-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;5 exports&lt;/span&gt;&#xA;  &lt;/p&gt;&#xA;  &lt;nav class=&#34;api-jump&#34; aria-label=&#34;Exports in this module&#34;&gt;&#xA;    &lt;a href=&#34;#loggamma&#34;&gt;logGamma&lt;/a&gt;&#xA;    &lt;a href=&#34;#regularizedincompletebeta&#34;&gt;regularizedIncompleteBeta&lt;/a&gt;&#xA;    &lt;a href=&#34;#studenttcdf&#34;&gt;studentTCdf&lt;/a&gt;&#xA;    &lt;a href=&#34;#studenttquantile&#34;&gt;studentTQuantile&lt;/a&gt;&#xA;    &lt;a href=&#34;#studentttwotailedp&#34;&gt;studentTTwoTailedP&lt;/a&gt;&#xA;  &lt;/nav&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;loggamma&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#loggamma&#34; aria-label=&#34;Link to logGamma&#34;&gt;#&lt;/a&gt;&#xA;      logGamma&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/math/src/distribution.ts#L41&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/math/src/distribution.ts:41&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;logGamma&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Natural logarithm of the gamma function, &lt;strong&gt;ln Γ(x)&lt;/strong&gt;, via the Lanczos&#xA;approximation.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;&lt;p&gt;Γ(x) overflows a double for x greater than about 171, so the log form is used&#xA;throughout — every consumer here needs ratios of gamma functions, which become&#xA;differences of logs and stay in range.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Loess</title>
      <link>https://statili.com/docs/forge/regression/loess/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/forge/regression/loess/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/forge&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.2-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;2 exports&lt;/span&gt;&#xA;  &lt;/p&gt;&#xA;  &lt;nav class=&#34;api-jump&#34; aria-label=&#34;Exports in this module&#34;&gt;&#xA;    &lt;a href=&#34;#loessfacts&#34;&gt;loessFacts&lt;/a&gt;&#xA;    &lt;a href=&#34;#loessfactoptions&#34;&gt;LoessFactOptions&lt;/a&gt;&#xA;  &lt;/nav&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;loessfacts&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#loessfacts&#34; aria-label=&#34;Link to loessFacts&#34;&gt;#&lt;/a&gt;&#xA;      loessFacts&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/forge/src/regression/loess.ts#L47&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/forge/src/regression/loess.ts:47&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;loessFacts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;options&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;LoessFactOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;smoothResult&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;SmoothResult&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;FactResult&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Generates facts from a LOESS smoothing result.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;&lt;p&gt;Emits &lt;code&gt;trend.smoothed&lt;/code&gt; — turning points and net direction — plus&#xA;&lt;code&gt;fit.quality&lt;/code&gt;, &lt;code&gt;fit.error&lt;/code&gt;, and a small-sample caveat.&lt;/p&gt;&#xA;&lt;p&gt;There is no trend fact with a rate or coefficient, because a smoother fits no&#xA;equation. Its contribution is shape: &amp;ldquo;rises to a peak at week 12, then&#xA;declines&amp;rdquo; is a claim no parametric fit in this library can make.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Logarithmic Regression</title>
      <link>https://statili.com/docs/stats/regression/logarithmic/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/stats/regression/logarithmic/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/stats&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.2-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;1 export&lt;/span&gt;&#xA;  &lt;/p&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;logarithmic&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#logarithmic&#34; aria-label=&#34;Link to logarithmic&#34;&gt;#&lt;/a&gt;&#xA;      logarithmic&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/stats/src/regression/logarithmic.ts#L48&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/stats/src/regression/logarithmic.ts:48&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signatures&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;logarithmic&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;arg1&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Partial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;RegressionOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;args_0&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;DataPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[])&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;RegressionResult&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;logarithmic&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;suppliedOptions&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Partial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;RegressionOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;DataPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[])&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;RegressionResult&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Performs logarithmic regression to model the relationship &lt;strong&gt;y = a + b · ln(x)&lt;/strong&gt;.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;&lt;p&gt;The model captures scenarios where Y grows (or decays) rapidly at first then&#xA;progressively levels off as X increases — the classic &lt;strong&gt;diminishing-returns&lt;/strong&gt; pattern.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Domain constraint:&lt;/strong&gt; x must be strictly positive (&lt;code&gt;&amp;gt; 0&lt;/code&gt;).  Points with x ≤ 0&#xA;are silently excluded because &lt;code&gt;ln(x)&lt;/code&gt; is undefined for non-positive values.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Types</title>
      <link>https://statili.com/docs/highcharts/types/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/highcharts/types/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/highcharts&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.1-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;7 exports&lt;/span&gt;&#xA;  &lt;/p&gt;&#xA;  &lt;nav class=&#34;api-jump&#34; aria-label=&#34;Exports in this module&#34;&gt;&#xA;    &lt;a href=&#34;#analyseresult&#34;&gt;AnalyseResult&lt;/a&gt;&#xA;    &lt;a href=&#34;#chartoptions&#34;&gt;ChartOptions&lt;/a&gt;&#xA;    &lt;a href=&#34;#fitoutcome&#34;&gt;FitOutcome&lt;/a&gt;&#xA;    &lt;a href=&#34;#fittableseries&#34;&gt;FittableSeries&lt;/a&gt;&#xA;    &lt;a href=&#34;#seriesfit&#34;&gt;SeriesFit&lt;/a&gt;&#xA;    &lt;a href=&#34;#analysedoptions&#34;&gt;AnalysedOptions&lt;/a&gt;&#xA;    &lt;a href=&#34;#fitmethod&#34;&gt;FitMethod&lt;/a&gt;&#xA;  &lt;/nav&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;analyseresult&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#analyseresult&#34; aria-label=&#34;Link to AnalyseResult&#34;&gt;#&lt;/a&gt;&#xA;      AnalyseResult&#xA;      &lt;span class=&#34;api-kind api-kind--interface&#34;&gt;interface&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/highcharts/src/types.ts#L123&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/highcharts/src/types.ts:123&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;interface&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;AnalyseResult&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;T&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;extends&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;ChartOptions &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;ChartOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** The input options with fit series, plot lines and descriptions added. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;options&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;AnalysedOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;T&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** One entry per series that carried a `fit`. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;fits&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;FitOutcome&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[];&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;chartoptions&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#chartoptions&#34; aria-label=&#34;Link to ChartOptions&#34;&gt;#&lt;/a&gt;&#xA;      ChartOptions&#xA;      &lt;span class=&#34;api-kind api-kind--interface&#34;&gt;interface&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/highcharts/src/types.ts#L77&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/highcharts/src/types.ts:77&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;interface&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;ChartOptions&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;series?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;FittableSeries&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[];&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;xAxis?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;unknown&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;accessibility?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Record&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;unknown&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;key&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;unknown&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Minimal shape of the chart options this module reads and rewrites.&lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;fitoutcome&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#fitoutcome&#34; aria-label=&#34;Link to FitOutcome&#34;&gt;#&lt;/a&gt;&#xA;      FitOutcome&#xA;      &lt;span class=&#34;api-kind api-kind--interface&#34;&gt;interface&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/highcharts/src/types.ts#L85&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/highcharts/src/types.ts:85&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;interface&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;FitOutcome&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Index of the source series in the input `series` array. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;sourceIndex&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;sourceName&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;method&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;FitMethod&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Empty when the fit failed. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;facts&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Fact&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[];&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Sentences, one per fact, at full verbosity. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;sentences&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[];&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** One paragraph suitable for `accessibility.description`. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;description&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/**&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * The raw `@statili/stats` result, including `predict`.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   *&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * Facts are deliberately JSON-serialisable so they can be handed to an AI&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * pipeline as ground truth, which rules out carrying a function. Anything&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * that needs to evaluate the model outside the observed domain —&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * extrapolation, a denser curve, a hover readout — reads it from here.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   *&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * Absent when the fit failed.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;stats?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;RegressionSuccess&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;SmoothSuccess&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Present when the fit could not be computed. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;error&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;?:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;message&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;helpText&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;errorType&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;What one fitted series produced.&lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;fittableseries&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#fittableseries&#34; aria-label=&#34;Link to FittableSeries&#34;&gt;#&lt;/a&gt;&#xA;      FittableSeries&#xA;      &lt;span class=&#34;api-kind api-kind--interface&#34;&gt;interface&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/highcharts/src/types.ts#L69&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/highcharts/src/types.ts:69&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;interface&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;FittableSeries&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;name?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;data?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;unknown&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;fit?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;SeriesFit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;key&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;unknown&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;A series carrying a &lt;code&gt;fit&lt;/code&gt; instruction. Structurally typed to stay Highcharts-version agnostic.&lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;seriesfit&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#seriesfit&#34; aria-label=&#34;Link to SeriesFit&#34;&gt;#&lt;/a&gt;&#xA;      SeriesFit&#xA;      &lt;span class=&#34;api-kind api-kind--interface&#34;&gt;interface&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/highcharts/src/types.ts#L20&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/highcharts/src/types.ts:20&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;interface&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;SeriesFit&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;method&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;FitMethod&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Decimal places for the fitted coefficients. @default 2 */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;precision?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Polynomial degree. `polynomial` only. @default 2 */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;order?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/**&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * Fraction of the sample in each local neighbourhood. `loess` only.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * @default 0.25&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;bandwidth?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** R² at or above which a fit is called &amp;#34;moderate&amp;#34;. @default 0.3 */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;rSquaredThresholdWeak?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** R² at or above which a fit is called &amp;#34;strong&amp;#34;. @default 0.7 */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;rSquaredThresholdStrong?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Axis names used when facts are rendered into prose. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;labels?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;AxisLabels&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Units appended to rendered quantities. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;units?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;AxisUnits&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/**&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * Extend the fitted curve this many steps past the last observation.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   *&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * The step size comes from the average spacing of the observed X values.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * Extrapolation is forward only, matching what charting users expect of a&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * trend line.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   *&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * @default 0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;extrapolate?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Options merged into the generated fit series. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;seriesOptions?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Record&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;unknown&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Draw a plot line at any `marker` annotation the facts carry. @default true */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;showMarkers?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;boolean&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;err&#34;&gt;/**&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;   &lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Draw&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;the&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;uncertainty&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;band&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;as&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;an&lt;/span&gt; &lt;span class=&#34;sb&#34;&gt;`arearange`&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;series&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;behind&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;the&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;fit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;   &lt;span class=&#34;o&#34;&gt;*&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;   &lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Requires&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Highcharts&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;&amp;#39;&lt;/span&gt; &lt;span class=&#34;sb&#34;&gt;`highcharts-more`&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;module&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;which&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;supplies&lt;/span&gt; &lt;span class=&#34;sb&#34;&gt;`arearange`&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;—&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;   &lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;hence&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;off&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;by&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;default&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;rather&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// …truncated&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;p class=&#34;api-truncated&#34;&gt;Type shortened for readability — see the source for the full definition.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linear Algebra</title>
      <link>https://statili.com/docs/math/linalg/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/math/linalg/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/math&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.1-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;1 export&lt;/span&gt;&#xA;  &lt;/p&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;gaussianelimination&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#gaussianelimination&#34; aria-label=&#34;Link to gaussianElimination&#34;&gt;#&lt;/a&gt;&#xA;      gaussianElimination&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/math/src/linalg.ts#L40&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/math/src/linalg.ts:40&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;gaussianElimination&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;input&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[][],&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;order&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Solves the linear system &lt;strong&gt;Ax = b&lt;/strong&gt; via &lt;strong&gt;Gaussian elimination with partial&#xA;pivoting&lt;/strong&gt;.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;&lt;p&gt;The augmented matrix &lt;code&gt;[A | b]&lt;/code&gt; is passed as &lt;code&gt;input&lt;/code&gt;: an &lt;code&gt;n × (n+1)&lt;/code&gt; matrix&#xA;where the first &lt;code&gt;n&lt;/code&gt; columns represent &lt;code&gt;A&lt;/code&gt; and the last column represents&#xA;&lt;code&gt;b&lt;/code&gt;. The function operates on a deep copy and does &lt;strong&gt;not&lt;/strong&gt; mutate its input.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Logarithmic Regression</title>
      <link>https://statili.com/docs/forge/regression/logarithmic/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/forge/regression/logarithmic/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/forge&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.2-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;1 export&lt;/span&gt;&#xA;  &lt;/p&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;logarithmicfacts&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#logarithmicfacts&#34; aria-label=&#34;Link to logarithmicFacts&#34;&gt;#&lt;/a&gt;&#xA;      logarithmicFacts&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/forge/src/regression/logarithmic.ts#L59&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/forge/src/regression/logarithmic.ts:59&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;logarithmicFacts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;options&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;LogarithmicFactOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;statsResult&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;RegressionResult&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;FactResult&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Generates facts from a logarithmic regression result.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;Emits &lt;code&gt;trend.logarithmic&lt;/code&gt;, &lt;code&gt;effect.diminishing&lt;/code&gt; where the curve rises,&#xA;&lt;code&gt;fit.quality&lt;/code&gt;, &lt;code&gt;fit.error&lt;/code&gt;, and a small-sample caveat.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Parameters&lt;/h3&gt;&#xA;  &lt;table class=&#34;data-table api-params&#34;&gt;&#xA;    &lt;thead&gt;&#xA;      &lt;tr&gt;&lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;    &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;options&lt;/td&gt;&#xA;        &lt;td&gt;CommonFactOptions&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;statsResult&lt;/td&gt;&#xA;        &lt;td&gt;RegressionResult&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;    &lt;/tbody&gt;&#xA;  &lt;/table&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Returns&lt;/h3&gt;&lt;code class=&#34;api-returns__type&#34;&gt;FactResult&lt;/code&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Logistic Regression</title>
      <link>https://statili.com/docs/stats/regression/logistic/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/stats/regression/logistic/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/stats&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.2-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;1 export&lt;/span&gt;&#xA;  &lt;/p&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;logistic&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#logistic&#34; aria-label=&#34;Link to logistic&#34;&gt;#&lt;/a&gt;&#xA;      logistic&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/stats/src/regression/logistic.ts#L62&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/stats/src/regression/logistic.ts:62&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signatures&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;logistic&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;arg1&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Partial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;LogisticRegressionOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;args_0&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;MultiDataPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[])&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;MultiRegressionResult&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;logistic&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;suppliedOptions&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Partial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;LogisticRegressionOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;MultiDataPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[])&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;MultiRegressionResult&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Performs binary logistic regression via batch gradient descent.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;&lt;p&gt;Models the probability that an observation belongs to class 1:&#xA;&lt;strong&gt;P(y=1 | x) = σ(b₀ + b₁x₁ + b₂x₂ + … + bₖxₖ)&lt;/strong&gt;&#xA;where σ is the sigmoid function. Predictions at P ≥ 0.5 are classified as 1.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Logistic Regression</title>
      <link>https://statili.com/docs/forge/regression/logistic/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/forge/regression/logistic/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/forge&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.2-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;1 export&lt;/span&gt;&#xA;  &lt;/p&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;logisticfacts&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#logisticfacts&#34; aria-label=&#34;Link to logisticFacts&#34;&gt;#&lt;/a&gt;&#xA;      logisticFacts&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/forge/src/regression/logistic.ts#L85&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/forge/src/regression/logistic.ts:85&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;logisticFacts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;options&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;LogisticFactOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;statsResult&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;MultiRegressionResult&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;FactResult&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Generates facts from a binary logistic regression result.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;&lt;p&gt;Emits &lt;code&gt;model.logistic&lt;/code&gt;, one &lt;code&gt;effect.feature&lt;/code&gt; per predictor (with odds&#xA;multipliers), &lt;code&gt;effect.boundary&lt;/code&gt;, &lt;code&gt;fit.quality&lt;/code&gt; on the McFadden pseudo-R²&#xA;scale, and caveats for low accuracy and small samples.&lt;/p&gt;&#xA;&lt;p&gt;No &lt;code&gt;fit.error&lt;/code&gt;: RMSE on a 0/1 outcome is not a meaningful error measure.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Parameters&lt;/h3&gt;&#xA;  &lt;table class=&#34;data-table api-params&#34;&gt;&#xA;    &lt;thead&gt;&#xA;      &lt;tr&gt;&lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;    &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;options&lt;/td&gt;&#xA;        &lt;td&gt;LogisticFactOptions&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;statsResult&lt;/td&gt;&#xA;        &lt;td&gt;MultiRegressionResult&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;    &lt;/tbody&gt;&#xA;  &lt;/table&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Returns&lt;/h3&gt;&lt;code class=&#34;api-returns__type&#34;&gt;FactResult&lt;/code&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Multilinear Regression</title>
      <link>https://statili.com/docs/stats/regression/multilinear/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/stats/regression/multilinear/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/stats&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.2-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;1 export&lt;/span&gt;&#xA;  &lt;/p&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;multilinear&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#multilinear&#34; aria-label=&#34;Link to multilinear&#34;&gt;#&lt;/a&gt;&#xA;      multilinear&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/stats/src/regression/multilinear.ts#L59&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/stats/src/regression/multilinear.ts:59&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signatures&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;multilinear&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;arg1&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Partial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;RegressionOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;args_0&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;MultiDataPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[])&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;MultiRegressionResult&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;multilinear&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;suppliedOptions&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Partial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;RegressionOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;MultiDataPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[])&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;MultiRegressionResult&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Performs Multiple Linear Regression (MLR) to model the relationship:&#xA;&lt;strong&gt;y = b₀ + b₁x₁ + b₂x₂ + … + bₖxₖ&lt;/strong&gt;&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;Coefficients are found by solving the normal equations:&#xA;&lt;strong&gt;(Xᵀ X) β = Xᵀ y&lt;/strong&gt; via Gaussian elimination with partial pivoting.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Parameters&lt;/h3&gt;&#xA;  &lt;table class=&#34;data-table api-params&#34;&gt;&#xA;    &lt;thead&gt;&#xA;      &lt;tr&gt;&lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;    &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;suppliedOptions&lt;/td&gt;&#xA;        &lt;td&gt;Partial&amp;lt;RegressionOptions&amp;gt;&lt;/td&gt;&#xA;        &lt;td&gt;Optional &lt;code&gt;{ precision }&lt;/code&gt; overrides.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;data&lt;/td&gt;&#xA;        &lt;td&gt;MultiDataPoint[]&lt;/td&gt;&#xA;        &lt;td&gt;Array of &lt;code&gt;{ x: number[], y: number | null }&lt;/code&gt; observations.&#xA;All observations must share the same feature dimension (&lt;code&gt;x.length&lt;/code&gt;).&#xA;Observations with &lt;code&gt;y === null&lt;/code&gt; are excluded from the fit.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;    &lt;/tbody&gt;&#xA;  &lt;/table&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Returns&lt;/h3&gt;&lt;code class=&#34;api-returns__type&#34;&gt;MultiRegressionResult&lt;/code&gt;&lt;div class=&#34;api-returns__prose&#34;&gt;&lt;p&gt;Discriminant union:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Numeric Utilities</title>
      <link>https://statili.com/docs/math/numeric/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/math/numeric/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/math&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.1-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;4 exports&lt;/span&gt;&#xA;  &lt;/p&gt;&#xA;  &lt;nav class=&#34;api-jump&#34; aria-label=&#34;Exports in this module&#34;&gt;&#xA;    &lt;a href=&#34;#clamp&#34;&gt;clamp&lt;/a&gt;&#xA;    &lt;a href=&#34;#isfinitenumber&#34;&gt;isFiniteNumber&lt;/a&gt;&#xA;    &lt;a href=&#34;#lerp&#34;&gt;lerp&lt;/a&gt;&#xA;    &lt;a href=&#34;#round&#34;&gt;round&lt;/a&gt;&#xA;  &lt;/nav&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;clamp&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#clamp&#34; aria-label=&#34;Link to clamp&#34;&gt;#&lt;/a&gt;&#xA;      clamp&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/math/src/numeric.ts#L70&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/math/src/numeric.ts:70&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;clamp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;lo&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;hi&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;value&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Clamps &lt;code&gt;value&lt;/code&gt; to the closed interval &lt;code&gt;[lo, hi]&lt;/code&gt;.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;Useful when mapping statistical outputs (e.g. probabilities, normalised&#xA;scores) to a bounded domain before rendering.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Parameters&lt;/h3&gt;&#xA;  &lt;table class=&#34;data-table api-params&#34;&gt;&#xA;    &lt;thead&gt;&#xA;      &lt;tr&gt;&lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;    &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;lo&lt;/td&gt;&#xA;        &lt;td&gt;number&lt;/td&gt;&#xA;        &lt;td&gt;Lower bound (inclusive).&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;hi&lt;/td&gt;&#xA;        &lt;td&gt;number&lt;/td&gt;&#xA;        &lt;td&gt;Upper bound (inclusive).&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;value&lt;/td&gt;&#xA;        &lt;td&gt;number&lt;/td&gt;&#xA;        &lt;td&gt;The value to clamp.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;    &lt;/tbody&gt;&#xA;  &lt;/table&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Returns&lt;/h3&gt;&lt;code class=&#34;api-returns__type&#34;&gt;number&lt;/code&gt;&lt;div class=&#34;api-returns__prose&#34;&gt;&lt;code&gt;lo&lt;/code&gt; if &lt;code&gt;value &amp;lt; lo&lt;/code&gt;, &lt;code&gt;hi&lt;/code&gt; if &lt;code&gt;value &amp;gt; hi&lt;/code&gt;, otherwise &lt;code&gt;value&lt;/code&gt;.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Example&lt;/h3&gt;&#xA;  &lt;figure class=&#34;api-example&#34;&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-ts&#34; data-lang=&#34;ts&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;clamp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;0.3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;// 0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;clamp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;1.7&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;// 1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;clamp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;0.5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;// 0.5&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Partial application — create a unit-clamp helper&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;unitClamp&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;clamp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;unitClamp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;sigmoid&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;100&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;// 0 (not quite, but clamped to 0)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;isfinitenumber&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#isfinitenumber&#34; aria-label=&#34;Link to isFiniteNumber&#34;&gt;#&lt;/a&gt;&#xA;      isFiniteNumber&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/math/src/numeric.ts#L46&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/math/src/numeric.ts:46&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;isFiniteNumber&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;value&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;unknown&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;boolean&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Returns &lt;code&gt;true&lt;/code&gt; when &lt;code&gt;value&lt;/code&gt; is a finite, non-NaN number (i.e., safe for&#xA;arithmetic). Rejects &lt;code&gt;NaN&lt;/code&gt;, &lt;code&gt;Infinity&lt;/code&gt;, &lt;code&gt;-Infinity&lt;/code&gt;, &lt;code&gt;null&lt;/code&gt;, and &lt;code&gt;undefined&lt;/code&gt;.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;Replaces the inline &lt;code&gt;isValid&lt;/code&gt; guard scattered across &lt;code&gt;@statili/stats&lt;/code&gt;&#xA;regression methods.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Parameters&lt;/h3&gt;&#xA;  &lt;table class=&#34;data-table api-params&#34;&gt;&#xA;    &lt;thead&gt;&#xA;      &lt;tr&gt;&lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;    &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;value&lt;/td&gt;&#xA;        &lt;td&gt;unknown&lt;/td&gt;&#xA;        &lt;td&gt;Any value to test.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;    &lt;/tbody&gt;&#xA;  &lt;/table&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Returns&lt;/h3&gt;&lt;code class=&#34;api-returns__type&#34;&gt;boolean&lt;/code&gt;&lt;div class=&#34;api-returns__prose&#34;&gt;&lt;code&gt;true&lt;/code&gt; if &lt;code&gt;value&lt;/code&gt; is a finite number, &lt;code&gt;false&lt;/code&gt; otherwise.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Example&lt;/h3&gt;&#xA;  &lt;figure class=&#34;api-example&#34;&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-ts&#34; data-lang=&#34;ts&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;isFiniteNumber&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;3.14&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;      &lt;span class=&#34;c1&#34;&gt;// true&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;isFiniteNumber&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;NaN&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;       &lt;span class=&#34;c1&#34;&gt;// false&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;isFiniteNumber&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;Infinity&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;// false&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;isFiniteNumber&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;null&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;      &lt;span class=&#34;c1&#34;&gt;// false&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;lerp&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#lerp&#34; aria-label=&#34;Link to lerp&#34;&gt;#&lt;/a&gt;&#xA;      lerp&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/math/src/numeric.ts#L95&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/math/src/numeric.ts:95&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;lerp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;t&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Linearly interpolates between &lt;code&gt;a&lt;/code&gt; and &lt;code&gt;b&lt;/code&gt; by factor &lt;code&gt;t&lt;/code&gt;.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;t = 0&lt;/code&gt; returns &lt;code&gt;a&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;t = 1&lt;/code&gt; returns &lt;code&gt;b&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;t = 0.5&lt;/code&gt; returns the midpoint&lt;/li&gt;&#xA;&lt;li&gt;Values outside &lt;code&gt;[0, 1]&lt;/code&gt; extrapolate beyond the endpoints&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Handy for generating evenly-spaced prediction points along a regression&#xA;curve or animating transitions between two chart states.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Multilinear Regression</title>
      <link>https://statili.com/docs/forge/regression/multilinear/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/forge/regression/multilinear/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/forge&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.2-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;1 export&lt;/span&gt;&#xA;  &lt;/p&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;multilinearfacts&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#multilinearfacts&#34; aria-label=&#34;Link to multilinearFacts&#34;&gt;#&lt;/a&gt;&#xA;      multilinearFacts&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/forge/src/regression/multilinear.ts#L41&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/forge/src/regression/multilinear.ts:41&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;multilinearFacts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;options&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;MultilinearFactOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;statsResult&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;MultiRegressionResult&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;FactResult&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Generates facts from a multiple linear regression result.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;&lt;p&gt;Emits &lt;code&gt;model.multilinear&lt;/code&gt;, one &lt;code&gt;effect.feature&lt;/code&gt; per predictor, &lt;code&gt;fit.quality&lt;/code&gt;,&#xA;&lt;code&gt;fit.error&lt;/code&gt;, and a small-sample caveat.&lt;/p&gt;&#xA;&lt;p&gt;No curve annotation: with several predictors there is no single X axis to&#xA;draw against.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Parameters&lt;/h3&gt;&#xA;  &lt;table class=&#34;data-table api-params&#34;&gt;&#xA;    &lt;thead&gt;&#xA;      &lt;tr&gt;&lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;    &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;options&lt;/td&gt;&#xA;        &lt;td&gt;CommonFactOptions&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;statsResult&lt;/td&gt;&#xA;        &lt;td&gt;MultiRegressionResult&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;    &lt;/tbody&gt;&#xA;  &lt;/table&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Returns&lt;/h3&gt;&lt;code class=&#34;api-returns__type&#34;&gt;FactResult&lt;/code&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Polynomial Regression</title>
      <link>https://statili.com/docs/stats/regression/polynomial/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/stats/regression/polynomial/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/stats&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.2-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;1 export&lt;/span&gt;&#xA;  &lt;/p&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;polynomial&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#polynomial&#34; aria-label=&#34;Link to polynomial&#34;&gt;#&lt;/a&gt;&#xA;      polynomial&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/stats/src/regression/polynomial.ts#L49&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/stats/src/regression/polynomial.ts:49&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signatures&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;polynomial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;arg1&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Partial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;RegressionOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;args_0&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;DataPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[])&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;RegressionResult&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;polynomial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;suppliedOptions&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Partial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;RegressionOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;DataPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[])&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;RegressionResult&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Performs polynomial regression of configurable degree.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;Fits the curve &lt;strong&gt;y = c₀ + c₁x + c₂x² + … + cₙxⁿ&lt;/strong&gt; by solving the normal&#xA;equations via Gaussian elimination with partial pivoting.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Parameters&lt;/h3&gt;&#xA;  &lt;table class=&#34;data-table api-params&#34;&gt;&#xA;    &lt;thead&gt;&#xA;      &lt;tr&gt;&lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;    &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;suppliedOptions&lt;/td&gt;&#xA;        &lt;td&gt;Partial&amp;lt;RegressionOptions&amp;gt;&lt;/td&gt;&#xA;        &lt;td&gt;&lt;code&gt;{ precision?, order? }&lt;/code&gt; — &lt;code&gt;order&lt;/code&gt; sets the polynomial&#xA;degree (default 2). Increasing degree improves fit but risks overfitting when&#xA;&lt;code&gt;n&lt;/code&gt; is close to &lt;code&gt;order + 1&lt;/code&gt;.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;data&lt;/td&gt;&#xA;        &lt;td&gt;DataPoint[]&lt;/td&gt;&#xA;        &lt;td&gt;Array of &lt;code&gt;[x, y]&lt;/code&gt; tuples. Requires at least &lt;code&gt;order + 1&lt;/code&gt; valid points.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;    &lt;/tbody&gt;&#xA;  &lt;/table&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Returns&lt;/h3&gt;&lt;code class=&#34;api-returns__type&#34;&gt;RegressionResult&lt;/code&gt;&lt;div class=&#34;api-returns__prose&#34;&gt;&lt;p&gt;Discriminant union:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Polynomial Regression</title>
      <link>https://statili.com/docs/forge/regression/polynomial/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/forge/regression/polynomial/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/forge&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.2-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;1 export&lt;/span&gt;&#xA;  &lt;/p&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;polynomialfacts&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#polynomialfacts&#34; aria-label=&#34;Link to polynomialFacts&#34;&gt;#&lt;/a&gt;&#xA;      polynomialFacts&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/forge/src/regression/polynomial.ts#L76&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/forge/src/regression/polynomial.ts:76&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;polynomialFacts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;options&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;PolynomialFactOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;statsResult&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;RegressionResult&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;FactResult&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Generates facts from a polynomial regression result.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;Emits &lt;code&gt;trend.polynomial&lt;/code&gt; (with a vertex marker for quadratics), &lt;code&gt;fit.quality&lt;/code&gt;,&#xA;&lt;code&gt;fit.error&lt;/code&gt;, and caveats for overfitting and small samples.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Parameters&lt;/h3&gt;&#xA;  &lt;table class=&#34;data-table api-params&#34;&gt;&#xA;    &lt;thead&gt;&#xA;      &lt;tr&gt;&lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;    &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;options&lt;/td&gt;&#xA;        &lt;td&gt;PolynomialFactOptions&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;statsResult&lt;/td&gt;&#xA;        &lt;td&gt;RegressionResult&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;    &lt;/tbody&gt;&#xA;  &lt;/table&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Returns&lt;/h3&gt;&lt;code class=&#34;api-returns__type&#34;&gt;FactResult&lt;/code&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Power Regression</title>
      <link>https://statili.com/docs/stats/regression/power/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/stats/regression/power/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/stats&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.2-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;1 export&lt;/span&gt;&#xA;  &lt;/p&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;power&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#power&#34; aria-label=&#34;Link to power&#34;&gt;#&lt;/a&gt;&#xA;      power&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/stats/src/regression/power.ts#L50&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/stats/src/regression/power.ts:50&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signatures&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;power&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;arg1&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Partial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;RegressionOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;args_0&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;DataPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[])&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;RegressionResult&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;power&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;suppliedOptions&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Partial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;RegressionOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;DataPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[])&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;RegressionResult&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Performs power law regression to model the relationship &lt;strong&gt;y = a · xᵇ&lt;/strong&gt;.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;&lt;p&gt;The model is linearised by taking logarithms of both sides:&#xA;&lt;code&gt;ln(y) = ln(a) + b·ln(x)&lt;/code&gt;, which becomes a simple linear regression in&#xA;log-log space. The result is then transformed back to the original scale.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Power Regression</title>
      <link>https://statili.com/docs/forge/regression/power/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/forge/regression/power/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/forge&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.2-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;1 export&lt;/span&gt;&#xA;  &lt;/p&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;powerfacts&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#powerfacts&#34; aria-label=&#34;Link to powerFacts&#34;&gt;#&lt;/a&gt;&#xA;      powerFacts&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/forge/src/regression/power.ts#L63&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/forge/src/regression/power.ts:63&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;powerFacts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;options&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;PowerFactOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;statsResult&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;RegressionResult&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;FactResult&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Generates facts from a power law regression result.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;Emits &lt;code&gt;trend.power&lt;/code&gt; (growth regime and doubling multiplier), &lt;code&gt;effect.scale&lt;/code&gt;,&#xA;&lt;code&gt;fit.quality&lt;/code&gt;, &lt;code&gt;fit.error&lt;/code&gt;, and a small-sample caveat.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Parameters&lt;/h3&gt;&#xA;  &lt;table class=&#34;data-table api-params&#34;&gt;&#xA;    &lt;thead&gt;&#xA;      &lt;tr&gt;&lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;    &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;options&lt;/td&gt;&#xA;        &lt;td&gt;PowerFactOptions&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;statsResult&lt;/td&gt;&#xA;        &lt;td&gt;RegressionResult&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;    &lt;/tbody&gt;&#xA;  &lt;/table&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Returns&lt;/h3&gt;&lt;code class=&#34;api-returns__type&#34;&gt;FactResult&lt;/code&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Types</title>
      <link>https://statili.com/docs/stats/regression/types/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/stats/regression/types/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/stats&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.2-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;14 exports&lt;/span&gt;&#xA;  &lt;/p&gt;&#xA;  &lt;nav class=&#34;api-jump&#34; aria-label=&#34;Exports in this module&#34;&gt;&#xA;    &lt;a href=&#34;#interval&#34;&gt;Interval&lt;/a&gt;&#xA;    &lt;a href=&#34;#logisticregressionoptions&#34;&gt;LogisticRegressionOptions&lt;/a&gt;&#xA;    &lt;a href=&#34;#multiregressionerror&#34;&gt;MultiRegressionError&lt;/a&gt;&#xA;    &lt;a href=&#34;#multiregressionsuccess&#34;&gt;MultiRegressionSuccess&lt;/a&gt;&#xA;    &lt;a href=&#34;#regressionerror&#34;&gt;RegressionError&lt;/a&gt;&#xA;    &lt;a href=&#34;#regressionoptions&#34;&gt;RegressionOptions&lt;/a&gt;&#xA;    &lt;a href=&#34;#regressionsuccess&#34;&gt;RegressionSuccess&lt;/a&gt;&#xA;    &lt;a href=&#34;#datapoint&#34;&gt;DataPoint&lt;/a&gt;&#xA;    &lt;a href=&#34;#multidatapoint&#34;&gt;MultiDataPoint&lt;/a&gt;&#xA;    &lt;a href=&#34;#multiregressionresult&#34;&gt;MultiRegressionResult&lt;/a&gt;&#xA;    &lt;a href=&#34;#predictedmultipoint&#34;&gt;PredictedMultiPoint&lt;/a&gt;&#xA;    &lt;a href=&#34;#predictedpoint&#34;&gt;PredictedPoint&lt;/a&gt;&#xA;    &lt;a href=&#34;#regressionerrortype&#34;&gt;RegressionErrorType&lt;/a&gt;&#xA;    &lt;a href=&#34;#regressionresult&#34;&gt;RegressionResult&lt;/a&gt;&#xA;  &lt;/nav&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;interval&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#interval&#34; aria-label=&#34;Link to Interval&#34;&gt;#&lt;/a&gt;&#xA;      Interval&#xA;      &lt;span class=&#34;api-kind api-kind--interface&#34;&gt;interface&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/stats/src/regression/types.ts#L91&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/stats/src/regression/types.ts:91&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;interface&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Interval&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** The fitted value at x — the centre of the range. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;fit&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;lower&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;upper&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;A fitted value with an uncertainty range around it.&lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;logisticregressionoptions&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#logisticregressionoptions&#34; aria-label=&#34;Link to LogisticRegressionOptions&#34;&gt;#&lt;/a&gt;&#xA;      LogisticRegressionOptions&#xA;      &lt;span class=&#34;api-kind api-kind--interface&#34;&gt;interface&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/stats/src/regression/types.ts#L141&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/stats/src/regression/types.ts:141&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;interface&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;LogisticRegressionOptions&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Gradient descent learning rate. @default 0.1 */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;learningRate&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Number of gradient descent iterations. @default 1000 */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;iterations&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Decimal places for rounding. @default 4 */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;precision&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;multiregressionerror&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#multiregressionerror&#34; aria-label=&#34;Link to MultiRegressionError&#34;&gt;#&lt;/a&gt;&#xA;      MultiRegressionError&#xA;      &lt;span class=&#34;api-kind api-kind--interface&#34;&gt;interface&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/stats/src/regression/types.ts#L132&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/stats/src/regression/types.ts:132&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;interface&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;MultiRegressionError&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;ok&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;method&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;?:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;multilinear&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;logistic&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;errorType&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;RegressionErrorType&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;message&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;multiregressionsuccess&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#multiregressionsuccess&#34; aria-label=&#34;Link to MultiRegressionSuccess&#34;&gt;#&lt;/a&gt;&#xA;      MultiRegressionSuccess&#xA;      &lt;span class=&#34;api-kind api-kind--interface&#34;&gt;interface&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/stats/src/regression/types.ts#L114&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/stats/src/regression/types.ts:114&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;interface&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;MultiRegressionSuccess&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;ok&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;method&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;multilinear&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;logistic&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** [intercept, b1, b2, ..., bk] */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;coefficients&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[];&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;numFeatures&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** R2 for multilinear; McFadden pseudo-R2 for logistic. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;r2&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** RMSE on training set. NaN for logistic. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;rmse&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;n&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;points&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;PredictedMultiPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[];&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;predict&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[])&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;PredictedMultiPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;equation&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Training accuracy at 0.5 threshold (logistic only). */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;accuracy?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;regressionerror&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#regressionerror&#34; aria-label=&#34;Link to RegressionError&#34;&gt;#&lt;/a&gt;&#xA;      RegressionError&#xA;      &lt;span class=&#34;api-kind api-kind--interface&#34;&gt;interface&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/stats/src/regression/types.ts#L81&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/stats/src/regression/types.ts:81&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;interface&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;RegressionError&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;ok&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;method&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;?:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;linear&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;logarithmic&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;exponential&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;power&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;polynomial&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;errorType&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;RegressionErrorType&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;message&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;regressionoptions&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#regressionoptions&#34; aria-label=&#34;Link to RegressionOptions&#34;&gt;#&lt;/a&gt;&#xA;      RegressionOptions&#xA;      &lt;span class=&#34;api-kind api-kind--interface&#34;&gt;interface&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/stats/src/regression/types.ts#L98&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/stats/src/regression/types.ts:98&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;interface&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;RegressionOptions&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Decimal places for rounding. @default 2 */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;precision&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/**&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * Confidence level for intervals, in `(0, 1)`. @default 0.95&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;confidenceLevel?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Polynomial degree (polynomial() only). @default 2 */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;order?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;regressionsuccess&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#regressionsuccess&#34; aria-label=&#34;Link to RegressionSuccess&#34;&gt;#&lt;/a&gt;&#xA;      RegressionSuccess&#xA;      &lt;span class=&#34;api-kind api-kind--interface&#34;&gt;interface&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/stats/src/regression/types.ts#L11&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/stats/src/regression/types.ts:11&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;interface&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;RegressionSuccess&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;ok&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Primary slope / rate-of-change coefficient.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * linear: slope m | polynomial: c1 | power: exponent b | logarithmic: ln-coeff b */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;slope&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Y-intercept or constant term.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * linear: y-int | polynomial: c0 | power: scale a | logarithmic: constant a */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;intercept&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Coefficient of determination R2 in [0,1]. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;r2&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Root Mean Squared Error in the same units as Y. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;rmse&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Number of valid data points used. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;n&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;method&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;linear&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;logarithmic&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;exponential&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;power&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;polynomial&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;points&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;PredictedPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[];&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;predict&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;PredictedPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Full coefficient vector [c0,c1,...,cn] for polynomial. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;coefficients?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[];&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Polynomial degree. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;degree?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Human-readable equation string. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;equation?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;// ── Inference on the slope ──────────────────────────────────────────────&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;// Populated by `linear()` only. Left `undefined` by every other method —&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;// polynomial needs the full coefficient covariance matrix, and the&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;// log-linearised fits (power, logarithmic) would report significance in&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;// transformed space, which is not what a caller would expect.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;//&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;// All four are `null` when there are too few points to estimate them&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;// (`n &amp;lt; 3`, i.e. `df &amp;lt; 1`), and `tM`/`pValueM` are additionally `null` for a&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;err&#34;&gt;/&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// …truncated&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;p class=&#34;api-truncated&#34;&gt;Type shortened for readability — see the source for the full definition.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Loess</title>
      <link>https://statili.com/docs/stats/smoothing/loess/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/stats/smoothing/loess/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/stats&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.2-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;1 export&lt;/span&gt;&#xA;  &lt;/p&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;loess&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#loess&#34; aria-label=&#34;Link to loess&#34;&gt;#&lt;/a&gt;&#xA;      loess&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/stats/src/smoothing/loess.ts#L135&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/stats/src/smoothing/loess.ts:135&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signatures&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;loess&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;arg1&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Partial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;LoessOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;args_0&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;DataPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[])&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;SmoothResult&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;loess&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;suppliedOptions&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Partial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;LoessOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;DataPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[])&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;SmoothResult&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Performs &lt;strong&gt;LOESS&lt;/strong&gt; (locally estimated scatterplot smoothing) with local&#xA;linear fits and tricube weights.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;&lt;p&gt;Unlike every method in &lt;code&gt;regression/&lt;/code&gt;, this fits no global model. Each output&#xA;point comes from its own weighted line through nearby observations, which&#xA;lets the curve follow structure no single equation could — several peaks, a&#xA;plateau, a reversal partway through.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Regression Error</title>
      <link>https://statili.com/docs/forge/regression/regressionerror/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/forge/regression/regressionerror/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/forge&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.2-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;1 export&lt;/span&gt;&#xA;  &lt;/p&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;regressionerror&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#regressionerror&#34; aria-label=&#34;Link to regressionError&#34;&gt;#&lt;/a&gt;&#xA;      regressionError&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/forge/src/regression/regressionError.ts#L11&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/forge/src/regression/regressionError.ts:11&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;regressionError&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;errorResult&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;RegressionError&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;MultiRegressionError&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;FactResultError&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Translates a technical failure from &lt;code&gt;@statili/stats&lt;/code&gt; into an end-user facing&#xA;explanation with a concrete next step.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;A failed analysis is not a fact — nothing was measured — so it stays on the&#xA;&lt;code&gt;ok: false&lt;/code&gt; branch rather than becoming a &lt;code&gt;no-finding&lt;/code&gt;.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Parameters&lt;/h3&gt;&#xA;  &lt;table class=&#34;data-table api-params&#34;&gt;&#xA;    &lt;thead&gt;&#xA;      &lt;tr&gt;&lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;    &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;errorResult&lt;/td&gt;&#xA;        &lt;td&gt;RegressionError | MultiRegressionError&lt;/td&gt;&#xA;        &lt;td&gt;&lt;span class=&#34;api-muted&#34;&gt;—&lt;/span&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;    &lt;/tbody&gt;&#xA;  &lt;/table&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Returns&lt;/h3&gt;&lt;code class=&#34;api-returns__type&#34;&gt;FactResultError&lt;/code&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Render</title>
      <link>https://statili.com/docs/forge/render/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/forge/render/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/forge&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.2-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;5 exports&lt;/span&gt;&#xA;  &lt;/p&gt;&#xA;  &lt;nav class=&#34;api-jump&#34; aria-label=&#34;Exports in this module&#34;&gt;&#xA;    &lt;a href=&#34;#render&#34;&gt;render&lt;/a&gt;&#xA;    &lt;a href=&#34;#renderannotation&#34;&gt;renderAnnotation&lt;/a&gt;&#xA;    &lt;a href=&#34;#axislabels&#34;&gt;AxisLabels&lt;/a&gt;&#xA;    &lt;a href=&#34;#axisunits&#34;&gt;AxisUnits&lt;/a&gt;&#xA;    &lt;a href=&#34;#renderoptions&#34;&gt;RenderOptions&lt;/a&gt;&#xA;  &lt;/nav&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;render&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#render&#34; aria-label=&#34;Link to render&#34;&gt;#&lt;/a&gt;&#xA;      render&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/forge/src/render.ts#L78&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/forge/src/render.ts:78&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signatures&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;render&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;arg1&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;RenderOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;args_0&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Fact&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;render&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;options&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;RenderOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;fact&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Fact&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Turns a {@link Fact} into a sentence.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;Rendering is deliberately separate from fact generation: one claim can be&#xA;spoken at several lengths, in several languages, with the consumer&amp;rsquo;s own axis&#xA;names — none of which is possible once prose has been baked into the result.&#xA;Swap this function out entirely to localise.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Parameters&lt;/h3&gt;&#xA;  &lt;table class=&#34;data-table api-params&#34;&gt;&#xA;    &lt;thead&gt;&#xA;      &lt;tr&gt;&lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;    &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;options&lt;/td&gt;&#xA;        &lt;td&gt;RenderOptions&lt;/td&gt;&#xA;        &lt;td&gt;Axis labels, units, and verbosity.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;fact&lt;/td&gt;&#xA;        &lt;td&gt;Fact&lt;/td&gt;&#xA;        &lt;td&gt;The fact to render.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;    &lt;/tbody&gt;&#xA;  &lt;/table&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Returns&lt;/h3&gt;&lt;code class=&#34;api-returns__type&#34;&gt;string&lt;/code&gt;&lt;div class=&#34;api-returns__prose&#34;&gt;A sentence describing the fact.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Examples&lt;/h3&gt;&#xA;  &lt;figure class=&#34;api-example&#34;&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-ts&#34; data-lang=&#34;ts&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;speak&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;render&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;labels&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;week&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;signups&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;units&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;users&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;speak&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;fact&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// &amp;#34;Each additional unit of week is associated with an increase of 8.23 users&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;//  in signups. At week = 0 the fitted value of signups is 3.53 users.&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;  &lt;figure class=&#34;api-example&#34;&gt;&lt;figcaption&gt;Terse, for an aria-label&lt;/figcaption&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-ts&#34; data-lang=&#34;ts&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;render&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;labels&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;week&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;signups&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;verbosity&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;terse&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;})(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;fact&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// &amp;#34;signups: up 8.23 per additional unit of week.&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;renderannotation&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#renderannotation&#34; aria-label=&#34;Link to renderAnnotation&#34;&gt;#&lt;/a&gt;&#xA;      renderAnnotation&#xA;      &lt;span class=&#34;api-kind api-kind--function&#34;&gt;function&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/forge/src/render.ts#L463&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/forge/src/render.ts:463&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signatures&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;renderAnnotation&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;arg1&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;RenderOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;args_0&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Annotation&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;renderAnnotation&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;options&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;RenderOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;annotation&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;Annotation&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Turns an {@link Annotation} into a display label — a legend entry for a&#xA;curve, a plot-line caption for a marker.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;Lives here for the same reason {@link render} does: without it every consumer&#xA;reimplements the &lt;code&gt;&amp;quot;vertex&amp;quot;&lt;/code&gt; → &lt;code&gt;&amp;quot;Vertex&amp;quot;&lt;/code&gt; mapping, and they drift apart the&#xA;moment a new role is added.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Parameters&lt;/h3&gt;&#xA;  &lt;table class=&#34;data-table api-params&#34;&gt;&#xA;    &lt;thead&gt;&#xA;      &lt;tr&gt;&lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&lt;/tr&gt;&#xA;    &lt;/thead&gt;&#xA;    &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;options&lt;/td&gt;&#xA;        &lt;td&gt;RenderOptions&lt;/td&gt;&#xA;        &lt;td&gt;Axis labels and verbosity. Units are unused today.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;        &lt;td&gt;annotation&lt;/td&gt;&#xA;        &lt;td&gt;Annotation&lt;/td&gt;&#xA;        &lt;td&gt;The annotation to label.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;    &lt;/tbody&gt;&#xA;  &lt;/table&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Returns&lt;/h3&gt;&lt;code class=&#34;api-returns__type&#34;&gt;string&lt;/code&gt;&lt;div class=&#34;api-returns__prose&#34;&gt;A short label, safe to put in a legend or on an axis.&lt;/div&gt;&#xA;  &lt;h3 class=&#34;api-label&#34;&gt;Example&lt;/h3&gt;&#xA;  &lt;figure class=&#34;api-example&#34;&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-ts&#34; data-lang=&#34;ts&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;renderAnnotation&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({})(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;curve&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;                          &lt;span class=&#34;c1&#34;&gt;// &amp;#34;Linear fit&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;renderAnnotation&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;labels&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;hour&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;})(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;marker&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;// &amp;#34;Vertex at hour = 3&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;axislabels&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#axislabels&#34; aria-label=&#34;Link to AxisLabels&#34;&gt;#&lt;/a&gt;&#xA;      AxisLabels&#xA;      &lt;span class=&#34;api-kind api-kind--interface&#34;&gt;interface&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/forge/src/render.ts#L9&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/forge/src/render.ts:9&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;interface&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;AxisLabels&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;x?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;y?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Axis names, so a rendered fact reads in the reader&amp;rsquo;s domain rather than in&#xA;algebra. &amp;ldquo;As advertising spend increases, monthly sales tend to increase&amp;rdquo;&#xA;beats &amp;ldquo;As X increases, Y tends to increase&amp;rdquo; — especially as chart alt text.&lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;axisunits&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#axisunits&#34; aria-label=&#34;Link to AxisUnits&#34;&gt;#&lt;/a&gt;&#xA;      AxisUnits&#xA;      &lt;span class=&#34;api-kind api-kind--interface&#34;&gt;interface&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/forge/src/render.ts#L15&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/forge/src/render.ts:15&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;interface&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;AxisUnits&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;x?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;y?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;Units appended to quantities, e.g. &lt;code&gt;{ y: &amp;quot;£&amp;quot; }&lt;/code&gt; or &lt;code&gt;{ x: &amp;quot;days&amp;quot; }&lt;/code&gt;.&lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;renderoptions&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#renderoptions&#34; aria-label=&#34;Link to RenderOptions&#34;&gt;#&lt;/a&gt;&#xA;      RenderOptions&#xA;      &lt;span class=&#34;api-kind api-kind--interface&#34;&gt;interface&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/forge/src/render.ts#L20&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/forge/src/render.ts:20&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;interface&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;RenderOptions&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;labels?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;AxisLabels&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;units?&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;AxisUnits&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/**&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * `&amp;#34;terse&amp;#34;` yields a single clause suitable for an `aria-label` or a tooltip.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * `&amp;#34;full&amp;#34;` yields one to three sentences for a `&amp;lt;desc&amp;gt;` or a body paragraph.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * @default &amp;#34;full&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;verbosity&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;?:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;terse&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;full&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Types</title>
      <link>https://statili.com/docs/stats/smoothing/types/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/stats/smoothing/types/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/stats&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.2-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;5 exports&lt;/span&gt;&#xA;  &lt;/p&gt;&#xA;  &lt;nav class=&#34;api-jump&#34; aria-label=&#34;Exports in this module&#34;&gt;&#xA;    &lt;a href=&#34;#loessoptions&#34;&gt;LoessOptions&lt;/a&gt;&#xA;    &lt;a href=&#34;#smootherror&#34;&gt;SmoothError&lt;/a&gt;&#xA;    &lt;a href=&#34;#smoothsuccess&#34;&gt;SmoothSuccess&lt;/a&gt;&#xA;    &lt;a href=&#34;#turningpoint&#34;&gt;TurningPoint&lt;/a&gt;&#xA;    &lt;a href=&#34;#smoothresult&#34;&gt;SmoothResult&lt;/a&gt;&#xA;  &lt;/nav&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;loessoptions&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#loessoptions&#34; aria-label=&#34;Link to LoessOptions&#34;&gt;#&lt;/a&gt;&#xA;      LoessOptions&#xA;      &lt;span class=&#34;api-kind api-kind--interface&#34;&gt;interface&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/stats/src/smoothing/types.ts#L47&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/stats/src/smoothing/types.ts:47&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;interface&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;LoessOptions&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/**&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * Fraction of the sample in each local neighbourhood, in `(0, 1]`.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   *&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * Smaller follows the data more closely and picks up more turning points;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * larger produces a smoother curve. `highcharts-regression` exposes the same&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * control as `loessSmooth`, expressed as a percentage.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   *&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * @default 0.25&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;bandwidth&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Decimal places for the smoothed values. @default 2 */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;precision&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/**&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * Minimum change in Y for a direction reversal to count as a turning point,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * as a fraction of the smoothed Y range. Suppresses noise-level wobble.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   *&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   * @default 0.01&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;   */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;turningPointThreshold&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;smootherror&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#smootherror&#34; aria-label=&#34;Link to SmoothError&#34;&gt;#&lt;/a&gt;&#xA;      SmoothError&#xA;      &lt;span class=&#34;api-kind api-kind--interface&#34;&gt;interface&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/stats/src/smoothing/types.ts#L38&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/stats/src/smoothing/types.ts:38&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;interface&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;SmoothError&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;ok&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;method&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;?:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;loess&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;errorType&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;RegressionErrorType&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;message&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;api-symbol&#34; id=&#34;smoothsuccess&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#smoothsuccess&#34; aria-label=&#34;Link to SmoothSuccess&#34;&gt;#&lt;/a&gt;&#xA;      SmoothSuccess&#xA;      &lt;span class=&#34;api-kind api-kind--interface&#34;&gt;interface&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/stats/src/smoothing/types.ts#L21&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/stats/src/smoothing/types.ts:21&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;interface&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;SmoothSuccess&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;ok&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;method&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;loess&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Smoothed `[x, y]` at each observed x, in ascending x order. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;points&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;PredictedPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[];&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Fraction of the sample used in each local neighbourhood. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;bandwidth&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Proportion of variance the smoothed curve accounts for. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;r2&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;rmse&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;n&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Direction changes in the smoothed curve, in ascending x order. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;turningPoints&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;TurningPoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[];&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Overall direction from the first smoothed value to the last. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;netDirection&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;rising&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;falling&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;flat&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;api-symbol__summary&#34;&gt;The result of a scatterplot smoother.&lt;/div&gt;&#xA;  &lt;div class=&#34;prose&#34;&gt;&lt;p&gt;Deliberately &lt;em&gt;not&lt;/em&gt; a &lt;code&gt;RegressionSuccess&lt;/code&gt;. A smoother fits no global model, so&#xA;there is no slope, intercept or equation to report, and no &lt;code&gt;predict&lt;/code&gt; — a&#xA;LOESS value at an unobserved x requires refitting against the whole dataset,&#xA;so the curve cannot be projected beyond the data it was built from.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Types</title>
      <link>https://statili.com/docs/forge/types/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://statili.com/docs/forge/types/</guid>
      <description>&lt;!-- Generated by scripts/build-docs.mjs — do not edit; your changes will be overwritten. --&gt;&#xA;&lt;div class=&#34;api-module&#34;&gt;&#xA;  &lt;p class=&#34;pkg-meta&#34;&gt;&#xA;    &lt;code&gt;@statili/forge&lt;/code&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;v0.0.2-beta.0&lt;/span&gt;&#xA;    &lt;span class=&#34;pkg-meta__sep&#34;&gt;·&lt;/span&gt;&lt;span&gt;17 exports&lt;/span&gt;&#xA;  &lt;/p&gt;&#xA;  &lt;nav class=&#34;api-jump&#34; aria-label=&#34;Exports in this module&#34;&gt;&#xA;    &lt;a href=&#34;#claimmap&#34;&gt;ClaimMap&lt;/a&gt;&#xA;    &lt;a href=&#34;#linearfactoptions&#34;&gt;LinearFactOptions&lt;/a&gt;&#xA;    &lt;a href=&#34;#logisticfactoptions&#34;&gt;LogisticFactOptions&lt;/a&gt;&#xA;    &lt;a href=&#34;#polynomialfactoptions&#34;&gt;PolynomialFactOptions&lt;/a&gt;&#xA;    &lt;a href=&#34;#powerfactoptions&#34;&gt;PowerFactOptions&lt;/a&gt;&#xA;    &lt;a href=&#34;#provenance&#34;&gt;Provenance&lt;/a&gt;&#xA;    &lt;a href=&#34;#annotation&#34;&gt;Annotation&lt;/a&gt;&#xA;    &lt;a href=&#34;#claimof&#34;&gt;ClaimOf&lt;/a&gt;&#xA;    &lt;a href=&#34;#fact&#34;&gt;Fact&lt;/a&gt;&#xA;    &lt;a href=&#34;#factkind&#34;&gt;FactKind&lt;/a&gt;&#xA;    &lt;a href=&#34;#factlevel&#34;&gt;FactLevel&lt;/a&gt;&#xA;    &lt;a href=&#34;#factresult&#34;&gt;FactResult&lt;/a&gt;&#xA;    &lt;a href=&#34;#factresulterror&#34;&gt;FactResultError&lt;/a&gt;&#xA;    &lt;a href=&#34;#factresultsuccess&#34;&gt;FactResultSuccess&lt;/a&gt;&#xA;    &lt;a href=&#34;#logarithmicfactoptions&#34;&gt;LogarithmicFactOptions&lt;/a&gt;&#xA;    &lt;a href=&#34;#multilinearfactoptions&#34;&gt;MultilinearFactOptions&lt;/a&gt;&#xA;    &lt;a href=&#34;#regressionmethod&#34;&gt;RegressionMethod&lt;/a&gt;&#xA;  &lt;/nav&gt;&lt;section class=&#34;api-symbol&#34; id=&#34;claimmap&#34;&gt;&#xA;  &lt;div class=&#34;api-symbol__head&#34;&gt;&#xA;    &lt;h2 class=&#34;api-symbol__title&#34;&gt;&#xA;      &lt;a class=&#34;api-symbol__anchor&#34; href=&#34;#claimmap&#34; aria-label=&#34;Link to ClaimMap&#34;&gt;#&lt;/a&gt;&#xA;      ClaimMap&#xA;      &lt;span class=&#34;api-kind api-kind--interface&#34;&gt;interface&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;a class=&#34;api-symbol__source&#34; href=&#34;https://github.com/ofhope/statili/blob/main/packages/forge/src/types.ts#L89&#34;&#xA;       target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;packages/forge/src/types.ts:89&lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;codeblock&#34;&gt;&#xA;    &lt;div class=&#34;codeblock__bar&#34;&gt;&#xA;      &lt;span class=&#34;codeblock__label&#34;&gt;signature&lt;/span&gt;&#xA;      &lt;button type=&#34;button&#34; class=&#34;copy-btn&#34;&gt;copy&lt;/button&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;interface&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;ClaimMap&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;// ── Shape of the relationship ─────────────────────────────────────────────&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Direction and rate of a straight-line relationship. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;s2&#34;&gt;&amp;#34;trend.linear&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;direction&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;rising&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;falling&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;flat&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;cm&#34;&gt;/** Change in Y per one-unit increase in X. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;slope&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;intercept&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Shape of a fitted polynomial curve. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;s2&#34;&gt;&amp;#34;trend.polynomial&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;degree&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;leadingCoefficient&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;shape&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;line&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;parabola-up&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;parabola-down&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;cubic&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;higher-order&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;cm&#34;&gt;/** X position of the extremum. Quadratics only; `null` otherwise. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;vertexX&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;null&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;equation&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Growth regime of a fitted power law, y = a·x^b. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;s2&#34;&gt;&amp;#34;trend.power&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;cm&#34;&gt;/** The exponent b. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;exponent&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;cm&#34;&gt;/** The scale coefficient a — the predicted Y at x = 1. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;scale&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;regime&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;superlinear&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;proportional&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;sublinear&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;flat&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;inverse&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;cm&#34;&gt;/** Y is multiplied by this when X doubles: 2^b. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;doublingFactor&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;equation&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;cm&#34;&gt;/** Constant proportional growth or decay, y = a·e^(bx). */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;s2&#34;&gt;&amp;#34;trend.exponential&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;cm&#34;&gt;/** The growth rate b. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;rate&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;cm&#34;&gt;/** The initial value a — the predicted Y at x = 0. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;initial&lt;/span&gt;: &lt;span class=&#34;kt&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;direction&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;growth&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;decay&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;flat&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;cm&#34;&gt;/** Y is multiplied by this for each unit step in X: e^b. */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;perStepFactor&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// …truncated&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;p class=&#34;api-truncated&#34;&gt;Type shortened for readability — see the source for the full definition.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Intro</title>
      <link>https://statili.com/posts/into/</link>
      <pubDate>Sun, 08 Mar 2026 14:55:25 +1100</pubDate>
      <guid>https://statili.com/posts/into/</guid>
      <description>&lt;p&gt;@statili is a collection of robust, type-safe statistical algorithms built in TypeScript, engineered for numerical stability and high-performance data visualization. Designed with a functional, data-last API and rich error handling, it provides the precise foundations for deriving actionable insights in modern web applications.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
