BenfordDistribution
基底の母数が b であるBenford分布を表す.
詳細
- BenfordDistributionは最初の桁の分布としても知られている.
- Benford分布における整数値
の確率は,
では
に比例しその他では
である. - BenfordDistributionでは,
は
である任意の整数でよい. - BenfordDistributionは,Mean,CDF,RandomVariate等の関数とともに使うことができる.
予備知識
- BenfordDistribution[b]は,整数値
で定義される離散統計分布を表す.ただし,母数 b は
を満足する,基底の母数として知られる整数である.Benford分布は最初の桁の分布として言及されることがある.これは,単調減少値の離散確率密度関数(PDF)を持つ. - Benford分布はアメリカ合衆国の物理学者であるFrank Benfordに関係がある.Benfordの名前を冠した「Benfordの法則」(Benfordより50年程前に結果を発表したカナダ系アメリカ人の数学者であるSimon Newcombに敬意を評してNewcomb-Benfordの法則と呼ばれることもある)は,分布の礎石の役割を果たすものである.Benfordの法則は,基底
について,現実世界のデータ集合のさまざまなクラスにおける数の最初の桁の数字が1である確率が,(単純に期待されるように),1/9 ≈ 11.1%では与えられず,実際は30%に近いというものである.さらに,数字
が最初の桁の数字として現れる全体的な確率は,およそ
である.(この結果は,対数についての基底の変更式を使って
である他の基底にも一般化することができる).Benfordの法則は,物理定数および数学定数,株価,人口,死亡率を含む,数多くの無関係なデータ集合で,経験的に観察されてきた.Benford分布は,複数桁にまたがる値の分布の近似に最もよく使われる.また,第2桁および後ろの桁の数字の観察や,
についての
桁の先導配列にまでも敷衍されてきた. - RandomVariateを使ってBenford分布から,1つあるいは複数の機械精度あるいは任意精度(後者はWorkingPrecisionオプションを介す)の擬似乱数変量を得ることができる.Distributed[x,BenfordDistribution[b]](より簡略すると xBenfordDistribution[b])を使って,確率変数 x がBenford分布に従って分布していると宣言することができる.このような宣言は,Probability,NProbability,Expectation,NExpectation等の関数で使うことができる.
- 確率密度関数および累積分布関数は,PDF[BenfordDistribution[b],x]およびCDF[BenfordDistribution[b],x]を使って得られることがある.平均,中央値,分散,原点の周りのモーメント,中心モーメントは,それぞれMean,Median,Variance,Moment,CentralMomentを使って計算することができる.これらの数量はDiscretePlotを使って可視化することができる.
- DistributionFitTestを使って,与えられたデータ集合がBenford分布と一致するかどうかを検定することが,EstimatedDistributionを使って与えられたデータからBenfordパラメトリック分布を推定することが,FindDistributionParametersを使ってデータをBenford分布にフィットすることができる.ProbabilityPlotを使って記号Benford分布のCDFに対する与えられたデータのCDFのプロットを生成することが,QuantilePlotを使って記号Benford分布の変位値に対する与えられたデータの変位置のプロットを生成することができる.
- TransformedDistributionを使って変換されたBenford分布を表すことが,CensoredDistributionを使って上限値と下限値の間で切り取られた値の分布を表すことが,TruncatedDistributionを使って上限値と下限値の間で切断された値の分布を表すことができる.CopulaDistributionを使ってBenford分布を含む高次元分布を構築することが,ProductDistributionを使ってBenford分布を含む独立成分分布の結合分布を計算することができる.
- BenfordDistributionは,ZipfDistributionやParetoDistributionを含む他の多くの分布と関連している.他の分布にも,Benfordの法則を通じてBenfordDistributionに関連しているものがある.例えば,ExponentialDistribution,WeibullDistribution,GammaDistribution,LogLogisticDistribution,ExponentialPowerDistributionに従う確率変数の経験的検定は,Benfordの法則に忠実にしたがっているのに対し,UniformDistribution,HalfNormalDistribution,NormalDistribution,GumbelDistributionによって生成された確率変数はそうではない.他にもいくつかの分布が,その入力母数によって,Benfordの法則と関係する.例えば,ChiSquareDistribution[1]によって生成された確率変数はBenfordの法則に従うが,ChiSquareDistribution[ν]になると,ν が大きくなるにつれて忠実性は低下する.同様に,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)
Benford分布は複数桁にまたがる値の分布を近似する.裾部が重い分布からサンプルを取る:
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]]]米国の大都市の人口がBenford分布に従うかどうか見てみる:
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]]]上位100位までの大都市の人口はBenford分布にあまり従っていない:
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;最初の1桁の数字は一様分布には従っていない.むしろBenfordの法則に従っている:
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 Language. 2010. "BenfordDistribution." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/BenfordDistribution.html.
APA
Wolfram Language. (2010). BenfordDistribution. Wolfram Language & System Documentation Center. Retrieved from 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: 17-August-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: 17-August-2026]}