toppic
当前位置: 首页> 穿越小说> 推荐——《统计思维:程序员数学之概率统计(第2版)》

推荐——《统计思维:程序员数学之概率统计(第2版)》

2021-01-23 08:04:10

推荐语

Flask是一个使用Python编写的轻量级Web应用框架。基于Werkzeug WSGI工具箱和Jinja2 模板引擎。 Flask也被称为“microframework”,因为它使用简单的核心,用extension增加其他功能。这本《Flask Web开发是一本很棒的学习Flask Web开发的书。

汇智网已经为这本书匹配了专门的在线学习环境,书中示例代码也已经在线提供,希望能够帮助大家更好的学习。


网址: http://xb.hubwiz.com/


前言

本书介绍探索性数据分析的实用工具,书中章节按照我自己处理数据集时遵循的步骤进行组织。

  • 导入和清洗:无论数据格式如何,我们通常都需要花费一些时间和精力进行数据的读取、清洗和变换,并进行检查,以确保在此过程中信息完好无损。

  • 单变量探索:通常情况下,我会首先逐个检查变量,弄清变量的意义,分析变量值的分布,选择合适的汇总统计量。

  • 成对探索:为了发现变量之间的关系,我会分析表格和散点图,计算相关性并进行线性拟合。

  • 多变量分析:如果变量之间存在明显关系,我就要使用多元回归以增加控制变量,从而研究更复杂的关联关系。

  • 估计和假设检验:在汇报统计结果时,有3个重要问题需要回答。效应规模如何?再次运行同一测量时,预期的变化性有多大?这个明显的效应是否可能是偶然产生的?

  • 可视化:在数据探索中,可视化是寻找可能关系和效应的一个重要工具。如果一个明显的效应是统计显著的,那么可视化可以帮助我们有效地展示结果。

本书采用的是计算方法。相比数学方法,计算方法具有如下优点。

  • 大多数概念用Python代码进行展示,而非数学符号。总体而言,Python代码的可读性更好,而且这些代码是可执行的,读者可以下载、运行并进行修改。

  • 每一章都附有练习,可以帮助读者扩展并巩固知识。编写程序时,你把自己对知识的理解表达为代码;调试代码时,这些理解也可以得到修正。

  • 一些练习使用了实验检验统计行为。例如,你可以通过生成随机样本并计算它们的总和来探索中心极限定理(Central Limit Theorem,CLT)。练习得到的可视化结果展示了CLT的工作原理及适用条件。

  • 一些概念很难从数学角度进行理解,却很容易通过模拟掌握。例如,通过运行随机模拟对 p 值进行近似,可以增强我们对 p 值含义的理解。

  • 由于本书使用通用编程语言(Python),因此读者几乎可以从任何数据源导入数据,而不必受限于使用特定统计工具进行了清洗和格式化的数据集。

本书使用基于项目的方法。在我的课堂上,学生需要完成一个为期一个学期的项目。在项目中,学生要提出一个统计问题,寻找可以解决这个问题的数据集,并将学到的各种技术应用于这个数据集。

为了展示我采用的统计分析方法,本书将介绍一个贯穿各章的案例。这个案例使用的数据来自以下两方面资源。

  • 全国家庭增长调查(National Survey of Family Growth,NSFG),这一调查由美国疾病控制和预防中心(Center for Disease Control and Prevention,CDC)开展,以收集“与家庭生活、婚姻状况、妊娠情况、生育情况、避孕情况,以及两性健康相关的信息”。参见http://cdc.gov/nchs/nsfg.htm

  • 行为危险因素监测系统(Behavioral Risk Factor Surveillance System,BRFSS),由国家慢性病预防和健康促进中心(National Center for Chronic Disease Prevention and Health Promotion)主持,以“跟踪美国的健康状况及风险行为”。参见http://cdc.gov/BRFSS/

其他示例使用的数据来自美国国税局(IRS)、美国人口普查(U.S. Census)及波士顿马拉松赛(Boston Marathon)。

《统计思维》的第2版包含了第1版的各章,但对其中很多内容进行了大幅修改,并新增了关于回归、时间序列分析、生存分析和分析方法的章节。本书第1版没有使用pandas、SciPy和StatsModels,所以这些内容也都是新增的。

本书代码

本书使用的代码和数据都可从GitHub(htts://github.com/AllenDoweny/ThinkStats2)下载。Git是一个版本管理系统,可以对项目文件进行跟踪。受Git管理的文件集称为代码库(repository)。GitHub是一项托管服务,可以存储Git代码库,并提供一个便于使用的Web接口。

我的GitHub主页提供以下几种使用代码的方法。

  • 你可以点击Fork按钮,在GitHub上创建该代码库的副本。如果你还没有GitHub账号,就需要创建一个。创建副本之后,你就在GitHub上拥有了自己的代码库,可以跟踪学习本书时编写的代码。之后你可以复制这个代码库,即将文件复制到自己的计算机上。

  • 或者,你也可以复制我的代码库。这一操作不需要GitHub账号,但是你对代码所做的修改无法写回GitHub。

  • 如果你完全不想使用Git,那么可以点击GitHub页面右下角的按钮,下载文件的Zip包。

本书所有代码都无需翻译即可在Python 2和Python 3中直接运行。

编写本书代码时,我使用的是Continuum Analytics的Anaconda,这是一个免费的Python版本,其中带有运行本书代码所需的所有软件包(还有很多其他包)。Anaconda很容易安装。默认情况下,Anaconda进行用户级而非系统级安装,因此不需要管理员权限。Anaconda同时支持Python 2和Python 3,你可以从Continuum(http://continuum.io/downloads)进行下载。

如果你不想使用Anaconda,那么需要安装以下软件包。

  • pandas,进行数据的表示和分析。下载地址为:http://pandas.pydata.org/

  • NumPy,支持基本的数字运算。下载地址为:http://www.numpy.org/

  • SciPy,进行科学计算,包括统计运算。下载地址为:http://www.scipy.org/

  • StatsModels,进行回归分析和其他统计分析。下载地址为:http://statsmodels.sourceforge.net/

  • matplotlib,支持可视化。下载地址为:http://matplotlib.org/

虽然这些都是常用软件包,但并不是所有的Python安装都包含这些包,而且在有些环境下很难进行安装。如果你无法安装这些包,我强烈建议你使用Anaconda,或者包含这些包的其他Python版本。

当你复制完代码库或者将Zip包解压后,会得到一个名为ThinkStats2/code的文件夹,其中有一个nsfg.py文件。运行nsfg.py会读取一个数据文件,运行一些测试,并输出一条消息,如“All tests passed”。如果你得到的是import error,可能是因为缺少某些必要的软件包。

本书的大部分练习都使用Python脚本,但也有一些使用IPython记事本。如果你之前没有用过IPython记事本,可以访问文档http://ipython.org/ipython-doc/stable/notebook/notebook.html得到帮助。

本书读者应该熟悉Python的核心功能,包括面向对象的特征,但无需具备pandas、NumPy和SciPy知识。如果你已经熟知这些模块,可以跳过一些相关小节。

本书读者应该了解基本的数学知识,例如对数和求和。本书中有几处会涉及微积分概念,但你无需进行微积分运算。

如果你从未学习过统计学,本书会是一本很好的入门教材。如果你学习过传统的统计学课程,那么我希望本书能够修正你过去接受的一些错误观点。

Allen B. Downey是一位计算机科学教授,。




我们已开通会员服务,希望大家鼎力支持。

Web前端都学点儿啥?

程序员不要烦!


最新书单:

《Flask Web开发》

《PostgreSQL即学即用(第2版)》

《JavaScript设计模式与开发实践》

深入浅出Node.js》



汇智网内容已经覆盖以下编程技术,发送相应的文字会收获相关课程信息:

Node.jsMongoDB、JavaScript、C、C#、PHP、Python、AngularjsIonic、React、UML、redis、mySQL、Nginx、CSS、HTML、Bootstrap、Flask、Gulp、Mocha、Git、Meteor、Canvas、zebra、Typescript、Material Design Lite、ECMAScript、Elasticsearch、Mongoose、jQuery、d3.js、django、cheerioSVG、phoneGap、jQueryMobile、Saas、YAML、Vue.js、webpack、Firebird,jQuery Easy UI,ruby,asp.net,c++,Express......



友情链接