nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
extreme_value.hpp
Go to the documentation of this file.
1
3// toolboxes/stats/include/nk/stats/distributions/extreme_value.hpp
4//
5// Type-I extreme value (Gumbel for minima) distribution.
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 evpdf(const Value &x, double mu, double sigma,
35 std::pmr::memory_resource *mr = nullptr);
36
47Value evcdf(const Value &x, double mu, double sigma,
48 std::pmr::memory_resource *mr = nullptr);
49
60Value evinv(const Value &p, double mu, double sigma,
61 std::pmr::memory_resource *mr = nullptr);
62
74Value evrnd(::nk::ops::RngContext &rng, double mu, double sigma, size_t rows = 1, size_t cols = 1,
75 std::pmr::memory_resource *mr = nullptr);
76
86std::tuple<double, double> evstat(double mu, double sigma);
87
102Value evfit(const Value &x, std::pmr::memory_resource *mr = nullptr);
103
121Value evfit(const Value &x, const Value &censoring, const Value &freq,
122 std::pmr::memory_resource *mr = nullptr);
123
130Value evfit_ci(const Value &x, double alpha = 0.05,
131 std::pmr::memory_resource *mr = nullptr);
132
135Value evfit_ci(const Value &x, double alpha,
136 const Value &censoring, const Value &freq,
137 std::pmr::memory_resource *mr = nullptr);
138
139
141} // namespace nk::stats
Core MATLAB-compatible multidimensional array and scalar value type.
Definition value.hpp:61
Value evrnd(::nk::ops::RngContext &rng, double mu, double sigma, size_t rows=1, size_t cols=1, std::pmr::memory_resource *mr=nullptr)
Type-I EV random samples (r = evrnd(mu, sigma, rows, cols)).
Value evpdf(const Value &x, double mu, double sigma, std::pmr::memory_resource *mr=nullptr)
Type-I EV (Gumbel-for-minima) pdf (y = evpdf(x, mu, sigma)).
Value evfit_ci(const Value &x, double alpha=0.05, std::pmr::memory_resource *mr=nullptr)
Wald CI for evfit (pci = evfit_ci(x, alpha)).
Value evinv(const Value &p, double mu, double sigma, std::pmr::memory_resource *mr=nullptr)
Type-I EV inverse cdf (x = evinv(p, mu, sigma)).
Value evcdf(const Value &x, double mu, double sigma, std::pmr::memory_resource *mr=nullptr)
Type-I EV cdf (p = evcdf(x, mu, sigma)).
std::tuple< double, double > evstat(double mu, double sigma)
Type-I EV mean and variance ([m, v] = evstat(mu, sigma)).
Value evfit(const Value &x, std::pmr::memory_resource *mr=nullptr)
Type-I EV (Gumbel-min) MLE fit ([muhat, sigmahat] = evfit(x)).