RandLib 2.0.0
Probability distributions, fitting, and heavy-tail tools for C++20
Loading...
Searching...
No Matches
tail.hpp File Reference
#include <randlib/continuous/generalized_pareto.hpp>
#include <randlib/fit/mle.hpp>
#include <algorithm>
#include <cmath>
#include <concepts>
#include <cstddef>
#include <ranges>
#include <span>
#include <stdexcept>
#include <type_traits>
#include <utility>
#include <vector>
Include dependency graph for tail.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  randlib::TailIndexEstimate
 

Namespaces

namespace  randlib
 
namespace  randlib::detail
 

Functions

template<std::floating_point Real>
std::vector< Real > randlib::detail::sortedTailSample (std::span< const Real > sample)
 
template<std::floating_point Real>
double randlib::detail::hillFromSorted (std::span< const Real > sorted, std::size_t order)
 
template<std::floating_point Real>
double randlib::hill_estimator (std::span< const Real > sample, std::size_t order)
 
template<std::ranges::contiguous_range Range>
requires std::floating_point<std::remove_cv_t<std::ranges::range_value_t<Range>>> && (!std::same_as<std::remove_cvref_t<Range>, std::span<const std::remove_cv_t<std::ranges::range_value_t<Range>>>>)
double randlib::hill_estimator (const Range &sample, std::size_t order)
 
template<std::floating_point Real>
std::vector< TailIndexEstimate > randlib::hill_plot (std::span< const Real > sample, std::size_t maximumOrder=0)
 
template<std::ranges::contiguous_range Range>
requires std::floating_point<std::remove_cv_t<std::ranges::range_value_t<Range>>> && (!std::same_as<std::remove_cvref_t<Range>, std::span<const std::remove_cv_t<std::ranges::range_value_t<Range>>>>)
std::vector< TailIndexEstimate > randlib::hill_plot (const Range &sample, std::size_t maximumOrder=0)
 
template<std::floating_point Real>
double randlib::pickands_estimator (std::span< const Real > sample, std::size_t order)
 
template<std::ranges::contiguous_range Range>
requires std::floating_point<std::remove_cv_t<std::ranges::range_value_t<Range>>> && (!std::same_as<std::remove_cvref_t<Range>, std::span<const std::remove_cv_t<std::ranges::range_value_t<Range>>>>)
double randlib::pickands_estimator (const Range &sample, std::size_t order)
 
template<std::floating_point Real>
FitResult< GeneralizedParetoRand< Real > > randlib::fit_peaks_over_threshold (std::span< const Real > sample, Real threshold, FitOptions options={})
 
template<std::ranges::contiguous_range Range>
requires std::floating_point<std::remove_cv_t<std::ranges::range_value_t<Range>>> && (!std::same_as<std::remove_cvref_t<Range>, std::span<const std::remove_cv_t<std::ranges::range_value_t<Range>>>>)
auto randlib::fit_peaks_over_threshold (const Range &sample, std::ranges::range_value_t< Range > threshold, FitOptions options={})