TYoshimura.DoubleDouble.Statistic 1.4.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package TYoshimura.DoubleDouble.Statistic --version 1.4.1                
NuGet\Install-Package TYoshimura.DoubleDouble.Statistic -Version 1.4.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="TYoshimura.DoubleDouble.Statistic" Version="1.4.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add TYoshimura.DoubleDouble.Statistic --version 1.4.1                
#r "nuget: TYoshimura.DoubleDouble.Statistic, 1.4.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install TYoshimura.DoubleDouble.Statistic as a Cake Addin
#addin nuget:?package=TYoshimura.DoubleDouble.Statistic&version=1.4.1

// Install TYoshimura.DoubleDouble.Statistic as a Cake Tool
#tool nuget:?package=TYoshimura.DoubleDouble.Statistic&version=1.4.1                

DoubleDoubleStatistic

Double-Double Statistic Implements

Requirement

.NET 8.0
DoubleDouble
DoubleDoubleComplex

Install

Download DLL
Download Nuget

Implemented Distributions

Continuous

category distribution PDF CDF quantile statistic fitting random generation note
stable cauchy
delta
holtsmark
landau
levy
map-airy
normal
sas point5
linearity cosine
davis CDF and Quantile take longer to calculate.
frechet
gumbel
johnson sb
johnson su
laplace
logistic
skew normal Quantile take longer to calculate.
uniform
u quadratic
weibull
scalable birnbaum saunders
exponential
folded normal
gamma
gompertz
half normal Quantile take longer to calculate.
hyperbolic secant
inverse gauss Quantile take longer to calculate.
log logistic
lomax
maxwell
pareto
rayleigh
voigt CDF and Quantile take longer to calculate.
wigner semicircle
continuous alpha
arcsine -
argus
benktander Quantile take longer to calculate.
beta
beta prime
bradford
burr
chi
chi square
dagum
fisher z
fisk
inverse gamma
inverse chi
inverse chi sq
irwin hall - n ≤ 128
kumaraswamy
log normal
nakagami
noncentral chi sq Accuracy decreases when non-centricity is large.
noncentral f Accuracy decreases when non-centricity is large.
noncentral t Accuracy decreases when non-centricity is large.
power
reciprocal
rice CDF and Quantile take longer to calculate.
snedecor f
student t
triangular

Discrete

category distribution PMF statistic fitting random generation note
discrete bernoulli
binary -
binomial
categorical -
discrete uniform
gausskuzmin -
geometric
hyper geometric -
logarithmic
negative binomial
poisson
skellam
yule simon
zipf

Usage

NormalDistribution dist = new(mu: 1, sigma: 3);

// PDF
for (ddouble x = -4; x <= 4; x += 0.125) {
    ddouble pdf = dist.PDF(x);

    Console.WriteLine($"pdf({x})={pdf}");
}

// CDF
for (ddouble x = -4; x <= 4; x += 0.125) {
    ddouble ccdf = dist.CDF(x, Interval.Upper);

    Console.WriteLine($"ccdf({x})={ccdf}");
}

// Quantile
for (int i = 0; i <= 10; i++) {
    ddouble p = (ddouble)i / 10;
    ddouble x = dist.Quantile(p, Interval.Upper);

    Console.WriteLine($"cquantile({p})={x}");
}

// Statistic
Console.WriteLine($"Support={dist.Support}");
Console.WriteLine($"Mu={dist.Mu}");
Console.WriteLine($"Sigma={dist.Sigma}");
Console.WriteLine($"Mean={dist.Mean}");
Console.WriteLine($"Median={dist.Median}");
Console.WriteLine($"Mode={dist.Mode}");
Console.WriteLine($"Variance={dist.Variance}");
Console.WriteLine($"Skewness={dist.Skewness}");
Console.WriteLine($"Kurtosis={dist.Kurtosis}");
Console.WriteLine($"Entropy={dist.Entropy}");

// Random Sampling
Random random = new(1234);
double[] xs = dist.Sample(random, 100000).ToArray();

// Fitting
// note: The distribution that minimizes the squared error 
//       of the quantile function over the specified interval is return.
(NormalDistribution? dist_fit, ddouble error) = 
    NormalDistribution.Fit(xs, fitting_quantile_range: (0.1, 0.9));

Typical parameter symbols

category symbol note
support parameter k
a, b uniform
a, b, c triangular
shape parameter alpha
alpha, beta beta, beta prime
gamma, delta johnson sb, su
eta gompertz
nu chi, chisq, student t
n irwin hall
n, m fisher z, snedecor f
c stable distributions
location parameter mu
scale parameter sigma error-related distributions
theta time-related distributions
s, r otherwise
non-centricity parameter lambda
mu non-central student t

To Be Updated

Not Implemented Distributions

(N/A)

Not Implemented Functions

  • Statistic Test

Licence

MIT

Author

T.Yoshimura

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.8.0 27 11/13/2024
1.7.0 69 10/31/2024
1.6.5 133 8/22/2024
1.6.4 101 8/14/2024
1.6.3 79 7/25/2024
1.6.2 107 7/12/2024
1.6.1 67 7/10/2024
1.6.0 93 7/9/2024
1.5.9 96 7/9/2024 1.5.9 is deprecated because it has critical bugs.
1.5.8 86 6/7/2024
1.5.7 83 5/22/2024
1.5.6 102 5/21/2024
1.5.5 96 5/21/2024
1.5.4 97 5/21/2024
1.5.3 110 5/20/2024
1.5.2 89 5/20/2024
1.5.1 103 5/18/2024
1.5.0 111 5/16/2024
1.4.1 111 5/15/2024
1.4.0 96 5/14/2024
1.3.2 101 5/10/2024
1.3.1 99 5/9/2024
1.3.0 105 5/9/2024
1.2.0 123 5/5/2024
1.1.1 124 5/4/2024
1.1.0 95 5/3/2024
1.0.9 71 5/3/2024
1.0.8 81 5/3/2024
1.0.7 96 5/1/2024
1.0.6 113 4/30/2024
1.0.5 96 4/29/2024
1.0.4 109 4/27/2024
1.0.3 112 4/26/2024
1.0.2 114 4/25/2024
1.0.1 115 4/24/2024
1.0.0 93 4/24/2024

feat: fitting discrete