10#include <memory_resource>
11#include <nk/value/value.hpp>
12#include <nk/value/fn_handle.hpp>
41std::tuple<Value, Value, Value, Value>
43 std::pmr::memory_resource *mr =
nullptr);
62 std::pmr::memory_resource *mr =
nullptr);
80std::tuple<Value, Value, Value, Value>
82 std::pmr::memory_resource *mr =
nullptr);
116 FnHandle model,
const Value &beta0,
117 std::pmr::memory_resource *mr =
nullptr);
133 std::pmr::memory_resource *mr =
nullptr);
151std::tuple<Value, Value>
155 std::pmr::memory_resource *mr =
nullptr);
159 Andrews, Bisquare, Cauchy, Fair, Huber,
160 Logistic, Ols, Talwar, Welsch
200 double tune = std::numeric_limits<double>::quiet_NaN(),
201 std::pmr::memory_resource *mr =
nullptr);
215 std::pmr::memory_resource *mr =
nullptr);
275 std::pmr::memory_resource *mr =
nullptr);
289 std::pmr::memory_resource *mr =
nullptr);
328 std::pmr::memory_resource *mr =
nullptr);
350 const Value &lambdas,
double alpha = 1.0,
351 std::pmr::memory_resource *mr =
nullptr);
Core MATLAB-compatible multidimensional array and scalar value type.
Value glmval(const Value &b, const Value &X, GlmLink link, std::pmr::memory_resource *mr=nullptr)
Evaluate a fitted GLM (yhat = glmval(b, X, link)).
LassoResult lasso(const Value &X, const Value &y, const Value &lambdas, double alpha=1.0, std::pmr::memory_resource *mr=nullptr)
LASSO / elastic-net linear regression ([B, FitInfo] = lasso(X, y, lambdas, alpha)).
RobustcovResult robustcov(const Value &X, std::pmr::memory_resource *mr=nullptr)
Robust multivariate covariance estimate via trimmed-MCD ([sigma, mu] = robustcov(X)).
NlinfitResult nlinfit(const Value &X, const Value &y, FnHandle model, const Value &beta0, std::pmr::memory_resource *mr=nullptr)
Nonlinear least-squares fit via Levenberg-Marquardt.
LassoResult lassoglm(const Value &X, const Value &y, GlmDistribution distr, const Value &lambdas, double alpha=1.0, std::pmr::memory_resource *mr=nullptr)
Lasso-regularised GLM ([B, FitInfo] = lassoglm(X, y, distr, lambdas, alpha)).
GlmfitResult glmfit(const Value &X, const Value &y, GlmDistribution distr, GlmLink link=GlmLink::Identity, std::pmr::memory_resource *mr=nullptr)
Fit a generalised linear model ([b, dev] = glmfit(X, y, distr [, link])).
GlmLink
GLM link function.
std::tuple< Value, Value, Value, Value > regress(const Value &y, const Value &X, double alpha, std::pmr::memory_resource *mr=nullptr)
Ordinary least-squares regression ([b, bint, r, stats] = regress(y, X, alpha)).
GlmDistribution
GLM family of error distributions.
std::tuple< Value, Value, Value, Value > lscov(const Value &A, const Value &b, const Value &w, std::pmr::memory_resource *mr=nullptr)
Weighted least squares ([x, stdx, mse, S] = lscov(A, b, w)).
RobustfitResult robustfit(const Value &X, const Value &y, RobustWeight weight=RobustWeight::Bisquare, double tune=std::numeric_limits< double >::quiet_NaN(), std::pmr::memory_resource *mr=nullptr)
Robust linear regression via Iteratively Reweighted Least Squares (IRLS) (robustfit(X,...
Value ridge(const Value &y, const Value &X, const Value &k, bool scaled, std::pmr::memory_resource *mr=nullptr)
Ridge regression (B = ridge(y, X, k, scaled)).
Value nlparci(const Value &beta, const Value &R, const Value &J, double alpha=0.05, std::pmr::memory_resource *mr=nullptr)
Parameter confidence intervals from an nlinfit fit (ci = nlparci(beta, R, J [, alpha])).
std::tuple< Value, Value > nlpredci(FnHandle model, const Value &X, const Value &beta, const Value &R, const Value &J, double alpha, std::pmr::memory_resource *mr=nullptr)
Prediction confidence intervals from an nlinfit fit ([ypred, delta] = nlpredci(fun,...
RobustWeight
Robust regression weight functions (MATLAB robustfit set).
@ Logit
g(μ) = log(μ / (1 - μ))
Value dev
Deviance (scalar).
Value b
Coefficients (p + 1) × 1 — intercept first.
Value Intercept
1 × nLambda intercept per λ.
Value B
p × nLambda coefficient paths.
Value Lambda
1 × nLambda λ values actually used.
Nonlinear least-squares fit result ([beta, R, J, CovB, MSE] = nlinfit(X, y, fun, beta0)).
Value J
Jacobian at beta (n × p).
Value MSE
Mean squared error (scalar).
Value R
Residuals (n × 1).
Value beta
Parameter estimates (p × 1).
Value CovB
Parameter covariance (p × p).
Result of robust covariance estimation ([sigma, mu] = robustcov(X)).
Value mu
Robust mean location vector (1 × d).
Value sigma
Robust covariance matrix (d × d).
Robust linear regression via iteratively-reweighted least squares ([b, stats] = robustfit(X,...
Value b
Robust regression coefficient vector.
Value s
Robust scale estimate.