nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
gp.hpp
Go to the documentation of this file.
1
3// toolboxes/stats/include/nk/stats/distributions/gp.hpp
4//
5// Generalized Pareto 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
36Value gppdf(const Value &x, double k, double sigma, double theta,
37 std::pmr::memory_resource *mr = nullptr);
38
48Value gpcdf(const Value &x, double k, double sigma, double theta,
49 std::pmr::memory_resource *mr = nullptr);
50
60Value gpinv(const Value &p, double k, double sigma, double theta,
61 std::pmr::memory_resource *mr = nullptr);
62
73Value gprnd(::nk::ops::RngContext &rng, double k, double sigma, double theta,
74 size_t rows = 1, size_t cols = 1,
75 std::pmr::memory_resource *mr = nullptr);
76
87std::tuple<double, double>
88gpstat(double k, double sigma, double theta);
89
111Value gpfit(const Value &x, std::pmr::memory_resource *mr = nullptr);
112
119Value gpfit_ci(const Value &x, double alpha = 0.05,
120 std::pmr::memory_resource *mr = nullptr);
121
122
124} // namespace nk::stats
Core MATLAB-compatible multidimensional array and scalar value type.
Definition value.hpp:61
Value gpinv(const Value &p, double k, double sigma, double theta, std::pmr::memory_resource *mr=nullptr)
Generalised Pareto inverse cdf (x = gpinv(p, k, sigma, theta)).
Value gpfit(const Value &x, std::pmr::memory_resource *mr=nullptr)
Generalised Pareto MLE fit ([khat, sigmahat] = gpfit(x)).
Value gppdf(const Value &x, double k, double sigma, double theta, std::pmr::memory_resource *mr=nullptr)
Generalised Pareto pdf (y = gppdf(x, k, sigma, theta)).
std::tuple< double, double > gpstat(double k, double sigma, double theta)
Generalised Pareto mean and variance ([m, v] = gpstat(k, sigma, theta)).
Value gpcdf(const Value &x, double k, double sigma, double theta, std::pmr::memory_resource *mr=nullptr)
Generalised Pareto cdf (p = gpcdf(x, k, sigma, theta)).
Value gpfit_ci(const Value &x, double alpha=0.05, std::pmr::memory_resource *mr=nullptr)
95% Wald CI for gpfit (pci = gpfit_ci(x, alpha)).
Value gprnd(::nk::ops::RngContext &rng, double k, double sigma, double theta, size_t rows=1, size_t cols=1, std::pmr::memory_resource *mr=nullptr)
Generalised Pareto random samples (r = gprnd(k, sigma, theta, rows, cols)).