DiscreteUniformDistribution[{imin,imax}]
iminから imaxまでの整数上での離散一様分布を表す.
DiscreteUniformDistribution[{{imin,imax},{jmin,jmax},…}]
{{imin,imax},{jmin,jmax},…}のボックス内の整数上の多変量離散一様分布を表す.
DiscreteUniformDistribution
DiscreteUniformDistribution[{imin,imax}]
iminから imaxまでの整数上での離散一様分布を表す.
DiscreteUniformDistribution[{{imin,imax},{jmin,jmax},…}]
{{imin,imax},{jmin,jmax},…}のボックス内の整数上の多変量離散一様分布を表す.
詳細
- DiscreteUniformDistributionは離散矩形分布としても知られている.
- 離散一様分布における値
の確率は,
では整数
について一定であり,その他の場合は0である. » - DiscreteUniformDistributionでは iminと imaxは imin<imaxである任意の整数でよい.
- DiscreteUniformDistributionは,Mean,CDF,RandomVariate等の関数で使うことができる. »
予備知識
- DiscreteUniformDistribution[{imin,imax}]は,確率変量が整数値
のうちの任意の値を同じ確率で取る離散統計分布(離散矩形分布としても知られている)を表す.したがって,一様分布は完全にその領域の端点 iminおよび imaxによってパラメータ化され,その確率密度関数は区間
内の整数上では一定である.離散一様分布はUniformDistributionの離散バージョンであり,後者と同じように,離散一様分布もまた,ある領域上で確率が等しい複数の変量に一般化される. - 公正なサイコロを振って任意の単一の値 k を得る尤度は,PDF[DiscreteUniformDistribution[{1,6}],k]で厳密にモデル化される.1つの正しいキーと n 個の不正なキーを含むキーホルダーがあるとして,値1,…,n に離散確率変量を使う逆変換メソッドの変形を使って正しいキーを見付けるまでの期待される不正なキーの選択回数をモデル化することができる.この問題は,いわゆる最大化問題の期待値と関連している.ドイツ戦車問題として知られるこの問題の例は,第二次世界大戦当時重要だったもので,DiscreteUniformDistribution[{1,N}]が,
であるある整数 k について k 回の観察を与えるために必要な最大の
の予測を含んでいる. - RandomVariateを使って,離散一様分布から,1つあるいは複数の機械精度あるいは任意精度(後者はWorkingPrecisionオプションを介す)の擬似乱数変量を得ることができる.Distributed[x,DiscreteUniformDistribution[{imin,imax}]](より簡略すると xDiscreteUniformDistribution[{imin,imax}])を使って,確率変数 x が離散一様分布に従って分布していると宣言することができる.このような宣言は,Probability,NProbability,Expectation,NExpectation等の関数で使うことができる.
- 確率密度関数および累積分布関数は,PDF[DiscreteUniformDistribution[{imin,imax}],x]およびCDF[DiscreteUniformDistribution[{imin,imax}],x]を使って得られることがある.平均,中央値,分散,原点の周りのモーメント,中心モーメントは,それぞれMean,Median,Variance,Moment,CentralMomentを使って計算することができる.これらの数量はDiscretePlotを使って可視化することができる.
- DistributionFitTestを使って,与えられたデータ集合が離散一様分布と一致するかどうかを検定することが,EstimatedDistributionを使って与えられたデータから離散パラメトリック一様分布を推定することが,FindDistributionParametersを使ってデータを離散一様分布にフィットすることができる.ProbabilityPlotを使って記号的離散一様分布のCDFに対する与えられたデータのCDFのプロットを生成することが,QuantilePlotを使って記号的離散一様分布の変位値に対する与えられたデータの変位値のプロットを生成することができる.
- TransformedDistributionを使って変換された離散一様分布を表すことが,CopulaDistributionを使って離散一様分布を含む高次元分布を構築することが,ProductDistributionを使って離散一様分布を含む独立成分分布の結合分布を計算することができる.
- 離散一様分布は他の多くの分布に関連している.例えば,DiscreteUniformDistribution[{a,b}]は,a と b の両方が整数であるいという仮定のもとでの,UniformDistribution[{a,b}]の離散化バージョンである.DiscreteUniformDistributionは,離散一様分布に従って分布する,独立した n 個の確率変量
の和
(nPoissonDistribution)はそれ自身が変換されたポアソン分布であるという意味で,PoissonDistributionにも関連している.
および2について(x1x1+x2)DiscreteUniformDistributionであるならxiGeometricDistributionであるという事実によって,離散一様分布はGeometricDistributionにも関連している.DiscreteUniformDistributionはまたBetaBinomialDistributionと,さらに接線方向にCompoundPoissonDistribution等の分布とも関連している.
例題
すべて開く すべて閉じる例 (3)
DiscretePlot[Table[PDF[DiscreteUniformDistribution[{1, b}], k], {b, {10, 15, 20}}]//Evaluate, {k, 25}, ExtentSize -> 1 / 2]PDF[DiscreteUniformDistribution[{a, b}], k]DiscretePlot[Table[CDF[DiscreteUniformDistribution[{1, b}], k], {b, {10, 15, 20}}]//Evaluate, {k, 0, 25}, ExtentSize -> Right]CDF[DiscreteUniformDistribution[{a, b}], k]Mean[DiscreteUniformDistribution[{min, max}]]Variance[DiscreteUniformDistribution[{min, max}]]スコープ (14)
Table[DiscretePlot3D[PDF[DiscreteUniformDistribution[{{1, 5}, {1, d}}], {x, y}], {x, 0, 6}, {y, 0, d + 1}, AxesLabel -> Automatic, ExtentSize -> 1 / 2, PlotLabel -> Row[{"d", d}, "="]], {d, {5, 10}}]PDF[DiscreteUniformDistribution[{{a, b}, {c, d}}], {x, y}]Table[DiscretePlot3D[CDF[DiscreteUniformDistribution[{{1, 5}, {1, d}}], {x, y}], {x, 0, 6}, {y, 0, d + 1}, ExtentSize -> Right, AxesLabel -> Automatic, PlotLabel -> Row[{"d", d}, "="]], {d, {5, 10}}]CDF[DiscreteUniformDistribution[{{a, b}, {c, d}}], {x, y}]Covariance[DiscreteUniformDistribution[{{a, b}, {c, d}}]]//MatrixFormdata = RandomVariate[DiscreteUniformDistribution[{20, 40}], 10 ^ 4];Show[Histogram[data, {1}, "PDF"], DiscretePlot[PDF[DiscreteUniformDistribution[{20, 40}], k], {k, 20, 40}, PlotStyle -> PointSize[Medium]]]sample = RandomVariate[DiscreteUniformDistribution[{1, 4}], 10 ^ 3];e𝒟 = EstimatedDistribution[sample, DiscreteUniformDistribution[{min, max}]]サンプルの密度ヒストグラムを推定分布の確率密度関数と比較する:
Show[Histogram[sample, {1}, "PDF"], DiscretePlot[PDF[e𝒟, x], {x, 1, 5}, PlotStyle -> PointSize[Medium]]]data = RandomVariate[DiscreteUniformDistribution[{{1, 4}, {0, 3}}], 10 ^ 3];EstimatedDistribution[data, DiscreteUniformDistribution[{{a, b}, {c, d}}]]Skewness[DiscreteUniformDistribution[{min, max}]]Skewness[DiscreteUniformDistribution[{{a, b}, {c, d}, {e, f}}]]ListPlot[Table[Kurtosis[DiscreteUniformDistribution[{0, max}]], {max, 1, 20}], Filling -> Axis]Kurtosis[DiscreteUniformDistribution[{min, max}]]無限に大きい区間での尖度はUniformDistributionの尖度に等しい:
Limit[Kurtosis[DiscreteUniformDistribution[{0, max}]], max -> Infinity]Kurtosis[UniformDistribution[{min, max}]]Kurtosis[DiscreteUniformDistribution[{{a, b}, {c, d}, {e, f}}]]FormulaGrid[list_, type_] := Grid[...]FormulaGrid[Table[Moment[DiscreteUniformDistribution[{min, max}], k]//FullSimplify, {k, 5}], M]Moment[DiscreteUniformDistribution[{min, max}], r]FormulaGrid[Table[CentralMoment[DiscreteUniformDistribution[{min, max}], k]//FullSimplify, {k, 5}], CM]CentralMoment[DiscreteUniformDistribution[{min, max}], r]FormulaGrid[Table[FactorialMoment[DiscreteUniformDistribution[{min, max}], k]//FullSimplify, {k, 5}], FM]FactorialMoment[DiscreteUniformDistribution[{min, max}], r]FormulaGrid[Table[Cumulant[DiscreteUniformDistribution[{min, max}], k]//FullSimplify, {k, 5}], C]FormulaGrid[list_, type_] := Grid[...]FormulaGrid[Table[Moment[DiscreteUniformDistribution[{{a, b}, {c, d}}], {2, k}]//Simplify, {k, 1, 3}], M]Moment[DiscreteUniformDistribution[{{a, b}, {c, d}}], {r, k}]FormulaGrid[Table[CentralMoment[DiscreteUniformDistribution[{{a, b}, {c, d}}], {2, k}]//FullSimplify, {k, 1, 3}], CM]CentralMoment[DiscreteUniformDistribution[{{a, b}, {c, d}}], {r, k}]//SimplifyFormulaGrid[Table[FactorialMoment[DiscreteUniformDistribution[{{a, b}, {c, d}}], {2, k}]//Simplify, {k, 1, 3}], FM]FactorialMoment[DiscreteUniformDistribution[{{a, b}, {c, d}}], {r, k}]FormulaGrid[Table[Cumulant[DiscreteUniformDistribution[{{a, b}, {c, d}}], {2, k}]//Simplify, {k, 0, 3}], C]Cumulant[DiscreteUniformDistribution[{{a, b}, {c, d}}], {r, k}]DiscretePlot[Table[HazardFunction[DiscreteUniformDistribution[{0, max}], x], {max, {5, 10, 15}}]//Evaluate, {x, 0, 18}, ExtentSize -> 1 / 2]HazardFunction[DiscreteUniformDistribution[{min, max}], x]DiscretePlot3D[HazardFunction[DiscreteUniformDistribution[{{1, 5}, {1, 5}}], {x, y}], {x, 0, 6}, {y, 0, 6}, AxesLabel -> Automatic, ExtentSize -> 1 / 2]HazardFunction[DiscreteUniformDistribution[{{a, b}, {c, d}}], {x, y}]Median[DiscreteUniformDistribution[{min, max}]]𝒟 = DiscreteUniformDistribution[{0, 10}];
points = Table[CDF[𝒟, x], {x, 0, 10}]//N;DiscretePlot[Quantile[𝒟, p], {p, points}, ExtentSize -> Right, ExtentMarkers -> {"Empty", "Filled"}]Quantile[DiscreteUniformDistribution[{min, max}], q]𝒟 = DiscreteUniformDistribution[{{a, b}, {c, d}, {e, f}}];MarginalDistribution[𝒟, 2]MarginalDistribution[𝒟, {1, 3}]アプリケーション (7)
DiscreteUniformDistributionの累積分布関数は右連続関数の例である:
DiscretePlot[CDF[DiscreteUniformDistribution[{0, 4}], x], {x, 0, 4}, ExtentSize -> Right, ExtentMarkers -> {"Filled", "Empty"}]CDF[DiscreteUniformDistribution[{0, 4}], x]//PiecewiseExpand0, 1, 2, 3と番号を付けられた4つのディスクを含むコンピュータがある.起動時に一時ファイルの保存用にディスクの1つが無作為に選ばれる.ディスク選択の確率を求める:
𝒟 = DiscreteUniformDistribution[{0, 3}];DiscretePlot[PDF[𝒟, x], {x, 0, 3}]Probability[x == 1, x𝒟]Probability[x == 1 || x == 3, x𝒟]次の30回の起動時にどのディスクが選ばれるかのシミュレーションを行う:
ListPlot[{RandomVariate[𝒟, 30], {{0, Mean[𝒟]}, {30, Mean[𝒟]}}}, Filling -> Axis, Joined -> {False, True}]公正な六面のサイコロはDiscreteUniformDistributionでモデル化することができる:
dice = DiscreteUniformDistribution[{1, 6}];RandomVariate[dice, 10]Probability[x1 + x2 + x3 ≤ 6, {x1dice, x2dice, x3dice}]N[%]サイコロをランダムに振った場合を生成して確かめる.この場合は3個のサイコロを
回振っている:
Count[RandomVariate[dice, {10 ^ 5, 3}], _ ? (Total[#] ≤ 6&)] / 10 ^ 5N[%]3個のサイコロの目のすべての可能性を明示的に列挙して確かめる:
Select[Tuples[Range[6], 3], Total[#] ≤ 6&]Length[%] / 6 ^ 32つの公正なサイコロを投げたとして,サイコロの値の差の分布を求める:
𝒟 = TransformedDistribution[Abs[u - v], {uDiscreteUniformDistribution[{1, 6}], vDiscreteUniformDistribution[{1, 6}]}];CDF[𝒟, x]DiscretePlot[CDF[𝒟, x], {x, 0, 6}, ExtentSize -> Right, ExtentMarkers -> {"Filled", "Empty"}]Probability[x ≤ 3, x𝒟]N[%]Mean[𝒟]N[%]diff = RandomVariate[𝒟, 30]ListPlot[diff, Filling -> Axis]クラップスというゲームでは2個のサイコロが投げられる[MathWorld]:
Craps = ProductDistribution[{DiscreteUniformDistribution[{1, 6}], 2}];crapsProb = Table[PDF[Craps, {d1, d2}], {d1, 6}, {d2, 6}];TableForm[crapsProb, TableHeadings -> {Range[6], Range[6]}]2個のサイコロの目が両方とも1となる「ピンぞろ(snake eyes)」[MathWorld]の確率を求める:
Probability[D1 + D2 == 2, {D1, D2}Craps]「6ぞろ(boxcars)」[MathWorld]の確率:
Probability[D1 + D2 == 12, {D1, D2}Craps]合計が8になる「eighter from Decatur」[MathWorld]の確率:
Probability[D1 + D2 == 8, {D1, D2}Craps]合計が4になる「little Joe」[MathWorld]の確率:
Probability[D1 + D2 == 4, {D1, D2}Craps]Table[Probability[D1 + D2 == k, {D1, D2}Craps], {k, 12}]1投で負けとなる,つまり,合計が2,3,12のいずれかになる確率を求める:
Probability[D1 + D2 == 2∨D1 + D2 == 3∨D1 + D2 == 12, {D1, D2}Craps]1投で勝ちとなる,つまり,合計が7か11になる確率を求める:
Probability[D1 + D2 == 7∨D1 + D2 == 11, {D1, D2}Craps]ある仮想のR&D企業では雇用者の少なくとも1人の誕生日である日が休日になるという.誕生日が独立分布に従うとして実働日数を最大にする雇用者数を求める:
Productivity[n_] = n Sum[Probability[x ≠ t, xDiscreteUniformDistribution[{1, 365}]]^n, {t, 1, 365}]Reduce[Productivity[n - 1] <= Productivity[n] && Productivity[n] >= Productivity[n + 1], n, Integers]Productivity[364]//NRound[% / 364]ガリレオのサイコロ問題を解いて,3個のサイコロを振った場合に9が出る確率と10が出る確率を求める:
points𝒟 = TransformedDistribution[d1 + d2 + d3, {d1, d2, d3}ProductDistribution[{DiscreteUniformDistribution[{1, 6}], 3}]];1から6までの3つの数を合計して,10になる場合と9になる場合の数は等しい:
IntegerPartitions[10, {3}, Range[6]]IntegerPartitions[9, {3}, Range[6]]odds = PDF[points𝒟, 9] / PDF[points𝒟, 10]sample = RandomVariate[points𝒟, 10 ^ 7];{# / (1 - #)&[Probability[x == 9(x == 9 || x == 10), xsample]], odds}//N特性と関係 (4)
min から max までの整数以外の実数を得る確率は0である:
PDF[DiscreteUniformDistribution[{min, max}], 3 / 2]Correlation[DiscreteUniformDistribution[{{a, b}, {c, d}, {e, f}}]]//MatrixFormTruncatedDistribution[{a, b}, DiscreteUniformDistribution[{min, max}]]DiscreteUniformDistributionはUniformDistributionの離散版である:
PDF[DiscreteUniformDistribution[{min, max}], k]PDF[UniformDistribution[{min, max}], x]考えられる問題 (2)
DiscreteUniformDistributionは,min または max が整数でなければ定義されない:
Mean[DiscreteUniformDistribution[{0, 2.5}]]Mean[DiscreteUniformDistribution[{min, max}]] /. {min -> 3 + I, max -> 2}テクニカルノート
-
▪
- 離散分布
関連するガイド
-
▪
- 離散一変量分布 ▪
- 壷モデル分布 ▪
- パラメトリック統計分布 ▪
- 有界領域分布
テキスト
Wolfram Research (2007), DiscreteUniformDistribution, Wolfram言語関数, https://reference.wolfram.com/language/ref/DiscreteUniformDistribution.html (2010年に更新).
CMS
Wolfram Language. 2007. "DiscreteUniformDistribution." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2010. https://reference.wolfram.com/language/ref/DiscreteUniformDistribution.html.
APA
Wolfram Language. (2007). DiscreteUniformDistribution. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/DiscreteUniformDistribution.html
BibTeX
@misc{reference.wolfram_2026_discreteuniformdistribution, author="Wolfram Research", title="{DiscreteUniformDistribution}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/DiscreteUniformDistribution.html}", note=[Accessed: 10-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_discreteuniformdistribution, organization={Wolfram Research}, title={DiscreteUniformDistribution}, year={2010}, url={https://reference.wolfram.com/language/ref/DiscreteUniformDistribution.html}, note=[Accessed: 10-September-2026]}