《贝叶斯思维:统计建模的Python学习法》——第2章 统计计算 2.1 分布

简介:

本节书摘来异步社区《贝叶斯思维:统计建模的Python学习法》一书中的第2章,第2.1节,作者:【美】Allen B. Downey,更多章节内容可以访问云栖社区“异步社区”公众号查看

第2章 统计计算

贝叶斯思维:统计建模的Python学习法

2.1 分布

在统计上,分布是一组值及其对应的概率。

例如,如果滚动一个六面骰子,可能的值是数字1至6,与每个值关联的概率是1/6。

再举一个例子,你应该有兴趣了解在日常的英语使用中每个单词出现的次数。你可以建立一个包含每个字及它出现的次数的分布。

为了表示Python中的分布,可以使用一个字典映射某个值和它的概率。我编写了一个名为Pmf的类,利用Python字典实现了上述功能,而且提供了一些有用的方法。为了对应概率质量函数这种分布的数学表示法,我将其命名为Pmf。

Pmf的定义在一个我为本书完成的Python模块thinkbayes.py中。可以从thinkbayes.com/thinkbayes.py下载。欲了解更多信息参见前言的“代码指南”。

要使用Pmf,可如下导入:

from thinkbayes.py  import  Pmf```
下面的代码建立一个Pmf来表示六面骰子的结果分布:

pmf = Pmf()
for x in [1,2,3,4,5,6]:

pmf.Set(x,1/6.0)```

Pmf创建一个空的没有赋值的pmf。Set方法设置每个值的概率为1/6。

这里是另一个例子,计算每个单词在一个词序列中出现的次数:

pmf = Pmf()
for word in word_list:
    pmf.Incr(word, 1)```
Incr为每个单词的相应“概率”加1。如果一个词还没有出现在Pmf中,那么就将这个词添加进去。

我把“概率”加上引号是因为在这个例子中概率还没有归一化,也就是说它们的累加和不是1,因此不是真正的概率。但在本例中单词计数与概率成正比。所以当完成了所有的计数,就可以通过除以计数的总值来计算得到概率。

Pmf提供了一种Normalize方法来实现上述功能:

pmf.Normalize()`
一旦有一个Pmf对象,你可以像下面这样得到任何一个值相关联的概率:

print pmf.Prob('the')```
这会打印输出单词“the”在词序列中出现的频率。
相关文章
|
19天前
|
Python
python幂运算——计算x的y次方
python幂运算——计算x的y次方
27 0
|
23天前
|
数据采集 自然语言处理 算法
如何使用Python的Gensim库进行自然语言处理和主题建模?
使用Gensim库进行Python自然语言处理和主题建模,包括:1) 安装Gensim;2) 导入`corpora`, `models`, `nltk`等相关模块;3) 对文本数据进行预处理,如分词和去除停用词;4) 创建字典和语料库;5) 使用LDA算法训练模型;6) 查看每个主题的主要关键词。代码示例展示了从数据预处理到主题提取的完整流程。
37 3
|
21天前
|
机器学习/深度学习 数据挖掘 网络架构
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
|
1天前
|
Python
python计算线段角度
python计算线段角度
2 0
|
5天前
|
机器学习/深度学习 自然语言处理 算法
Gensim详细介绍和使用:一个Python文本建模库
Gensim详细介绍和使用:一个Python文本建模库
15 1
|
8天前
|
数据可视化 Python
python中Copula在多元联合分布建模可视化2实例合集|附数据代码
python中Copula在多元联合分布建模可视化2实例合集|附数据代码
|
8天前
|
安全 数据安全/隐私保护 Python
Python的整型在计算中具有以下优势
【5月更文挑战第6天】Python整型提供任意精度整数计算,无溢出风险;支持多种算术运算,操作简便;作为不可变类型保证数据安全;能进行高级数学运算,并有NumPy等库加持,适合数值分析和科学计算。
18 0
|
8天前
|
Python
Python的整型在计算中的精度可以通过使用二进制或十进制表示来体现
【5月更文挑战第6天】Python整型支持十、二、八、十六进制表示,其中十进制默认,二进制(0b前缀)、八进制(0o前缀)、十六进制(0x前缀)。计算时以二进制精度处理,确保结果准确。例如:123的二进制是0b1111011,八进制是0o173,十六进制是0x7b。
13 0
|
14天前
|
资源调度 数据可视化 数据挖掘
Python用PyMC贝叶斯GLM广义线性模型、NUTS采样器拟合、后验分布可视化
Python用PyMC贝叶斯GLM广义线性模型、NUTS采样器拟合、后验分布可视化
|
19天前
|
Python
Python计算股票投资组合的风险价值(VaR)
Python计算股票投资组合的风险价值(VaR)