nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches

Hypothesis tests. More...

#include <memory_resource>
#include <nk/value/value.hpp>
#include <string>
#include <tuple>

Go to the source code of this file.

Enumerations

enum class  nk::stats::TestTail { TestTail::Both , TestTail::Right , TestTail::Left }
 Direction of the alternative hypothesis. More...

Functions

std::tuple< Value, Value, Value, Value > nk::stats::ttest (const Value &x, double m, double alpha, TestTail tail, std::pmr::memory_resource *mr=nullptr)
 One-sample Student's t-test ([h, p, ci, t] = ttest(x, m, alpha, tail)).
std::tuple< Value, Value, Value, Value > nk::stats::ttest2 (const Value &x, const Value &y, double alpha, TestTail tail, const std::string &vartype, std::pmr::memory_resource *mr=nullptr)
 Two-sample t-test ([h, p, ci, t] = ttest2(x, y, alpha, tail, vartype)).
std::tuple< Value, Value, Value, Value > nk::stats::ztest (const Value &x, double m, double sigma, double alpha, TestTail tail, std::pmr::memory_resource *mr=nullptr)
 Z-test with known σ ([h, p, ci, z] = ztest(x, m, sigma, alpha, tail)).
std::tuple< Value, Value, Value, Value > nk::stats::vartest (const Value &x, double v, double alpha, TestTail tail, std::pmr::memory_resource *mr=nullptr)
 Chi-squared one-sample variance test ([h, p, ci, chi2] = vartest(x, v, alpha, tail)).
std::tuple< Value, Value, Value, Value > nk::stats::vartest2 (const Value &x, const Value &y, double alpha, TestTail tail, std::pmr::memory_resource *mr=nullptr)
 F-test for equality of two variances ([h, p, ci, F] = vartest2(x, y, alpha, tail)).
std::tuple< Value, Value, Value, Value > nk::stats::kstest (const Value &x, const Value &cdf, double alpha, TestTail tail, std::pmr::memory_resource *mr=nullptr)
 One-sample Kolmogorov-Smirnov test ([h, p, ksstat, cv] = kstest(x, cdf, alpha, tail)).
std::tuple< Value, Value, Value, Value > nk::stats::kstest2 (const Value &x, const Value &y, double alpha, TestTail tail, std::pmr::memory_resource *mr=nullptr)
 Two-sample Kolmogorov-Smirnov test ([h, p, ksstat, cv] = kstest2(x, y, alpha, tail)).
std::tuple< Value, Value, Value, Value > nk::stats::jbtest (const Value &x, double alpha, std::pmr::memory_resource *mr=nullptr)
 Jarque-Bera normality test ([h, p, jbstat, cv] = jbtest(x, alpha)).
std::tuple< Value, Value, Value, Value > nk::stats::adtest (const Value &x, double alpha=0.05, std::pmr::memory_resource *mr=nullptr)
 Anderson-Darling test for normality ([h, p, adstat, cv] = adtest(x, alpha)).
std::tuple< Value, Value > nk::stats::dwtest (const Value &r, const Value &X, std::pmr::memory_resource *mr=nullptr)
 Durbin-Watson test for first-order autocorrelation in regression residuals ([p, dw] = dwtest(r, X)).
std::tuple< Value, Value, Value, Value > nk::stats::jbtest (const Value &x, double alpha, double mctol, std::pmr::memory_resource *mr=nullptr)
 Jarque-Bera with explicit Monte-Carlo tolerance ([h, p, jbstat, cv] = jbtest(x, alpha, mctol)).
std::tuple< Value, Value, Value > nk::stats::signtest (const Value &x, const Value &y_or_m, double alpha, TestTail tail, std::pmr::memory_resource *mr=nullptr)
 Non-parametric sign test ([p, h, sign] = signtest(x, y_or_m, alpha, tail)).
std::tuple< Value, Value, Value > nk::stats::vartestn (const Value &x, const Value &group, double alpha, std::pmr::memory_resource *mr=nullptr)
 Bartlett's k-sample variance test ([p, chi2, df] = vartestn(x, group, alpha)).
std::tuple< Value, Value, Value, Value > nk::stats::vartestn_full (const Value &x, const Value &group, int test, std::pmr::memory_resource *mr=nullptr)
 Full k-sample variance test with method selection (vartestn_full(x, group, test)).
std::tuple< Value, Value, Value, Value, Value > nk::stats::fishertest (const Value &T, double alpha, TestTail tail, std::pmr::memory_resource *mr=nullptr)
 Fisher's exact test for a 2×2 table ([h, p, OR, ci_lo, ci_hi] = fishertest(T, alpha, tail)).
std::tuple< Value, Value, Value, Value > nk::stats::chi2gof (const Value &observed, const Value &expected, int nparams, double alpha, std::pmr::memory_resource *mr=nullptr)
 Chi-squared goodness-of-fit (frequency form) ([h, p, chi2, df] = chi2gof(observed, expected, nparams, alpha)).
std::tuple< Value, Value, Value, Value, Value, Value > nk::stats::runstest (const Value &x, double v, double alpha, TestTail tail, const std::string &method, std::pmr::memory_resource *mr=nullptr)
 Wald-Wolfowitz runs test for randomness ([p, h, nruns, n1, n0, zval] = runstest(x, v, alpha, tail, method)).
std::tuple< Value, Value, Value, Value > nk::stats::ranksum (const Value &x, const Value &y, double alpha, TestTail tail, const std::string &method, std::pmr::memory_resource *mr=nullptr)
 Wilcoxon rank-sum (Mann-Whitney U) test ([p, h, ranksum_x, zval] = ranksum(x, y, alpha, tail, method)).
std::tuple< Value, Value, Value, Value > nk::stats::signrank (const Value &x, const Value &y_or_m, double alpha, TestTail tail, const std::string &method, std::pmr::memory_resource *mr=nullptr)
 Wilcoxon signed-rank test ([p, h, signedrank, zval] = signrank(x, y_or_m, alpha, tail, method)).
std::tuple< Value, Value, Value, Value > nk::stats::ansaribradley (const Value &x, const Value &y, double alpha, TestTail tail, std::pmr::memory_resource *mr=nullptr)
 Ansari-Bradley two-sample scale (dispersion) test ([h, p, W, Wstar] = ansaribradley(x, y, alpha, tail)).
std::tuple< Value, Value, Value, Value > nk::stats::lillietest (const Value &x, double alpha=0.05, std::pmr::memory_resource *mr=nullptr)
 Lilliefors normality test ([h, p, kstat, critval] = lillietest(x, alpha)).

Detailed Description

Hypothesis tests.

Most parametric tests return (h, p, ci, tstat):

  • h ∈ {0, 1}: 1 if H0 is rejected at the given significance level α
  • p: two-sided (or one-sided per tail) p-value
  • ci: 1 × 2 or 2 × 1 confidence interval at level 1 - α
  • tstat: test statistic

Definition in file hypothesis.hpp.