Repository navigation
Module_Statistics_Distribution_zh
cyclone_dll edited this page Jul 6, 2026
·
6 revisions
Vorcyc.Mathematics.Statistics.Distribution 是一个提供各种概率分布计算方法的类,包括正态分布、泊松分布、指数分布、二项分布、多项分布、Gamma分布和Beta分布。
以下方法均位于类 :Vorcyc.Mathematics.Statistics.Distribution
📒目录
- 🔖 NormalPDF 方法
- 🔖 NormalCDF 方法
- 🔖 PoissonPMF 方法
- 🔖 PoissonCDF 方法
- 🔖 ExponentialPDF 方法
- 🔖 ExponentialCDF 方法
- 🔖 BinomialPMF 方法
- 🔖 BinomialCDF 方法
- 🔖 MultinomialPMF 方法
- 🔖 GammaPDF 方法
- 🔖 GammaCDF 方法
- 🔖 BetaPDF 方法
- 🔖 BetaCDF 方法
Vorcyc.Mathematics.Statistics.Distribution 是一个提供各种概率分布计算方法的类,包括正态分布、泊松分布、指数分布、二项分布、多项分布、Gamma分布和Beta分布。
-
public static T NormalPDF<T>(T x, T mean, T stdDev) where T : IFloatingPointIeee754<T>- 计算正态分布的概率密度函数。
- 参数:
-
x: 变量值。 -
mean: 均值。 -
stdDev: 标准差。
-
- 返回值: 正态分布的概率密度值。
-
public static T NormalCDF<T>(T x, T mean, T stdDev) where T : IFloatingPointIeee754<T>- 计算正态分布的累积分布函数。
- 参数:
-
x: 变量值。 -
mean: 均值。 -
stdDev: 标准差。
-
- 返回值: 正态分布的累积分布值。
-
public static T PoissonPMF<T>(int k, T lambda) where T : IFloatingPointIeee754<T>- 计算泊松分布的概率质量函数。
- 参数:
-
k: 事件发生的次数。 -
lambda: 单位时间内事件的平均发生率。
-
- 返回值: 泊松分布的概率质量值。
-
public static T PoissonCDF<T>(int k, T lambda) where T : IFloatingPointIeee754<T>- 计算泊松分布的累积分布函数。
- 参数:
-
k: 事件发生的次数。 -
lambda: 单位时间内事件的平均发生率。
-
- 返回值: 泊松分布的累积分布值。
-
public static T ExponentialPDF<T>(T x, T lambda) where T : IFloatingPointIeee754<T>- 计算指数分布的概率密度函数。
- 参数:
-
x: 变量值。 -
lambda: 分布的参数。
-
- 返回值: 指数分布的概率密度值。
-
public static T ExponentialCDF<T>(T x, T lambda) where T : IFloatingPointIeee754<T>- 计算指数分布的累积分布函数。
- 参数:
-
x: 变量值。 -
lambda: 分布的参数。
-
- 返回值: 指数分布的累积分布值。
-
public static T BinomialPMF<T>(int k, int n, T p) where T : IFloatingPointIeee754<T>- 计算二项分布的概率质量函数。
- 参数:
-
k: 成功的次数。 -
n: 试验的总次数。 -
p: 每次试验成功的概率。
-
- 返回值: 二项分布的概率质量值。
-
public static T BinomialCDF<T>(int k, int n, T p) where T : IFloatingPointIeee754<T>- 计算二项分布的累积分布函数。
- 参数:
-
k: 成功的次数。 -
n: 试验的总次数。 -
p: 每次试验成功的概率。
-
- 返回值: 二项分布的累积分布值。
-
public static T MultinomialPMF<T>(int[] counts, T[] probabilities) where T : IFloatingPointIeee754<T>- 计算多项分布的概率质量函数。
- 参数:
-
counts: 每个类别的计数。 -
probabilities: 每个类别的概率。
-
- 返回值: 多项分布的概率质量值。
-
public static T GammaPDF<T>(T x, T shape, T scale) where T : IFloatingPointIeee754<T>- 计算Gamma分布的概率密度函数。
- 参数:
-
x: 变量值。 -
shape: 形状参数。 -
scale: 尺度参数。
-
- 返回值: Gamma分布的概率密度值。
-
public static T GammaCDF<T>(T x, T shape, T scale) where T : IFloatingPointIeee754<T>- 计算Gamma分布的累积分布函数。
- 参数:
-
x: 变量值。 -
shape: 形状参数。 -
scale: 尺度参数。
-
- 返回值: Gamma分布的累积分布值。
-
public static T BetaPDF<T>(T x, T alpha, T beta) where T : IFloatingPointIeee754<T>- 计算Beta分布的概率密度函数。
- 参数:
-
x: 变量值。 -
alpha: 形状参数α。 -
beta: 形状参数β。
-
- 返回值: Beta分布的概率密度值。
-
public static T BetaCDF<T>(T x, T alpha, T beta) where T : IFloatingPointIeee754<T>- 计算Beta分布的累积分布函数。
- 参数:
-
x: 变量值。 -
alpha: 形状参数α。 -
beta: 形状参数β。
-
- 返回值: Beta分布的累积分布值。
以下是一个使用 Distribution 类中多个方法的示例,并在示例中加入了注释:
using System;
using Vorcyc.Mathematics.Statistics;
public class DistributionExample
{
public static void Main()
{
// 正态分布示例
double normalPDF = Distribution.NormalPDF(1.0, 0.0, 1.0);
double normalCDF = Distribution.NormalCDF(1.0, 0.0, 1.0);
Console.WriteLine($"Normal PDF: {normalPDF}, Normal CDF: {normalCDF}");
// 泊松分布示例
double poissonPMF = Distribution.PoissonPMF(3, 2.0);
double poissonCDF = Distribution.PoissonCDF(3, 2.0);
Console.WriteLine($"Poisson PMF: {poissonPMF}, Poisson CDF: {poissonCDF}");
// 指数分布示例
double exponentialPDF = Distribution.ExponentialPDF(1.0, 1.0);
double exponentialCDF = Distribution.ExponentialCDF(1.0, 1.0);
Console.WriteLine($"Exponential PDF: {exponentialPDF}, Exponential CDF: {exponentialCDF}");
// 二项分布示例
double binomialPMF = Distribution.BinomialPMF(2, 5, 0.5);
double binomialCDF = Distribution.BinomialCDF(2, 5, 0.5);
Console.WriteLine($"Binomial PMF: {binomialPMF}, Binomial CDF: {binomialCDF}");
// 多项分布示例
int[] counts = { 2, 3, 1 };
double[] probabilities = { 0.2, 0.5, 0.3 };
double multinomialPMF = Distribution.MultinomialPMF(counts, probabilities);
Console.WriteLine($"Multinomial PMF: {multinomialPMF}");
// Gamma分布示例
double gammaPDF = Distribution.GammaPDF(2.0, 2.0, 2.0);
double gammaCDF = Distribution.GammaCDF(2.0, 2.0, 2.0);
Console.WriteLine($"Gamma PDF: {gammaPDF}, Gamma CDF: {gammaCDF}");
// Beta分布示例
double betaPDF = Distribution.BetaPDF(0.5, 2.0, 2.0);
double betaCDF = Distribution.BetaCDF(0.5, 2.0, 2.0);
Console.WriteLine($"Beta PDF: {betaPDF}, Beta CDF: {betaCDF}");
}
}-
- 🔖 ArrayExtension class
- 🔖 BaseConverter class
- 🔖 BitMathExtension class
- 🔖 Combinatorics class
- 🔖 ConstantsFp32 class
- 🔖 NumberMapper class
- 🔖 PinnableArray<T> class
- 🔖 SimpleRNG_Fp32 and SimpleRNG_Fp64 classes
- 🔖 TrigonometryHelper class
- 🔖 VMath class
- 🔖 Pinned buffers (Buffers)
- 🔖 IPinnedBuffer<T> interface
- 🔖 POHBuffer<T> class
- 🔖 NativeBuffer<T> class
-
- 🔖 0.9 classifier walkthrough
- 🔖 KNN<T> class
- 🔖 MultipleLinearRegression<T> class
- 🔖 SimpleLinearRegression<T> class
- 🔖 SupportVectorMachine<TSelf> class
- 🔖 DBSCAN<T> class
- 🔖 ExpectationMaximization<T> class
- 🔖 GMM<T> class
- 🔖 HierarchicalClustering<T> class
- 🔖 KMeansClusterer<T> class
- 🔖 VectorQuantization<T> class
- 🔖 FactorAnalysis<T> class
- 🔖 PCA<TSelf> class
- 🔖 TSNE<T> class
- 🔖 Distance metric classes
-
📒 Examples
-
📒 GPU 策略说明
- 🔖 为何放弃主包 GPU
- 🔖 当前性能路径
- 🔖 若仍需要更强算力
-
📒 计算上下文模块
-
📒 核心模块
-
📒 深度学习模块
-
📒 线性代数模块
-
📒 机器学习模块
- 🔖 0.9 分类器完整示例
- 🔖 KNN<T> 类
- 🔖 MultipleLinearRegression<T> 类
- 🔖 SimpleLinearRegression<T> 类
- 🔖 SupportVectorMachine<TSelf> 类
- 🔖 DBSCAN<T> 类
- 🔖 ExpectationMaximization<T> 类
- 🔖 GMM<T> 类
- 🔖 HierarchicalClustering<T> 类
- 🔖 KMeansClusterer<T> 类
- 🔖 VectorQuantization<T> 类
- 🔖 FactorAnalysis<T> 类
- 🔖 PCA<TSelf> 类
- 🔖 TSNE<T> 类
- 🔖 距离度量类
-
📒 信号处理模块
-
📒 数值模块
-
📒 统计模块
- 🔖 基础统计函数
- 🔖 高级统计函数
- 🔖 稳健统计 / RunningMoments
- 🔖 其它统计函数
- 🔖 分布相关函数
- 🔖 时间序列分析
- 🔖 IComparable 扩展
- 🔖 ExtremeValueFinder
- 🔖 INumber 扩展
-
📒 FFTW 扩展
-
📒 示例