nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
#include <limits>
#include <memory_resource>
#include <nk/value/value.hpp>
#include <nk/value/fn_handle.hpp>
#include <tuple>

Go to the source code of this file.

Classes

struct  nk::stats::NlinfitResult
 Nonlinear least-squares fit result ([beta, R, J, CovB, MSE] = nlinfit(X, y, fun, beta0)). More...
struct  nk::stats::RobustfitResult
 Robust linear regression via iteratively-reweighted least squares ([b, stats] = robustfit(X, y)). More...
struct  nk::stats::RobustcovResult
 Result of robust covariance estimation ([sigma, mu] = robustcov(X)). More...
struct  nk::stats::GlmfitResult
 GLM fit result. More...
struct  nk::stats::LassoResult
 Lasso result. More...

Enumerations

enum class  nk::stats::RobustWeight {
  Andrews , Bisquare , Cauchy , Fair ,
  Huber , Logistic , Ols , Talwar ,
  Welsch
}
 Robust regression weight functions (MATLAB robustfit set). More...
enum class  nk::stats::GlmDistribution {
  Normal , Binomial , Poisson , Gamma ,
  InverseGaussian
}
 GLM family of error distributions. More...
enum class  nk::stats::GlmLink {
  GlmLink::Identity , GlmLink::Logit , GlmLink::Log , GlmLink::Reciprocal ,
  GlmLink::Probit
}
 GLM link function. More...

Functions

std::tuple< Value, Value, Value, Value > nk::stats::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)).
Value nk::stats::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)).
std::tuple< Value, Value, Value, Value > nk::stats::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)).
NlinfitResult nk::stats::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.
Value nk::stats::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 > nk::stats::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, X, beta, R, J [, alpha])).
RobustfitResult nk::stats::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, y)).
RobustcovResult nk::stats::robustcov (const Value &X, std::pmr::memory_resource *mr=nullptr)
 Robust multivariate covariance estimate via trimmed-MCD ([sigma, mu] = robustcov(X)).
GlmfitResult nk::stats::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])).
Value nk::stats::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 nk::stats::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)).
LassoResult nk::stats::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)).