📅  最后修改于: 2023-12-03 15:19:26.422000             🧑  作者: Mango
sympy.stats.FiniteRV()
函数是一个用于表示有限种可能取值的随机变量的符号类。它可以用于正式定义离散随机变量,例如掷骰子的结果、扑克牌的面值等。
sympy.stats.FiniteRV(name, density_dict)
name
:随机变量的名称,通常为一个字符串。density_dict
:一个字典,包含随机变量的各种取值和对应的概率密度。下面的示例展示了如何使用sympy.stats.FiniteRV()
函数来定义一枚六面骰子的随机变量:
import sympy.stats as ss
dice = ss.FiniteRV('dice', {1: 1/6, 2: 1/6, 3: 1/6, 4: 1/6, 5: 1/6, 6: 1/6})
在这个例子中,我们首先导入了sympy.stats
模块,并定义了名为dice
的随机变量。随机变量的名称为字符串'dice'
,而概率密度字典则包含了每个面的取值和概率。
下面的示例展示了如何使用定义好的随机变量进行各种统计计算:
import sympy.stats as ss
dice = ss.FiniteRV('dice', {1: 1/6, 2: 1/6, 3: 1/6, 4: 1/6, 5: 1/6, 6: 1/6})
# 计算期望值
expectation = ss.E(dice)
print(expectation) # 7/2
# 计算方差
variance = ss.variance(dice)
print(variance) # 35/12
# 计算概率质量函数
pmf = ss.P(dice)
print(pmf) # {1: 1/6, 2: 1/6, 3: 1/6, 4: 1/6, 5: 1/6, 6: 1/6}
# 计算累积分布函数
cdf = ss.cdf(dice)
print(cdf) # {1: 1/6, 2: 1/3, 3: 1/2, 4: 2/3, 5: 5/6, 6: 1}
# 生成随机样本
samples = ss.rvs(dice, size=10)
print(samples) # [2, 2, 5, 3, 5, 1, 4, 4, 6, 4]
在这个例子中,我们首先构建了一个名为dice
的随机变量。接着,我们使用sympy.stats
模块提供的各种函数来计算该随机变量的期望、方差、概率质量函数、累积分布函数以及生成随机样本等。