CategoricalDistribution[{c1,c2,…}]
クラス c1,c2等で一様カテゴリ分布を表す.
CategoricalDistribution[{c1,c2,…},{w1,w2,…}]
クラス ciで重みが wiのカテゴリ分布を表す.
CategoricalDistribution[{{a1,a2,…},{b1,b2,…},…}]
領域 {a1,a2,…}×{b1,b2,…}×…上で多変量一様カテゴリ分布を表す.
CategoricalDistribution[domain,weights]
配列の weights を使って領域の各要素の確率を定義する.
CategoricalDistribution
CategoricalDistribution[{c1,c2,…}]
クラス c1,c2等で一様カテゴリ分布を表す.
CategoricalDistribution[{c1,c2,…},{w1,w2,…}]
クラス ciで重みが wiのカテゴリ分布を表す.
CategoricalDistribution[{{a1,a2,…},{b1,b2,…},…}]
領域 {a1,a2,…}×{b1,b2,…}×…上で多変量一様カテゴリ分布を表す.
CategoricalDistribution[domain,weights]
配列の weights を使って領域の各要素の確率を定義する.
詳細とオプション
- CategoricalDistributionは,順序を持たないクラスから構成される領域を有する離散分布であり,通常,有限集合に確率測度を与えるために用いられる.
- カテゴリ分布は1つあるいは複数の変数を持つことができる.各領域要素についての確率は分割表で可視化できる.
- CategoricalDistribution[…]は,RandomVariate,PDF,Probability,Expectation等の関数で使うことができる.
- CategoricalDistributionは非数値的分布で,MeanやCDF等の関数と一緒に使うことはできない.
- CategoricalDistribution[domain,weights]の配列次元の weights は domain で定義された各変数のクラス数と一致しなければならない.
- 配列の weights はSparseArray[…]形式で与えることができる.
- 重みは,定義されると確率になるように正規化される.
- CategoricalDistribution[{c1w1,c2w2,…}]を使ってクラス ciと重み wiを定義することができる.
- CategoricalDistribution[{{c11,c12,…}w1,elem2w2,…}]を使って多変量領域の要素 elemi(クラスのリスト)とその重み wiが定義できる.省略された要素にはデフォルトで重み0が与えられる.
- CategoricalDistribution[{elem1w1,elem2w2,…, _val}]における欠略された要素には重み val が与えられる.
- CategoricalDistribution[domain,{elem1w1,elem2w2,…}]を使って分布領域といくつかの分布要素の確率の両方が指定できる.
- Information[CategoricalDistribution[…]]は分布についてのレポートを与える.
- CategoricalDistributionについてのInformationには以下の特性が含まれる.
-
"Categories" 分布クラスのリスト "Dimension" 変数の数 "DomainElements" 領域内の全要素 "DomainSize" 領域内の要素数 "Entropy" 厳密なエントロピー "NEntropy" 近似エントロピー "Probabilities" 確率の連想 "ProbabilityArray" 確率配列 "ProbabilityPlot" 確率関数の可視化 "ProbabilityTable" Datasetにおける確率 "Properties" 使用可能な全特性 "TopProbabilities" 最高確率の要素のリスト "TopProbabilities"n 確率が高いものから n 個の要素
例題
すべて開く すべて閉じる例 (2)
cd = CategoricalDistribution[{"A", "B", "C"}]RandomVariate[cd]PDF[cd, "A"]cd = CategoricalDistribution[{"A", "B", "C"}, {1, 2, 3}]RandomVariate[cd, 20]PDF[cd, {"A", "B", "C"}]Information[cd, "ProbabilityPlot"]スコープ (16)
一変量の定義 (4)
cd = CategoricalDistribution[{True, False, x, y}]RandomVariate[cd, 20]cd = CategoricalDistribution[{"A" -> 1, "B" -> 2, "C" -> 3}]Information[cd]cd = CategoricalDistribution[{"A", "B", "C"}, {"A" -> 1}]Information[cd]cd = CategoricalDistribution[{"A", "B", "C"}, {"A" -> 1, _ -> 0.1}]Information[cd]cd = CategoricalDistribution[{"A", "A", "B", "A", "B", "C", "A"}]Information[cd, "ProbabilityTable"]多変量の定義 (5)
cd = CategoricalDistribution[{{"A", "B", "C"}, {"1st", "2nd"}}]RandomVariate[cd, 6]PDF[cd, {"A", "2nd"}]Information[cd, "ProbabilityTable"]cd = CategoricalDistribution[{{"A", "B", "C"}, {"D", "E"}}, {{1, 2}, {3, 4}, {5, 6}}]RandomVariate[cd, 20]PDF[cd, {"A", "E"}]Information[cd, "ProbabilityTable"]cd1 = MarginalDistribution[cd, 1]Information[cd1, "ProbabilityTable"]cd = CategoricalDistribution[{{"A", "B", "C"}, {"D", "E"}}, SparseArray[{{1, 1} -> 1, {3, 2} -> 1, _ -> 0}]]Information[cd, "ProbabilityTable"]cd = CategoricalDistribution[{{"A", "B", "C"}, {"D", "E"}}, {{"A", "D"} -> 1, {"C", "E"} -> 1}]Information[cd, "ProbabilityTable"]cd = CategoricalDistribution[{{"A", "B", "C"}, {"D", "E"}}, {{"A", "D"} -> 1, {"C", "E"} -> 1, _ -> 0.1}]Information[cd, "ProbabilityTable"]cd = CategoricalDistribution[{{"A", "B", "C"}, {"D", "E"}, {"F", "G"}, {"H", "I"}}, RandomInteger[3, {3, 2, 2, 2}]]Information[cd, "ProbabilityTable"]情報 (2)
cd = CategoricalDistribution[{"A", "B", "C"}, {1, 2, 3}]Information[cd]Information[cd, "Properties"]Information[cd, "Categories"]Information[cd, "Probabilities"]Information[cd, "ProbabilityPlot"]Information[cd, "Entropy"]cd = CategoricalDistribution[{{"A", "B", "C"}, {"D", "E"}}, {{1, 2}, {3, 4}, {5, 6}}]Information[cd]Information[cd, "Properties"]Information[cd, "Categories"]Information[cd, "DomainElements"]Information[cd, "Probabilities"]Information[cd, "TopProbabilities" -> 2]Information[cd, "ProbabilityPlot"]Information[cd, "Entropy"]記号による重み (2)
cd = CategoricalDistribution[{"A", "B", "C"}, {a, 2, 3}]Information[cd, "ProbabilityTable"]cd2 = cd /. a -> 1Information[cd2, "ProbabilityTable"]cd = CategoricalDistribution[{"A", "B", "C"}, {a, 2, 3}]RandomVariateは評価されない:
RandomVariate[cd]RandomVariate[cd] /. a -> 1領域外の動作 (1)
cd = CategoricalDistribution[{"A", "B", "C"}]「領域外」クラスの確率質量は定義されていないので,PDFは評価されない:
pdf = PDF[cd, x]ReplaceAll[pdf, x -> "A"]確率と推定 (2)
cd = CategoricalDistribution[{{"A", "B", "C"}, {"D", "E"}}, RandomInteger[{1, 4}, {3, 2}]]Information[cd, "ProbabilityTable"]Probability[x == "A", {x, y}cd]MarginalDistributionで計算された同じ確率と比較する:
PDF[MarginalDistribution[cd, 1], "A"]cd = CategoricalDistribution[{{"A", "B", "C"}, {"D", "E"}}, RandomInteger[{1, 4}, {3, 2}]]Expectationを使ってそのエントロピーを計算する:
Expectation[-Log[PDF[cd, {x, y}]], {x, y}cd]Informationで与えられるようなエントロピーと比較する:
Information[cd, "Entropy"]NExpectationを使ってエントロピーを計算する:
NExpectation[-Log[PDF[cd, {x, y}]], {x, y}cd]NExpectation[-Log[PDF[cd, {x, y}]], {x, y}cd, Method -> "MonteCarlo"]NExpectation[-Log[PDF[cd, {x, y}]], {x, y}cd, Method -> {"MonteCarlo", "SamplingIncrement" -> 10000}]アプリケーション (2)
c = Classify[{1 -> "A", 2 -> "A", 3 -> "B", 4 -> "B"}]dist = c[1.8, "Distribution"]RandomVariate[dist, 100]data = ResourceData["Sample Data: Titanic Survival"]3つのカテゴリ変数を抽出し,それらを合わせた出現回数を数える:
counts = Counts[Normal@Values[data[All, {"Class", "Sex", "SurvivalStatus"}]]]cd = CategoricalDistribution[counts]Information[cd, "ProbabilityTable"]NProbability[z == "survived", {x, y, z}cd]p1 = NProbability[z == "died" && y == "female", {x, y, z}cd];
p2 = NProbability[z == "survived" && y == "female", {x, y, z}cd];
p2 / (p1 + p2)特性と関係 (1)
cd = CategoricalDistribution[{{"A", "B", "C"}, {"D", "E"}, {"F", "G"}, {"H", "I"}}, RandomInteger[3, {3, 2, 2, 2}]]proba = Information[cd, "Probabilities"]AllTrue[proba, NonNegative]Total[proba]関連するガイド
-
▪
- 確率変数
テキスト
Wolfram Research (2020), CategoricalDistribution, Wolfram言語関数, https://reference.wolfram.com/language/ref/CategoricalDistribution.html.
CMS
Wolfram Language. 2020. "CategoricalDistribution." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/CategoricalDistribution.html.
APA
Wolfram Language. (2020). CategoricalDistribution. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/CategoricalDistribution.html
BibTeX
@misc{reference.wolfram_2026_categoricaldistribution, author="Wolfram Research", title="{CategoricalDistribution}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/CategoricalDistribution.html}", note=[Accessed: 17-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_categoricaldistribution, organization={Wolfram Research}, title={CategoricalDistribution}, year={2020}, url={https://reference.wolfram.com/language/ref/CategoricalDistribution.html}, note=[Accessed: 17-August-2026]}