python与统计学(未完待续)

前言

这篇文章结合我自己的知识以及Google和IBM的认证进行分享,感谢你的阅读与讨论,不足之处请指正。

基础知识

AB测试

公司使用A/B测试来评估从网站设计到移动应用、在线广告和营销邮件等一切内容。A/B测试是一种比较两个版本的方法,以找出哪个版本的性能更好。A/B测试因其在许多在线应用程序中的良好表现而变得流行。例如,企业经常使用A/B测试创建两个网页版本,以找出哪个版本获得更多的点击量、购买量或订阅量。即使是网页的微小变化,如更改按钮的颜色、大小或位置,也可以增加财务收益。A/B测试有助于企业领导优化产品性能并改善客户体验。公司另一种使用A/B测试的方法是通过营销邮件。您可以向客户列表发送两个版本的邮件,以找出哪个版本能产生更多的销售,或者您可以测试两个版本的在线广告,以发现哪个版本的访问者更常点击。一旦你进行了A/B测试,你就可以使用数据来对你的广告进行永久性的更改。让我们逐步通过一个A/B测试的示例来了解它的工作方式。假设你经营一家在线商店,网站的10%访客会购买商品。你想进行一项A/B测试,以找出将购物车按钮的大小更改是否会增加转化率或购买产品的客户百分比。该测试向从访问网站的所有用户中随机选择的一组用户展示两个版本的网页,即版本A和版本B。版本A是原始网页。版本B是具有更大购物车按钮的网页。测试将一半的用户引导至版本A,另一半引导至版本B。测试持续两周。测试结束后,对结果的统计分析表明,版本B中更大的按钮导致购买量增加。版本B的另一个关键的统计概念是假设检验。在 A/B 测试中,我们通常会提出两个假设:零假设和备择假设。零假设是指没有变化或效应的假设,备择假设是指存在变化或效应的假设。在上面的例子中,零假设是更大的购物车按钮没有影响购买率,备择假设是更大的购物车按钮会增加购买率。统计学家通过计算概率和统计量来确定假设是否成立。如果结果非常不可能出现在零假设下,我们会拒绝零假设,并接受备择假设。这意味着更大的购物车按钮确实会增加购买率。如果结果有可能出现在零假设下,我们将无法拒绝零假设。这意味着更大的购物车按钮可能并没有实际影响购买率。

描述统计和推断统计

描述性统计用于描述或总结数据集的主要特征,这对于快速了解大量数据非常有用。数据专业人员通常使用可视化和汇总统计量这两种方法来实现描述性统计。在可视化方面,我们可以使用直方图、散点图和箱线图等图表来帮助探索、可视化和分享数据。而在汇总统计方面,我们可以使用中心趋势和离散度的度量来描述数据集。比如平均值和标准差就是常用的度量。
推断性统计用于在数据的基础上进行结论和预测。它允许数据专业人员通过对样本数据的分析来对总体数据进行推断。总体数据指的是我们有兴趣衡量的所有可能元素,例如人、物体或事件等。而样本数据是从总体数据中抽取的一个子集。数据专业人员使用样本来对总体数据进行推断和预测。
在样本和总体之间,还有两个相关的术语,即参数和统计量。参数是总体的特征,统计量是样本的特征。例如,整个长颈鹿种群的平均身高是一个参数,而100只随机选出的长颈鹿的平均身高是一个统计量。当我们无法对整个总体进行研究时,可以使用样本统计量来估算总体参数的未知值。

概率分布

简介

在我作为NLP算法工程师的一些工作中,我使用概率分布来模拟不同种类的数据集,并识别我的数据中的显著模式。概率分布描述了随机事件可能结果的可能性。概率分布可以表示简单随机事件的可能结果。例如掷硬币或掷骰子。它们也可以表示更复杂的事件,例如新药物成功治疗医疗条件的概率。随机变量表示随机事件可能结果的值。有两种类型的随机变量:离散和连续。离散随机变量具有可数的可能值。通常,离散变量是可以计数的整数。例如,如果您掷骰子五次,您可以计算骰子落在2上的次数。如果您掷硬币五次,您可以计算它落在正面的次数。连续随机变量在一定范围内取所有可能的值。当涉及连续变量时,您处理的是小数值而不是整数。例如,介于一和二之间的所有小数值,例如1.1、1.12、1.125等等。这些值是不可数的,因为在一和二之间可能的小数值数量没有限制。通常这些是可以测量的小数值,例如身高、体重、时间或温度。例如,如果您测量一个人或物体的高度,您可以不断地使您的测量更加准确。一个人的身高可能是70.2英寸,70.23英寸,70.237英寸,70.2375英寸等等。可能的值的数量没有限制。一个变量是离散的还是连续的并不总是立即明显。为了在两者之间选择,您可以使用以下一般指导原则。如果您可以计算您正在处理的结果次数,则使用离散随机变量。例如,计算硬币落在正面的次数。如果您可以测量结果,则使用连续随机变量。例如,测量一个人跑马拉松所需的时间。现在我们已经探索了随机变量,让我们返回概率分布的主题,描述了随机变量的每个可能值的概率。离散分布表示离散随机变量,连续分布表示连续随机变量。一旦您知道随机变量的样本空间,您就可以为每个可能值分配概率。在这个特定的分布是由一组参数来描述的,这些参数控制了分布的形状和位置。在此处,我们只讨论两个最常见的分布:正态分布和均匀分布。
正态分布,也称为高斯分布,是连续随机变量的常见概率分布。许多自然现象,如人类身高和智力得分,都可以使用正态分布来描述。正态分布可以由两个参数来描述:均值和标准差。均值决定了分布的中心位置,标准差控制了分布的形状。正态分布的形状是一个钟形曲线,其中大多数值集中在均值附近,而较远离均值的值的概率较小。
均匀分布是另一个常见的连续概率分布,其中所有可能的值具有相等的概率。例如,如果您随机选择一个介于0和1之间的数字,每个数字的概率都是相等的。均匀分布可以由两个参数来描述:最小值和最大值。均匀分布的形状是一条水平线,表示所有值的概率相等。
除了这些常见的分布之外,还有许多其他分布,包括二项分布,泊松分布,指数分布和伽马分布等。每个分布都有其独特的属性和用途,具体取决于您试图模拟或分析的数据。
总之,概率分布是描述随机事件可能结果的概率的方法。对于离散随机变量,您可以使用离散概率分布,如二项式分布和泊松分布。对于连续随机变量,您需要使用连续概率分布,如正态分布和均匀分布。了解这些分布及其用途将有助于您更好地理解和分析数据。

The binomial distribution

二项分布是一种离散分布,用于模拟仅具有两种可能结果(成功或失败)的事件的概率。这个定义假定每个事件都是独立的,即不影响其他事件的概率,并且每个事件的成功概率相同。例如,二项分布适用于连续10次掷同一个硬币的事件。需要注意的是,成功和失败是用于方便的标签。例如,每次掷硬币只有两种可能的结果,正面或反面。根据你的分析需要,你可以选择将正面或反面标记为成功的结果。无论你对结果应用什么标签,重要的是要知道它们必须是相互排斥的。作为一个快速的回顾,如果两个结果不能同时发生,则它们是互斥的。在单次硬币掷出中,你不能同时得到正面和反面,只能得到其中之一。数据专业人员使用二项分布来模拟不同领域的数据,例如医学、银行、投资和机器学习。例如,数据专业人员使用二项分布来模拟新药物产生副作用的概率、信用卡交易是否存在欺诈行为或股价升降的概率。在机器学习中,二项分布通常用于对数据进行分类。例如,数据专业人员可能会训练算法来识别数字图像是否是猫。二项分布表示了一种称为二项实验的随机事件类型。二项实验是一种随机实验。你可能记得,随机实验是一种结果不能被确定的过程。所有随机实验都有三个共同点。实验可以有多个可能的结果。你可以事先表示每个可能的结果,实验的结果取决于机会。另一方面,二项实验具有以下属性。实验由多个重复试验组成。每次试验只有两种可能的结果。成功的概率对于每次试验都相同,每次试验都是独立的。一个抛掷硬币10次的实验就是一个二项实验。
概率论中,数学期望(或均值)是随机变量取值的加权平均值,权重为每个取值出现的概率。对于二项分布,它的期望值为 n p np np,其中 n n n 是试验次数, p p p 是每次试验中成功的概率。因此,如果你抛掷一枚硬币十次,期望值为 10 × 0.5 = 5 10 \times 0.5 = 5 10×0.5=5,也就是预计有五次正面朝上。
除了期望值,二项分布还有一个重要的概念是方差。方差是用来衡量随机变量取值分散程度的统计量。对于二项分布,它的方差为 n p ( 1 − p ) np(1-p) np(1p)。例如,如果你抛掷一枚硬币十次,每次试验成功的概率为 0.5 0.5 0.5,那么方差为 10 × 0.5 × ( 1 − 0.5 ) = 2.5 10 \times 0.5 \times (1-0.5) = 2.5 10×0.5×(10.5)=2.5。方差越大,随机变量的取值就越分散。
总之,二项分布是一个用于建模仅有两种可能结果的随机事件(如成功或失败)的离散概率分布。它适用于重复试验的场景,其中每次试验都是相互独立的,并且每次试验成功的概率相同。它的应用非常广泛,包括医学、银行、投资和机器学习等领域。

The Poisson distribution

泊松分布是一种概率分布,用于建模在特定时间段内发生某个事件的概率。泊松分布还可以用于表示在特定空间(如距离、面积或体积)内发生的事件数量,但在本文中,我们将专注于时间。法国数学家巴龙·西梅昂·丹尼·泊松最初在1830年推导出泊松分布。他开发了这个分布来描述赌徒在大量尝试中赢得困难游戏的次数。数据专业人员使用泊松分布来模拟数据,例如客服呼叫中心每小时的预期呼叫次数、网站每小时的访问次数、餐厅每天的客流量和城市每月的强风暴次数。泊松分布代表了一种称为泊松试验的随机实验。泊松试验具有以下属性:实验中的事件数可以计数。在特定时间段内发生的事件的平均次数已知,且每个事件是独立的。让我们来看一个例子。假设你是一名为一家快餐连锁店工作的数据专业人员。你知道该店的驱动器服务平均每分钟接收两个订单。你想确定餐厅在给定时间内收到一定数量订单的概率。这是一项泊松试验,因为可以计数实验中的事件数。你可以计算订单的数量。在特定时间段内发生的事件的平均次数已知。每个结果是独立的。一个人下订单的概率不会影响另一个人下订单的概率。一旦知道正在使用泊松分布,就可以应用泊松分布公式来计算概率。简而言之,该公式帮助您确定在特定时间段内发生一定数量的事件的概率。在此公式中,希腊字母λ表示在特定时间段内发生的事件的平均数量。k表示事件的数量。e是一个常数,约等于2.71828。叹号表示阶乘。公式如下:
P(X=k) = (λ^k / k!) * e^(-λ)

The normal distribution

正态分布是一种连续概率分布,其曲线形状呈钟形,均值位于曲线中心,两侧对称,曲线下方的面积为1。我们可以使用正态分布来描述和预测许多不同类型的数据集,包括身高、体重、收入、成绩等。了解正态分布对于进一步学习统计学和机器学习非常重要,因为许多方法都建立在正态分布的基础上。公式如下:
在这里插入图片描述
z分数是数据点距离总体平均数多少个标准差。z分数给您一个数据点离平均值有多远的概念。例如,如果值等于平均值,则z分数为0。如果值大于平均值,则z分数为正数。如果值小于平均值,则z分数为负数。z分数可以帮助您对数据进行标准化。在统计学中,标准化是将不同的变量放在相同的尺度上的过程。稍后将介绍此过程的公式。z分数也称为标准分数,因为它们基于所谓的标准正态分布。标准正态分布是均值为0,标准差为1的正态分布。z分数通常从-3到+3。标准化很有用,因为它可以让您比较具有不同单位、平均值和标准差的不同数据集的分数。数据专业人员使用z分数来更好地了解单个数据集内和不同数据集之间的数据值之间的关系。例如,数据专业人员经常使用z分数进行异常检测,以找出数据集中的异常值。异常检测的应用包括在金融交易中查找欺诈行为,在制造产品中找出缺陷,在计算机网络中找出入侵等。例如,不同的客户满意度调查可能具有不同的评分标准。一个调查可能将产品或服务评分从1到20,另一个从500到1,500,第三个从130到180。假设同一个产品在第一个调查中得分为9,在第二个调查中得分为850,在第三个调查中得分为142。这些数字本身并没有多大意义,但如果您知道它们都具有z分数为1,即高于平均值一个标准差,您可以有意义地比较不同调查中的评分。
你可以使用以下公式来计算z分数:Z等于X减去μ除以σ。在这个公式中,x指的是单个数据值或原始分数。希腊字母μ表示总体平均值。希腊字母σ表示总体标准偏差。因此,我们也可以说Z等于原始分数或数据值减去平均值再除以标准偏差。例如,假设你参加了一次标准化考试,你的考试得分是133。这个考试的平均分是100,标准偏差是15。在假定正态分布的情况下,你可以使用公式计算你的z分数。你的z分数是你的原始分数,即133减去平均分数100再除以标准偏差15。这是133减去100除以15等于33除以15等于2.2。你的z分数为2.2告诉你,你的考试得分比平均得分高出了2.2个标准偏差,也就是说你的得分很好。请注意,经验法则告诉你,95%的值都落在平均值的两个标准偏差之内。你的得分为2.2,超过了平均值的两个标准偏差。z分数很有用,因为它们让我们了解一个单独的值与分布的其余部分相比如何。让我们考虑一场不同的考试,它有不同的分级标准。假设你的分数是85,你想知道相对于班上其他人而言,这是否是一个好成绩。无论它是否是一个好成绩,都取决于所有考试分数的平均值和标准差。假设考试分数服从正态分布,平均分为90,标准偏差为4,你可以使用公式计算85分的原始分数的z分数。你的z分数是你的原始分数85减去平均分数90再除以标准偏差4。这是85减去90除以4等于-5,除以4等于1.25。你的z分数为-1.25告诉你,你的85分考试成绩比平均分低了1.25个标准偏差。

Python中的概率基本概念(这个相对于我们这行重要)

我们将使用pandas和numpy进行操作,使用matplotlib进行绘图。除了pandas、numpy和matplotlib外,您还将使用两个可能对您来说是新的Python包:SciPy stats和Statsmodels。SciPy是一个开源软件,可用于解决数学、科学、工程和技术问题。它允许您使用各种Python命令来操作和可视化数据。SciPy stats是一个专门用于统计的模块。Statsmodels是一个Python包,让您探索数据、使用统计模型和执行统计测试。它包括一个广泛的统计函数列表,适用于不同类型的数据。

导包以及初始操作(数据集直接百度就有)

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import stats
import statsmodels.api as sm
education_districtwise = pd.read_csv("education_districtwise.csv")
education_districtwise = education_districtwise.dropna()

数据分析

经验法则
由于正态分布似乎是区域识字率数据的一个很好拟合,你可以期望经验法则相对适用。回想一下,经验法则指出,对于正态分布:
68%的值在平均值的+/- 1个标准差内
95%的值在平均值的+/- 2个标准差内
99.7%的值在平均值的+/- 3个标准差内
(注意:“SD”代表标准差)
换句话说,你可以预期:
68%的区域识字率将在平均值的+/- 1个标准差内
95%的区域识字率将在平均值的+/- 2个标准差内
99.7%的区域识字率将在平均值的+/- 3个标准差内
首先,命名两个新变量,用于存储区域识字率的平均值和标准差:mean_overall_li和std_overall_li。

mean_overall_li = education_districtwise['OVERALL_LI'].mean()
std_overall_li = education_districtwise['OVERALL_LI'].std()

我下载的数据集结果分别是:73.39518927444797和10.098460413782469
回想一下,z分数是一个测量数据点在总体平均值下面或上面多少个标准偏差的度量。z分数很有用,因为它告诉你一个值在分布中所处的位置。
数据专业人员通常使用z分数进行异常值检测。通常,他们认为z分数小于-3或大于+3的观测值是异常值。换句话说,这些值距离平均值超过+/- 3个标准偏差。
为了找到数据中的异常值,首先创建一个名为Z_SCORE的新列,其中包含数据集中每个地区读写能力率的z分数。回想一下,OVERALL_LI列列出了所有地区读写能力率。
然后,使用函数scipy.stats.zscore()计算z分数。

education_districtwise[(education_districtwise['Z_SCORE'] > 3) | (education_districtwise['Z_SCORE'] < -3)]

假设检验

假设检验是用来判断样本数据是否支持一个假设的方法。在统计学中,我们经常需要比较两个或多个总体参数的值。例如,你可能想知道一种新的药物是否比现有的药物更有效。为了回答这个问题,你需要进行一个实验来比较两个药物的效果。在实验中,你会从两个不同的总体中各选取一些样本,并比较这些样本的平均值或比例。在比较之前,你需要提出一个假设:新药是否比现有药物更有效。这个假设被称为原假设。一般情况下,原假设是指样本与两个总体没有显著差异。然后,你会收集足够的数据来计算统计量,比如t值或z值,以确定样本数据是否支持原假设。如果你的数据表明,新药物比现有药物更有效,你可以拒绝原假设,接受你的备择假设:新药物确实比现有药物更有效。如果你的数据没有支持原假设,你就不能拒绝它,也就是说,你不能确定是否有足够的证据来表明两种药物之间有显著差异。
为了进行假设检验,你需要了解如何计算p值。p值是一个统计量,它衡量样本数据与原假设的相似度。如果p值很小,这意味着你的样本数据与原假设不一致,你可以拒绝原假设。一般来说,当p值小于0.05时,我们通常认为有足够的证据来拒绝原假设。但是,这个阈值并不是绝对的,它取决于很多因素,比如样本大小、效应大小和假设检验的类型。因此,在进行假设检验时,你需要考虑许多因素,不仅仅是p值。
让我们概述执行假设检验的步骤。首先,陈述零假设和备择假设。其次,选择显著性水平。第三,找到P值,第四,拒绝或不拒绝零假设

置信区间

置信区间是统计学中最被误解的概念之一。由于这是一个复杂的话题,新生和经验丰富的研究人员有时会对置信区间发表不准确的声明。让我们来看一个例子。假设你是一家大城市城市规划公司的数据专业人士。市政府要求您的团队设计新的公园和步道,以红枫树为特色。为了规划目的,您的经理要求您估计城市中所有红枫树的平均高度,大约有10,000棵树。您没有测量每棵树,而是收集了50棵树的样本。样本的平均高度为50英尺,标准偏差为7.5英尺。基于95%的置信水平,您计算出一个平均高度的置信区间,该区间伸展在48英尺至52英尺之间。这个区间估计将帮助您的团队设计符合城市景观法规的新公园和步道。此时,您可能会想知道选择95%置信水平和说您对区间估计有95%的信心意味着什么?早些时候,您了解到置信水平表达了估计过程的不确定性。让我们从更技术的角度来谈谈这意味着什么。95%的置信水平意味着如果您从人群中重复随机抽取样本并使用相同方法为每个样本构建置信区间。您可以期望95%的这些区间将捕获人群平均值。您还可以期望总数的5%将不捕获人口平均值。在实践中,数据专业人员通常选择一个随机样本并生成一个置信区间,该区间可能包含实际均值,也可能不包含。这是因为重复随机抽样通常很困难、昂贵且耗时。置信区间为数据专业人员提供了一种量化由于随机抽样而导致的不确定性的方法。

猜你喜欢

转载自blog.csdn.net/GodGump/article/details/130149410