4

统计学关我什么事?

 3 years ago
source link: https://mp.weixin.qq.com/s?__biz=MzA4ODE2OTIxMw%3D%3D&%3Bmid=2653477214&%3Bidx=1&%3Bsn=1cabf4ec738fb7ab509b46f1639dcda7
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

你好,我是林骥。

最近,我正在读《统计学关我什么事》这本书,副标题是:生活中的极简统计学,作者小岛宽之,是日本的经济学博士,知名的数学随笔作家。

UzARVrB.jpg!mobile

这是一本关于「 贝叶斯统计学 」的超级入门书,其中没有复杂的公式,作者运用简单的「面积图」和四则运算, 就把复杂的统计学理论,讲得简单、生动、有趣,我认为值得学习。

1. 一个例子

书中举了一个很有趣的例子,假如有位女同事给你送了一盒巧克力,你推测她把你当成「真命天子」的概率有多大?

根据贝叶斯推理的方法,只需要简单的 3 步,就能算出这个概率。

第 1 步

先假设女同事把你当成「真命天子」的概率为10%,这个概率可以根据自己的主观感受进行修改;

第 2 步

通过调查统计知道,职场女性对「真命天子」送出巧克力的平均概率为42.5%,对「无关路人」送出巧克力的平均概率为22%;

第 3 步

根据女同事送巧克力的行为,计算她把你当成「真命天子」的概率 = 10%*42.5% / (10%*42.5% + 90%*22%) =  17.67%

也就是说,当你认为女同事对你有意思的可能性比较低时,即使她送了巧克力给你,也只是增加了她对你有意思的概率,但并不能因此说明她对你真的有意思。

2. 矩阵树图

为了直观地展现上述推理过程的概率分布情况,我用 pyecharts 制作了一张矩阵树图:

# 导入库
from pyecharts import options as opts
from pyecharts.charts import TreeMap
from pyecharts.globals import ThemeType 
 
# 真命天子的概率
a = 0.1
# 无关路人的概率
b = 1 - a
# 送给真命天子的概率
c = 0.425
# 不送真命天子的概率
d = 1 - c
# 送给无关路人的概率
e = 0.22
# 不送无关路人的概率
f = 1 - e
 
# 定义数据
data = [
    {
        "value": 100, 
        "name": "后验概率",
        "children": [
            {
                "value": 100,
                "name": "送巧克力",
                "children": [
                    {"value": round(a*c/(a*c+b*e)*100,2), "name": "送给真命天子"},
                    {"value": round(b*e/(a*c+b*e)*100,2), "name": "送给无关路人"},
                ],
            }
        ],
    },
    {
        "value": 100,
        "name": "先验概率",
        "children": [
            {
                "value": 100,
                "name": "条件概率",
                "children": [
                    {"value": round(a*c*100,2), "name": "送给真命天子"},
                    {"value": round(a*d*100,2), "name": "不送真命天子"},
                    {"value": round(b*e*100,2), "name": "送给无关路人"},
                    {"value": round(b*f*100,2), "name": "不送无关路人"},
                ],
            }
        ],
    },
]
 
# 绘制矩形树图
c = (
    TreeMap(init_opts=opts.InitOpts(width='800px', height='800px', theme=ThemeType.LIGHT))
    .add("推测送巧克力的女同事的心意", 
         data,
         levels=[
            opts.TreeMapLevelsOpts(
                treemap_itemstyle_opts=opts.TreeMapItemStyleOpts(
                    border_color="#00589F", border_width=4, gap_width=4
                )
            ),
            opts.TreeMapLevelsOpts(
                color_saturation=[0.3, 0.5],
                treemap_itemstyle_opts=opts.TreeMapItemStyleOpts(
                    border_color_saturation=0.7, gap_width=2, border_width=2
                ),
            ),
            opts.TreeMapLevelsOpts(
                color_saturation=[0.3, 0.5],
                treemap_itemstyle_opts=opts.TreeMapItemStyleOpts(
                    border_color_saturation=0.6, gap_width=1
                ),
            ),
            opts.TreeMapLevelsOpts(color_saturation=[0.3, 0.5]),
        ],
    )
    .set_global_opts(title_opts=opts.TitleOpts(
        title="推测送巧克力的女同事的心意,她把你当成真命天子的概率是"+'%.2f%%' % (a*c/(a*c+b*e)*100),
        pos_left="center", pos_top="30",
    ))
    .render("推测送巧克力的女同事的心意.html")
)

运行结束之后,用浏览器打开新生成的 HTML 文件,就能看到一个矩阵树图。

VrEvmqa.png!mobile

你可以自己修改代码中的概率数据,运行得到不同的计算结果,甚至可以做成动态变化的图,动态展现概率的变动。

你也可以把上面制作矩阵树图的方法,应用到其他的工作场景,比如说,替换掉那些分类比较多的饼图。

3. 小结

贝叶斯推理的魅力和优势在于,即使没有事前的客观数据,也能根据主观判断进行推算。

而且在数据比较少的情况下,也可以应用贝叶斯推理,当数据越多,推测的结果就越准确。

把有用的知识,与有趣的场景相结合,这是我个人比较喜欢的一种学习方法,我曾经写过一篇文章: 如何用人工智能算出美不美 ,从生活中的一段对话开始,引出了使用「K-近邻算法」实现分类预测的代码,并给出了图形化的运行结果。

知识的分享,最好能既有用又有趣,这样效果更好,而且让人更容易坚持下去。

随着因特网技术的的发展,贝叶斯统计在商业领域得到了成功的应用。

比尔·盖茨曾经说过:

微软之所以在激烈的市场竞争中胜出,正是由于采用了贝叶斯统计。

世界上有很多著名的投资人,包括巴菲特在内,都在运用「贝叶斯统计」的方法。

我认为运用贝叶斯统计的核心理念,就是持续去做大概率正确的事情,日积月累,成功的概率就会越来越大。

长按下方的二维码,关注林骥的公众号,更多干货早知道。

E3quiyU.png!mobile

欢迎加入我的 免费 知识星球,点击左下角的 阅读原文 即可加入。

如果你觉得文章对你有帮助或启发,麻烦你动动手指支持鼓励一下, 分享、收藏、点赞、在看, 谢谢!

☟分享  ☟收藏     :blue_heart:     点赞 ☟ 在看


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK