CategoricalDistribution[{c1,c2,…}]
在 c1、c2 等类别上表现均匀范畴分布.
CategoricalDistribution[{c1,c2,…},{w1,w2,…}]
在权重为 wi 的类别 ci 上表现范畴分布.
CategoricalDistribution[{{a1,a2,…},{b1,b2,…},…}]
在域 {a1,a2,…}×{b1,b2,…}×… 上表现多变量均匀范畴分布.
CategoricalDistribution[domain,weights]
用数组 weights 定义域中每个元素的概率.
CategoricalDistribution
CategoricalDistribution[{c1,c2,…}]
在 c1、c2 等类别上表现均匀范畴分布.
CategoricalDistribution[{c1,c2,…},{w1,w2,…}]
在权重为 wi 的类别 ci 上表现范畴分布.
CategoricalDistribution[{{a1,a2,…},{b1,b2,…},…}]
在域 {a1,a2,…}×{b1,b2,…}×… 上表现多变量均匀范畴分布.
CategoricalDistribution[domain,weights]
用数组 weights 定义域中每个元素的概率.
更多信息和选项
- CategoricalDistribution 是一个离散分布,它的域由无序类别组成,通常用于对有限集合进行概率测度.
- 范畴分布可以有一个或多个变量. 列联表显示了域中每个元素的概率:
- CategoricalDistribution[…] 可用于诸如 RandomVariate、PDF、Probability 和 Expectation 之类的函数中.
- CategoricalDistribution[…] 不是数字分布:不能对其使用诸如 Mean 或 CDF 之类的函数.
- 在 CategoricalDistribution[domain,weights] 中,数组 weights 的维度必须与 domain 中定义的每个变量的类别数匹配.
- 可用 SparseArray[…] 形式给出数组 weights.
- 定义了权重的情况下,权重将被规范化为概率.
- 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"}]没有定义 "out-of-domain" 类别的概率质量,因此 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"]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 语言. 2020. "CategoricalDistribution." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/CategoricalDistribution.html.
APA
Wolfram 语言. (2020). CategoricalDistribution. Wolfram 语言与系统参考资料中心. 追溯自 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: 10-July-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: 10-July-2026]}