Fix up the test to compare with R.

master
Zed A. Shaw 1 month ago
parent 0256689a02
commit 64353cb77d
  1. 1
      .gitignore
  2. 2
      cpp/Makefile
  3. 3
      cpp/include/stats.hpp
  4. 4
      cpp/tests/confirm.r
  5. 15
      cpp/tests/stats_tests.cpp

1
.gitignore vendored

@ -29,3 +29,4 @@ backup
coverage coverage
coverage/* coverage/*
.venv .venv
samples.txt

@ -22,7 +22,7 @@ debug_build:
test: build test: build
./builddir/fuc2it -v ./builddir/fuc2it -v
r_test: r_test: test
$(R_SCRIPT) tests/confirm.r $(R_SCRIPT) tests/confirm.r
run: build test run: build test

@ -67,9 +67,6 @@ struct Stats {
auto as_ms = std::chrono::duration_cast<std::chrono::nanoseconds>(elapsed); auto as_ms = std::chrono::duration_cast<std::chrono::nanoseconds>(elapsed);
fmt::println("sample time: {} vs. my calc: {}; as_ms: {}",
elapsed.count(), 1.0/elapsed.count(), as_ms.count());
if(elapsed.count() > 0.0) { if(elapsed.count() > 0.0) {
sample(1.0/elapsed.count()); sample(1.0/elapsed.count());
} }

@ -1,7 +1,3 @@
samples <- read.table("bad_samples.txt")
t.test(samples$V1, samples$V2)
samples <- read.table("samples.txt") samples <- read.table("samples.txt")
print(samples) print(samples)
t.test(samples$V1, samples$V2) t.test(samples$V1, samples$V2)

@ -113,11 +113,20 @@ namespace stats_tests {
welf2.sample(num + skew_factor); welf2.sample(num + skew_factor);
} }
fmt::println("welford samples t-test:");
welf.t_test(welf2); welf.t_test(welf2);
fmt::println("naive algebra samples t-test:");
stats.t_test(stats2); stats.t_test(stats2);
auto stats_test = stats.t_test(stats2);
auto welf_test = welf.t_test(welf2);
ALMOST_EQUAL(stats_test.t_stat, welf_test.t_stat, 5);
ALMOST_EQUAL(stats_test.dof, welf_test.dof, 1);
ALMOST_EQUAL(stats_test.p_val, welf_test.p_val, 5);
fmt::println("welford samples t-test: t-val: {}, dof: {}, p-val: {}",
welf_test.t_stat, welf_test.dof, welf_test.p_val);
fmt::println("naive algebra samples t-test: t-val: {}, dof: {}, p-val: {}",
stats_test.t_stat, stats_test.dof, stats_test.p_val);
} }
void failing_bad_t_test() { void failing_bad_t_test() {

Loading…
Cancel
Save