TYoshimura.DoubleDouble.Statistic
1.4.1
There is a newer version of this package available.
See the version list below for details.
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.
<PackageVersion Include="TYoshimura.DoubleDouble.Statistic" Version="1.4.1" />
<PackageReference Include="TYoshimura.DoubleDouble.Statistic" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add TYoshimura.DoubleDouble.Statistic --version 1.4.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#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.
#:package TYoshimura.DoubleDouble.Statistic@1.4.1
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=TYoshimura.DoubleDouble.Statistic&version=1.4.1
#tool nuget:?package=TYoshimura.DoubleDouble.Statistic&version=1.4.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
DoubleDoubleStatistic
Double-Double Statistic Implements
Requirement
.NET 8.0
DoubleDouble
DoubleDoubleComplex
Install
Implemented Distributions
Continuous
| category | distribution | 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
Author
| Product | Versions 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- TYoshimura.DoubleDouble (>= 3.2.2)
- TYoshimura.DoubleDouble.Complex (>= 1.4.0)
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 | 182 | 11/13/2024 | |
| 1.7.0 | 155 | 10/31/2024 | |
| 1.6.5 | 210 | 8/22/2024 | |
| 1.6.4 | 150 | 8/14/2024 | |
| 1.6.3 | 152 | 7/25/2024 | |
| 1.6.2 | 190 | 7/12/2024 | |
| 1.6.1 | 118 | 7/10/2024 | |
| 1.6.0 | 167 | 7/9/2024 | |
| 1.5.9 | 178 | 7/9/2024 | |
| 1.5.8 | 141 | 6/7/2024 | |
| 1.5.7 | 162 | 5/22/2024 | |
| 1.5.6 | 168 | 5/21/2024 | |
| 1.5.5 | 150 | 5/21/2024 | |
| 1.5.4 | 155 | 5/21/2024 | |
| 1.5.3 | 164 | 5/20/2024 | |
| 1.5.2 | 156 | 5/20/2024 | |
| 1.5.1 | 178 | 5/18/2024 | |
| 1.5.0 | 188 | 5/16/2024 | |
| 1.4.1 | 167 | 5/15/2024 | |
| 1.4.0 | 147 | 5/14/2024 | |
| 1.3.2 | 159 | 5/10/2024 | |
| 1.3.1 | 172 | 5/9/2024 | |
| 1.3.0 | 160 | 5/9/2024 | |
| 1.2.0 | 172 | 5/5/2024 | |
| 1.1.1 | 176 | 5/4/2024 | |
| 1.1.0 | 161 | 5/3/2024 | |
| 1.0.9 | 146 | 5/3/2024 | |
| 1.0.8 | 143 | 5/3/2024 | |
| 1.0.7 | 161 | 5/1/2024 | |
| 1.0.6 | 185 | 4/30/2024 | |
| 1.0.5 | 156 | 4/29/2024 | |
| 1.0.4 | 162 | 4/27/2024 | |
| 1.0.3 | 177 | 4/26/2024 | |
| 1.0.2 | 185 | 4/25/2024 | |
| 1.0.1 | 182 | 4/24/2024 | |
| 1.0.0 | 161 | 4/24/2024 |
feat: fitting discrete