nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
negbin.hpp
Go to the documentation of this file.
1
3// toolboxes/stats/include/nk/stats/distributions/negbin.hpp
4//
5// Negative binomial (number of failures before the r-th success).
6
7#pragma once
8
9#include <memory_resource>
10#include <nk/value/value.hpp>
11
12#include <tuple>
13
14namespace nk {
15
18 namespace ops { class RngContext; } }
19
20namespace nk::stats {
21
34Value nbinpdf(const Value &k, double r, double p,
35 std::pmr::memory_resource *mr = nullptr);
36
48Value nbincdf(const Value &k, double r, double p,
49 std::pmr::memory_resource *mr = nullptr);
50
61Value nbininv(const Value &q, double r, double p,
62 std::pmr::memory_resource *mr = nullptr);
63
73Value nbinrnd(::nk::ops::RngContext &rng, double r, double p, size_t rows = 1, size_t cols = 1,
74 std::pmr::memory_resource *mr = nullptr);
75
86std::tuple<double, double> nbinstat(double r, double p);
87
99Value nbinfit(const Value &x, std::pmr::memory_resource *mr = nullptr);
100
106Value nbinfit_ci(const Value &x, double alpha = 0.05,
107 std::pmr::memory_resource *mr = nullptr);
108
109
111} // namespace nk::stats
Core MATLAB-compatible multidimensional array and scalar value type.
Definition value.hpp:61
Value nbinfit(const Value &x, std::pmr::memory_resource *mr=nullptr)
Negative-binomial MLE fit ([rhat, phat] = nbinfit(x)).
Value nbincdf(const Value &k, double r, double p, std::pmr::memory_resource *mr=nullptr)
Negative binomial cdf (F = nbincdf(k, r, p)).
Value nbinrnd(::nk::ops::RngContext &rng, double r, double p, size_t rows=1, size_t cols=1, std::pmr::memory_resource *mr=nullptr)
Negative binomial random samples (r_out = nbinrnd(r, p, rows, cols)).
std::tuple< double, double > nbinstat(double r, double p)
Negative binomial mean and variance ([m, v] = nbinstat(r, p)).
Value nbininv(const Value &q, double r, double p, std::pmr::memory_resource *mr=nullptr)
Negative binomial inverse cdf (k = nbininv(q, r, p)).
Value nbinfit_ci(const Value &x, double alpha=0.05, std::pmr::memory_resource *mr=nullptr)
95% Wald CI for nbinfit (pci = nbinfit_ci(x, alpha)).
Value nbinpdf(const Value &k, double r, double p, std::pmr::memory_resource *mr=nullptr)
Negative binomial pmf (y = nbinpdf(k, r, p)).