nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
hypothesis.hpp
Go to the documentation of this file.
1// toolboxes/stats/include/nk/stats/test/hypothesis.hpp
2//
3// Parametric and non-parametric hypothesis tests.
4
5#pragma once
6
7#include <memory_resource>
8#include <nk/value/value.hpp>
9
10#include <string>
11#include <tuple>
12
13namespace nk::stats {
14
17
18
26
28enum class TestTail {
32};
33
45std::tuple<Value, Value, Value, Value>
46ttest(const Value &x, double m, double alpha, TestTail tail,
47 std::pmr::memory_resource *mr = nullptr);
48
61std::tuple<Value, Value, Value, Value>
62ttest2(const Value &x, const Value &y, double alpha, TestTail tail,
63 const std::string &vartype, std::pmr::memory_resource *mr = nullptr);
64
77std::tuple<Value, Value, Value, Value>
78ztest(const Value &x, double m, double sigma, double alpha, TestTail tail,
79 std::pmr::memory_resource *mr = nullptr);
80
93std::tuple<Value, Value, Value, Value>
94vartest(const Value &x, double v, double alpha, TestTail tail,
95 std::pmr::memory_resource *mr = nullptr);
96
109std::tuple<Value, Value, Value, Value>
110vartest2(const Value &x, const Value &y, double alpha, TestTail tail,
111 std::pmr::memory_resource *mr = nullptr);
112
126std::tuple<Value, Value, Value, Value>
127kstest(const Value &x, const Value &cdf, double alpha, TestTail tail,
128 std::pmr::memory_resource *mr = nullptr);
129
142std::tuple<Value, Value, Value, Value>
143kstest2(const Value &x, const Value &y, double alpha, TestTail tail,
144 std::pmr::memory_resource *mr = nullptr);
145
158std::tuple<Value, Value, Value, Value>
159jbtest(const Value &x, double alpha, std::pmr::memory_resource *mr = nullptr);
160
178std::tuple<Value, Value, Value, Value>
179adtest(const Value &x, double alpha = 0.05,
180 std::pmr::memory_resource *mr = nullptr);
181
200std::tuple<Value, Value>
201dwtest(const Value &r, const Value &X,
202 std::pmr::memory_resource *mr = nullptr);
203
214std::tuple<Value, Value, Value, Value>
215jbtest(const Value &x, double alpha, double mctol,
216 std::pmr::memory_resource *mr = nullptr);
217
231std::tuple<Value, Value, Value>
232signtest(const Value &x, const Value &y_or_m, double alpha, TestTail tail,
233 std::pmr::memory_resource *mr = nullptr);
234
245std::tuple<Value, Value, Value>
246vartestn(const Value &x, const Value &group, double alpha,
247 std::pmr::memory_resource *mr = nullptr);
248
266std::tuple<Value, Value, Value, Value>
267vartestn_full(const Value &x, const Value &group, int test,
268 std::pmr::memory_resource *mr = nullptr);
269
281std::tuple<Value, Value, Value, Value, Value>
282fishertest(const Value &T, double alpha, TestTail tail,
283 std::pmr::memory_resource *mr = nullptr);
284
298std::tuple<Value, Value, Value, Value>
299chi2gof(const Value &observed, const Value &expected, int nparams,
300 double alpha, std::pmr::memory_resource *mr = nullptr);
301
315std::tuple<Value, Value, Value, Value, Value, Value>
316runstest(const Value &x, double v, double alpha, TestTail tail,
317 const std::string &method, std::pmr::memory_resource *mr = nullptr);
318
334std::tuple<Value, Value, Value, Value>
335ranksum(const Value &x, const Value &y, double alpha, TestTail tail,
336 const std::string &method, std::pmr::memory_resource *mr = nullptr);
337
353std::tuple<Value, Value, Value, Value>
354signrank(const Value &x, const Value &y_or_m, double alpha, TestTail tail,
355 const std::string &method, std::pmr::memory_resource *mr = nullptr);
356
382std::tuple<Value, Value, Value, Value>
383ansaribradley(const Value &x, const Value &y, double alpha, TestTail tail,
384 std::pmr::memory_resource *mr = nullptr);
385
402std::tuple<Value, Value, Value, Value>
403lillietest(const Value &x, double alpha = 0.05,
404 std::pmr::memory_resource *mr = nullptr);
405
406
408} // namespace nk::stats
Core MATLAB-compatible multidimensional array and scalar value type.
Definition value.hpp:61
std::tuple< Value, Value, Value, Value > 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 > 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,...
std::tuple< Value, Value, Value, Value > 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 > 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)).
TestTail
Direction of the alternative hypothesis.
std::tuple< Value, Value, Value, Value > 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 > 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, Value > 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, Value, Value > 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,...
std::tuple< Value, Value, Value, Value > 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 > 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 > 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 > 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, Value > 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,...
std::tuple< Value, Value, Value, Value, Value > 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,...
std::tuple< Value, Value, Value, Value > 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,...
std::tuple< Value, Value, Value, Value > 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,...
std::tuple< Value, Value, Value, Value > 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 > lillietest(const Value &x, double alpha=0.05, std::pmr::memory_resource *mr=nullptr)
Lilliefors normality test ([h, p, kstat, critval] = lillietest(x, alpha)).
std::tuple< Value, Value, Value, Value > 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,...
std::tuple< Value, Value, Value, Value > jbtest(const Value &x, double alpha, std::pmr::memory_resource *mr=nullptr)
Jarque-Bera normality test ([h, p, jbstat, cv] = jbtest(x, alpha)).
@ Both
Two-sided alternative (default).
@ Right
Upper-tailed (statistic > null).
@ Left
Lower-tailed (statistic < null).