BenfordDistribution
表示基数参数为 b 的本福特分布.
更多信息
- BenfordDistribution 也称为首位数分布.
- 在 Benford 分布中,当
时,整数值
的概率密度与
成正比,其余时候则为
. - BenfordDistribution 允许
为任意满足
的整数. - BenfordDistribution 可与诸如 Mean、CDF 和 RandomVariate 等函数一起使用.
背景
- BenfordDistribution[b] 表示一个定义在整数值
上的离散统计分布,称为本福特分布,其中参数 b 被称为基数参数,是满足
的整数. 本福特分布有时又被称为第一位数分布. 它的离散概率密度函数(PDF)是单调递减的. - 本福特分布与美国物理学家 Frank Benford 有关,和他同名的“Benford 定律”(有时又被称为 Newcomb–Benford 定律,这是为了纪念加拿大裔美籍数学家 Simon Newcomb,他比 Benford 早大约 50 年发表了同一结果)构成了这一分布的基础. Benford 定律是说在基数
的情况下,许多真实世界数据集中数字的第一位数是 1 的概率并不是 1/9 ≈ 11.1%(这是看似自然的预期),实际上是接近 30%. 而且,数字
作为首位数字的整体概率大约是
.(这个结果可以推广到
的基数,只要改掉公式中对数的底数.)已经在大量无关数据集中观察到了 Benford 定律,包括物理和数学常数列表,股票价格,人口数量以及死亡率等. 在一般情况下,本福特分布是跨越多个数量级的值分布的最佳近似. 它也被扩展到了关于第二及后续各位数字的频率还有前
位数字(
)序列的频率. - RandomVariate 可被用于给出本福特分布的一个或多个机器精度或任意精度(后者可用 WorkingPrecision 选项指定)的伪随机变量. Distributed[x,BenfordDistribution[b]],更简洁的写法是 xBenfordDistribution[b],可被用于声明随机变量 x 是本福特分布的. 这样一个声明之后可用在如 Probability、NProbability、Expectation 以及 NExpectation 这样的函数中.
- 概率密度函数和累积分布函数可用 PDF[BenfordDistribution[b],x] 和 CDF[BenfordDistribution[b],x] 求得. 平均数、中位数、方差、原点矩及中心矩可分别用 Mean、Median、Variance、Moment 和 CentralMoment 计算. 这些量可用 DiscretePlot 可视化.
- DistributionFitTest 可被用于测试给定的数据集是否与本福特分布一致,EstimatedDistribution 可被用于根据给定数据估算本福特参数化分布,而 FindDistributionParameters 可拟合数据和本福特分布. ProbabilityPlot 可被用于生成给定数据的 CDF 相对于符号本福特分布的 CDF 的图线,而 QuantilePlot 可被用于生成给定数据的分位数相对于符号本福特分布的分位数的图线.
- TransformedDistribution 可被用于表示转换的本福特分布,CensoredDistribution 可被用于表示删截后位于上限值和下限值之间的值分布,而 TruncatedDistribution 可被用于表示截断后位于上限值和下限值之间的值分布. CopulaDistribution 可被用于建立包含了本福特分布的高维分布,而 ProductDistribution 可被用于计算包括本福特分布在内的,若干个独立分量分布的联合分布.
- BenfordDistribution 与许多其它分布密切相关,包括 ZipfDistribution 和 ParetoDistribution. 其它分布通过 Benford 定律和 BenfordDistribution 相关. 例如,有实证检验表明分布为 ExponentialDistribution、WeibullDistribution、GammaDistribution、LogLogisticDistribution 和 ExponentialPowerDistribution 的随机数满足 Benford 定律,而根据 UniformDistribution、HalfNormalDistribution、NormalDistribution 和 GumbelDistribution 分布生成的随机数则不满足这一定律. 还有一些其它分布和 Benford 定律是否相关取决于它们的输入参数. 例如根据 ChiSquareDistribution[1] 生成的随机数满足 Benford 定律,而 ChiSquareDistribution[ν] 当 ν 增大时和 Benford 定律的符合程度就会降低. 类似的,依照 FRatioDistribution[n,m] 分布的随机变量采样在 n 和 m 值较小时遵循 Benford 定律,当 n 和 m 值增加时符合程度就降低,依照 LogNormalDistribution[μ,σ] 分布的随机变量在 μ 和 σ 值较大时与 Benford 定律的符合程度更高(改变 σ 值的影响比改变 μ 值影响更大).
范例
打开所有单元 关闭所有单元基本范例 (4)
DiscretePlot[Table[PDF[BenfordDistribution[b], x], {b, {7, 10, 15}}]//Evaluate, {x, 1, 13}, PlotMarkers -> Automatic]PDF[BenfordDistribution[b], x]DiscretePlot[Table[CDF[BenfordDistribution[b], x], {b, {7, 10, 15}}]//Evaluate, {x, 1, 13}, ExtentSize -> Right]CDF[BenfordDistribution[b], x]Mean[BenfordDistribution[b]]Variance[BenfordDistribution[b]]Median[BenfordDistribution[b]]范围 (7)
data = RandomVariate[BenfordDistribution[13], 10 ^ 4];Show[
Histogram[data, {1}, "PDF"],
DiscretePlot[PDF[BenfordDistribution[13], x], {x, 1, 14}, PlotStyle -> PointSize[Medium]]]sample = RandomVariate[BenfordDistribution[8], 10 ^ 3];edist = EstimatedDistribution[sample, BenfordDistribution[b]]Show[Histogram[sample, {1}, "PDF"], DiscretePlot[PDF[edist, x], {x, 1, 8}, PlotStyle -> PointSize[Medium]]]Skewness[BenfordDistribution[2]]DiscretePlot[Skewness[BenfordDistribution[b]], {b, 3, 20}]Kurtosis[BenfordDistribution[2]]DiscretePlot[Kurtosis[BenfordDistribution[b]], {b, 3, 20}]FormulaGrid[list_, type_] := Grid[...]FormulaGrid[Table[Moment[BenfordDistribution[b], k]//Expand, {k, 2}], M]FormulaGrid[Table[CentralMoment[BenfordDistribution[b], k], {k, 2}], CM]FormulaGrid[Table[FactorialMoment[BenfordDistribution[b], k]//Expand, {k, 2}], FM]DiscretePlot[Table[HazardFunction[BenfordDistribution[b], x], {b, {6, 9, 13}}]//Evaluate, {x, 1, 13}, PlotMarkers -> Automatic]HazardFunction[BenfordDistribution[b], x]𝒟 = BenfordDistribution[9];
points = Table[CDF[𝒟, x], {x, 0, 10}]//N;DiscretePlot[Quantile[𝒟, p], {p, points}, ExtentSize -> Right, ExtentMarkers -> {"Empty", "Filled"}]Quantile[BenfordDistribution[b], q]应用 (3)
本福特分布近似于一个跨越多个数量级的数值分布. 考虑一个服从重尾分布的样本:
sample1 = RandomVariate[ParetoDistribution[1, .02], 10 ^ 4];{Min[sample1], Max[sample1]}FirstDigit[x_] := Nest[First, RealDigits[x, 10, 1], 2];比较直方图和对应的 BenfordDistribution 的概率密度函数:
Show[Histogram[FirstDigit /@ sample1, {1}, "PDF"], DiscretePlot[PDF[BenfordDistribution[10], x], {x, 1, 10}, PlotStyle -> PointSize[Medium]]]sample2 = RandomVariate[HalfNormalDistribution[.01], 10 ^ 4];{Min[sample2], Max[sample2]}比较直方图和对应于 BenfordDistribution 的概率密度函数:
Show[Histogram[FirstDigit /@ sample2, {1}, "PDF"], DiscretePlot[PDF[BenfordDistribution[10], x], {x, 1, 10}, PlotStyle -> PointSize[Medium]]]FirstDigit[x_] := Nest[First, RealDigits[QuantityMagnitude[x], 10, 1], 2];sample = Table[FirstDigit[CityData[city, "Population"]], {city, CityData[{All, "UnitedStates"}]}];Show[Histogram[sample, {1}, "PDF"], DiscretePlot[PDF[BenfordDistribution[10], x], {x, 1, 10}, PlotStyle -> PointSize[Medium]]]sample2 = Table[FirstDigit[CityData[city, "Population"]], {city, Take[CityData[{All, "UnitedStates"}], 10 ^ 2]}];Show[Histogram[sample2, {1}, "PDF"], DiscretePlot[PDF[BenfordDistribution[10], x], {x, 1, 10}, PlotStyle -> PointSize[Medium]]]constants = Map[Quantity, {"StandardAccelerationOfGravity", "UniverseAge", "AvogadroConstant", "BohrRadius", "BoltzmannConstant", "ClassicalElectronRadius", "DeuteronMagneticMoment", "DeuteronMass", "EarthMass", "EarthEquatorialRadius", "ElementaryCharge", "ElectronComptonWavelength", "ElectronGFactor", "ElectronMagneticMoment", "ElectronMass", "FaradayConstant", "FineStructureConstant", "GalacticUnit", "GravitationalConstant", "HubbleConstant", "MagneticFluxQuantum", "MolarGasConstant", "OneMoleIdealGasVolumes", "MuonGFactor", "MuonMagneticMoment", "MuonMass", "NeutronComptonWavelength", "NeutronMagneticMoment", "NeutronMass", "PlanckConstant", "ReducedPlanckConstant", "PlanckMass", "ProtonComptonWavelength", "ProtonMagneticMoment", "ProtonMass", "QuantizedHallConductance", "RydbergConstant", "SackurTetrodeConstant", "SolarConstant", "SolarLuminosity", "SolarRadius", "SolarSchwarzschildRadius", "SpeedOfLight", "SpeedOfSound", "StefanBoltzmannConstant", "ThomsonCrossSection", "MagneticConstant", "ElectricConstant", "WeakMixingAngleConstant"}];values = QuantityMagnitude[UnitConvert[constants]];Length[values]FirstDigit[x_] := Nest[First, RealDigits[x, 10, 1], 2];fdig = FirstDigit /@ values;Show[Histogram[fdig, {1}, "PDF"], DiscretePlot[PDF[BenfordDistribution[10], x], {x, 1, 9}, PlotStyle -> PointSize[Medium]]]DistributionFitTest[fdig, BenfordDistribution[10], "TestConclusion"]文本
Wolfram Research (2010),BenfordDistribution,Wolfram 语言函数,https://reference.wolfram.com/language/ref/BenfordDistribution.html.
CMS
Wolfram 语言. 2010. "BenfordDistribution." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/BenfordDistribution.html.
APA
Wolfram 语言. (2010). BenfordDistribution. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/BenfordDistribution.html 年
BibTeX
@misc{reference.wolfram_2026_benforddistribution, author="Wolfram Research", title="{BenfordDistribution}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/BenfordDistribution.html}", note=[Accessed: 11-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_benforddistribution, organization={Wolfram Research}, title={BenfordDistribution}, year={2010}, url={https://reference.wolfram.com/language/ref/BenfordDistribution.html}, note=[Accessed: 11-September-2026]}