Rand Stats

Math::Regressionizer

zef:antononcube

Math::Regressionizer

Raku package with a class that allows pipeline-like specification and execution of regression workflows.

Extensive guide is given in the Jupyter notebook "Rapid-specification-of-regression-workflows.ipynb" and the corresponding Markdown document "Rapid-specification-of-regression-workflows.md".


Features summary

Details and arguments

Workflows flowchart

The following flowchart summarizes the workflows that are supported by Regressionizer:


Usage examples

Load packages:

use Math::Regressionizer;
use Data::Generators;

Generate random data:

srand(0);
my @x = 0, 0 + 1/300 ... 2;
my @y = @x.map({ sin(2 * pi * $_) }) <<+>> random-variate(NormalDistribution.new(0, 0.4), @x.elems);
my @data = @x Z @y;

Compute quantile regression for probabilities [0.2, 0.5, 0.8] and make the corresponding plot:

#% html
my $obj = 
  Math::Regressionizer.new(@data)
  .quantile-regression(knots => 8, probs => [0.2, 0.5, 0.8])
  .plot(title => "B-splines fit", template => "dark", format => 'html')

Remark If the code cell above is executed in a Jupyter notebook with a Raku kernel then the plot is shown. "Math::Regressionizer" uses the package "JavaScript::Google::Charts" for its plots.

Export the plot obtained above:

spurt('qr-plot.html', $obj.take-value)


References

Articles, books

[RK1] Roger Koenker, Quantile Regression, Cambridge University Press, 2005.

[RK2] Roger Koenker, "Quantile Regression in R: a vignette", (2006), CRAN.

[AA1] Anton Antonov, "A monad for Quantile Regression workflows", (2018), MathematicaForPrediction at GitHub.

Packages, paclets

[RKp1] Roger Koenker, quantreg, CRAN.

[AAp1] Anton Antonov, Quantile Regression, WL paclet, (2014-2023), GitHub/antononcube.

[AAp2] Anton Antonov, Monadic Quantile Regression, WL paclet, (2018-2024), GitHub/antononcube.

[AAp3] Anton Antonov, QuantileRegression, (2019), Wolfram Function Repository.

Repositories

[AAr1] Anton Antonov, DSL::English::QuantileRegressionWorkflows, Raku package, (2020), GitHub/antononcube.

Videos

[AAv1] Anton Antonov, "Boston useR! QuantileRegression Workflows 2019-04-18", (2019), Anton Antonov at YouTube.

[AAv2] Anton Antonov, "useR! 2020: How to simplify Machine Learning workflows specifications", (2020), R Consortium at YouTube.

[AAv3] Anton Antonov, "Quantile Regression Workflows (PyData Global 2024)", (2025), Anton Antonov at YouTube.