Descriptive statistics. More...
#include <memory_resource>#include <nk/value/value.hpp>#include <limits>#include <string>#include <tuple>#include <utility>#include <vector>Go to the source code of this file.
Classes | |
| struct | nk::stats::CanoncorrResult |
| Canonical correlation analysis ([A, B, r] = canoncorr(X, Y)). More... | |
| struct | nk::stats::NormalizeResult |
| Column-wise normalisation (Y = normalize(A, method)). More... | |
| struct | nk::stats::Grp2idxResult |
| Result of grp2idx — [G, GN, GL]. More... | |
Functions | |
| Value | nk::stats::var (const Value &x, int normFlag=0, int dim=0, std::pmr::memory_resource *mr=nullptr) |
| Sample / population variance along dim (y = var(X, normFlag, dim)). | |
| Value | nk::stats::stdev (const Value &x, int normFlag=0, int dim=0, std::pmr::memory_resource *mr=nullptr) |
| Sample / population standard deviation (y = std(X, normFlag, dim)). | |
| Value | nk::stats::median (const Value &x, int dim=0, std::pmr::memory_resource *mr=nullptr) |
| Median along dim (y = median(X, dim)). | |
| Value | nk::stats::quantile (const Value &x, const Value &p, int dim=0, std::pmr::memory_resource *mr=nullptr) |
| Empirical quantile (q = quantile(X, p, dim)). | |
| Value | nk::stats::prctile (const Value &x, const Value &p, int dim=0, std::pmr::memory_resource *mr=nullptr) |
| Empirical percentile (q = prctile(X, p, dim)). | |
| std::tuple< Value, Value > | nk::stats::mode (const Value &x, int dim=0, std::pmr::memory_resource *mr=nullptr) |
| Mode and frequency ([m, f] = mode(X, dim)). | |
| Value | nk::stats::cov (const Value &x, int normFlag=0, std::pmr::memory_resource *mr=nullptr) |
| Sample / population covariance (C = cov(X, normFlag)). | |
| Value | nk::stats::cov (const Value &x, const Value &y, int normFlag=0, std::pmr::memory_resource *mr=nullptr) |
| Joint covariance of two vectors (C = cov(X, Y, normFlag)). | |
| Value | nk::stats::corrcoef (const Value &x, std::pmr::memory_resource *mr=nullptr) |
| Pearson correlation matrix (R = corrcoef(X)). | |
| Value | nk::stats::corrcoef (const Value &x, const Value &y, std::pmr::memory_resource *mr=nullptr) |
| Joint correlation matrix (R = corrcoef(X, Y)). | |
| std::tuple< Value, Value > | nk::stats::bounds (const Value &x, int dim=0, std::pmr::memory_resource *mr=nullptr) |
| Min and max along dim ([lo, hi] = bounds(X, dim)). | |
| Value | nk::stats::iqr (const Value &x, int dim=0, std::pmr::memory_resource *mr=nullptr) |
| Interquartile range (r = iqr(X, dim)). | |
| Value | nk::stats::maxk (const Value &x, int k, int dim=0, std::pmr::memory_resource *mr=nullptr) |
| k largest values along dim (y = maxk(X, k, dim)). | |
| Value | nk::stats::mink (const Value &x, int k, int dim=0, std::pmr::memory_resource *mr=nullptr) |
| k smallest values along dim (y = mink(X, k, dim)). | |
| Value | nk::stats::rmse (const Value &f, const Value &a, int dim=0, std::pmr::memory_resource *mr=nullptr) |
| Root-mean-square error (e = rmse(F, A, dim)). | |
| Value | nk::stats::mape (const Value &f, const Value &a, int dim=0, std::pmr::memory_resource *mr=nullptr) |
| Mean absolute percentage error (e = mape(F, A, dim)). | |
| Value | nk::stats::partialcorr_of (const Value &X, const Value &Y, const Value &Z, std::pmr::memory_resource *mr=nullptr) |
| Partial correlation controlling for Z (R = partialcorr(X, Y, Z)). | |
| Value | nk::stats::partialcorr_xx (const Value &X, std::pmr::memory_resource *mr=nullptr) |
| One-argument partial correlation: pairwise partial correlation between columns of X, controlling for the remaining columns of X (R = partialcorr(X)). | |
| Value | nk::stats::partialcorr_xz (const Value &X, const Value &Z, std::pmr::memory_resource *mr=nullptr) |
| Two-argument partial correlation (R = partialcorr(X, Z)). | |
| Value | nk::stats::partialcorri (const Value &Y, const Value &X, const Value &Z={}, std::pmr::memory_resource *mr=nullptr) |
| Partial correlation between each column of Y and each column of X, controlling for the remaining columns of X (and optionally Z). | |
| CanoncorrResult | nk::stats::canoncorr (const Value &X, const Value &Y, std::pmr::memory_resource *mr=nullptr) |
| Canonical correlation analysis ([A, B, r] = canoncorr(X, Y)). | |
| Value | nk::stats::corr_xx (const Value &X, std::pmr::memory_resource *mr=nullptr) |
| Auto-correlation across columns of X (R = corr(X)). | |
| Value | nk::stats::corr_xy (const Value &X, const Value &Y, std::pmr::memory_resource *mr=nullptr) |
| Cross-correlation between columns of X and Y (R = corr(X, Y)). | |
| Value | nk::stats::detrend_of (const Value &x, int order=1, std::pmr::memory_resource *mr=nullptr) |
| Remove polynomial trend (y = detrend(x, order)). | |
| Value | nk::stats::isoutlier_of (const Value &x, std::pmr::memory_resource *mr=nullptr) |
| Outlier mask (tf = isoutlier(x)). | |
| Value | nk::stats::rmoutliers_of (const Value &x, std::pmr::memory_resource *mr=nullptr) |
| Remove outliers (y = rmoutliers(x)). | |
| Value | nk::stats::fillmissing_of (const Value &x, const std::string &method, double constVal=0.0, std::pmr::memory_resource *mr=nullptr) |
| Fill missing values (y = fillmissing(x, method, constVal)). | |
| Value | nk::stats::rmmissing_of (const Value &x, std::pmr::memory_resource *mr=nullptr) |
| Remove rows / cols containing missing values (y = rmmissing(x)). | |
| Value | nk::stats::standardizeMissing_of (const Value &x, double sentinel, std::pmr::memory_resource *mr=nullptr) |
| Convert sentinel value to missing (y = standardizeMissing(x, sentinel)). | |
| Value | nk::stats::range_of (const Value &x, int dim=0, std::pmr::memory_resource *mr=nullptr) |
| Range = max - min along dim (r = range(x, dim)). | |
| Value | nk::stats::mad_of (const Value &x, int flag=0, int dim=0, std::pmr::memory_resource *mr=nullptr) |
| Mean absolute deviation (y = mad(x, flag, dim)). | |
| Value | nk::stats::geomean_of (const Value &x, int dim=0, std::pmr::memory_resource *mr=nullptr) |
| Geometric mean (g = geomean(x, dim)). | |
| Value | nk::stats::harmmean_of (const Value &x, int dim=0, std::pmr::memory_resource *mr=nullptr) |
| Harmonic mean (h = harmmean(x, dim)). | |
| Value | nk::stats::moment_of (const Value &x, int order, int dim=0, std::pmr::memory_resource *mr=nullptr) |
| k-th central moment (m = moment(x, k, dim)). | |
| Value | nk::stats::trimmean_of (const Value &x, double pct, int dim=0, bool useFloor=false, std::pmr::memory_resource *mr=nullptr) |
| Trimmed mean (m = trimmean(x, pct, dim)). | |
| std::tuple< Value, Value, Value > | nk::stats::prepareCurveData (const Value &x, const Value &y, const Value &w, std::pmr::memory_resource *mr=nullptr) |
| Curve-data cleanup ([xo, yo, wo] = prepareCurveData(x, y, w)). | |
| std::tuple< Value, Value, Value > | nk::stats::prepareSurfaceData (const Value &x, const Value &y, const Value &z, std::pmr::memory_resource *mr=nullptr) |
| Surface-data cleanup ([xo, yo, zo] = prepareSurfaceData(x, y, z)). | |
| std::tuple< Value, Value, Value, Value, Value, Value, Value > | nk::stats::datastats (const Value &x, std::pmr::memory_resource *mr=nullptr) |
| Dataset descriptive summary (datastats(x)). | |
| std::tuple< Value, Value > | nk::stats::ecdf (const Value &y, std::pmr::memory_resource *mr=nullptr) |
| Empirical cumulative distribution function ([f, x] = ecdf(y)). | |
| std::tuple< Value, Value, Value > | nk::stats::ksdensity (const Value &x, const Value &pts, double bw_user, std::pmr::memory_resource *mr=nullptr) |
| Kernel density estimate ([f, xi, bw] = ksdensity(x, pts, bw_user)). | |
| std::tuple< Value, Value > | nk::stats::ecdfhist (const Value &f, const Value &x, int m=10, std::pmr::memory_resource *mr=nullptr) |
| Histogram from empirical CDF ([n, c] = ecdfhist(f, x, m)). | |
| NormalizeResult | nk::stats::normalize (const Value &A, const std::string &method, const Value ¶m=Value::Empty, std::pmr::memory_resource *mr=nullptr) |
| Normalizes data using z-score, min-max, scale, or center methods ([N, C, S] = normalize(...)). | |
| Value | nk::stats::rescale (const Value &A, double lo, double hi, std::pmr::memory_resource *mr=nullptr, double inputMin=std::numeric_limits< double >::quiet_NaN(), double inputMax=std::numeric_limits< double >::quiet_NaN()) |
| Linear range remap (Y = rescale(A, lo, hi)). | |
| Value | nk::stats::zscore (const Value &A, std::pmr::memory_resource *mr=nullptr) |
| Z-score normalisation (Y = zscore(A)). | |
| std::pair< Value, Value > | nk::stats::tiedrank (const Value &x, std::pmr::memory_resource *mr=nullptr) |
| Tie-corrected ranks ([r, tieadj] = tiedrank(x)). | |
| std::tuple< Value, Value, Value > | nk::stats::autocorr (const Value &y, int numLags=-1, double numSTD=2.0, std::pmr::memory_resource *mr=nullptr) |
| Sample autocorrelation function ([acf, lags, bounds] = autocorr(y)). | |
| std::tuple< Value, Value, Value > | nk::stats::crosscorr (const Value &y1, const Value &y2, int numLags=-1, double numSTD=2.0, std::pmr::memory_resource *mr=nullptr) |
| Sample cross-correlation function ([xcf, lags, bounds] = crosscorr(y1, y2)). | |
| std::tuple< Value, Value, Value > | nk::stats::parcorr (const Value &y, int numLags=-1, double numSTD=2.0, std::pmr::memory_resource *mr=nullptr) |
| Sample partial autocorrelation function ([pacf, lags, bounds] = parcorr(y)). | |
| std::pair< Value, Value > | nk::stats::corrcov (const Value &C, std::pmr::memory_resource *mr=nullptr) |
| Correlation matrix from covariance ([R, sigma] = corrcov(C)). | |
| Value | nk::stats::tabulate (const Value &x, std::pmr::memory_resource *mr=nullptr) |
| Frequency table (T = tabulate(x)). | |
| std::pair< Value, Value > | nk::stats::cholcov (const Value &SIGMA, std::pmr::memory_resource *mr=nullptr) |
| Cholesky-like factor of a covariance matrix ([T, p] = cholcov(SIGMA)). | |
| std::tuple< Value, double, double > | nk::stats::crosstab (const Value &x, const Value &y_opt=Value::Empty, std::pmr::memory_resource *mr=nullptr) |
| Contingency table ([T, chi2, p] = crosstab(x, y_opt)). | |
| std::vector< Value > | nk::stats::grpstats (const Value &X, const Value &group, const std::vector< std::string > &fn_names, std::pmr::memory_resource *mr=nullptr) |
| Per-group statistics (grpstats(X, group, fn_names)). | |
| Value | nk::stats::nearcorr (const Value &A, std::pmr::memory_resource *mr=nullptr) |
| Nearest correlation matrix (Y = nearcorr(A)). | |
| Grp2idxResult | nk::stats::grp2idx (const Value &s, std::pmr::memory_resource *mr=nullptr) |
| Grouping variable → index vector ([G, GN, GL] = grp2idx(s)). | |
| Value | nk::stats::filloutliers (const Value &A, const Value &fillMethod, const std::string &findMethod="median", double thresholdFactor=std::numeric_limits< double >::quiet_NaN(), std::pmr::memory_resource *mr=nullptr) |
| Replace outliers (B = filloutliers(A, fillMethod, findMethod, tf)). | |
Descriptive statistics.
Conventions across this header:
Definition in file descriptive.hpp.