京公网安备 11010802034615号
经营许可证编号:京B2-20210330
在我以前的文章初学者数据科学统计指南和推断统计数据科学家应该知道中,我们讨论了几乎所有的统计基本知识(描述性和推断性),它们通常用于理解和处理任何数据科学案例研究。在这篇文章中,让我们稍微超越一下,讨论一些不在讨论范围内的高级概念。
在了解QQ剧情之前,先了解什么是分位数?
分位数定义了数据集的特定部分,即分位数决定了一个分布中有多少值高于或低于某个极限。特殊分位数是四分位数(四分之一)、五分位数(第五分)和百分位数(第一百分)。
示例:
如果我们把一个分布分成四个相等的部分,我们就说四个四分位数。第一个四分位数包括小于所有值四分之一的所有值。在图形表示中,它对应于分布总面积的25%。两个较低的四分位数占所有分布值的50%。第一个四分位数和第三个四分位数之间的四分位数范围等于围绕平均值分布的所有值的50%所在的范围。
在统计学中,q-q(分位数-分位数)图是通过将两组分位数相对于另一组绘制而形成的散点图。如果两组分位数来自相同的分布,我们应该看到这些点形成了一条大致直线(y=x)。
例如,中位数是一个分位数,其中50%的数据低于该点,50%位于该点之上。Q Q图的目的是找出两组数据是否来自相同的分布。在Q Q图上绘制45度角;如果两个数据集来自一个共同的分布,那么点将落在那个参考线上。
对于你来说,了解分布是否正常是非常重要的,以便对数据应用各种统计度量,并以更易于理解的可视化方式解释数据,它们的Q-Q图就出现在画面中。Q-Q图回答的最基本的问题是曲线是否正态分布。
正态分布,但为什么?
Q-Q图用于寻找随机变量的分布类型,无论是高斯分布,均匀分布,指数分布,甚至帕累托分布等。
你可以用Q-Q图的幂来判断分布的类型,只需看一下图就可以了。一般来说,我们谈论正态分布只是因为我们有一个非常漂亮的概念,即68-95-99.7规则,它完美地符合正态分布,所以我们知道有多少数据位于均值的第一标准差、第二标准差和第三标准差的范围内。因此,知道一个分布是否正态为我们打开了新的尝试之门
Q-Q图可以找到分布的偏度(不对称的度量)。
如果Q-Q图的底端偏离直线,但上端不偏离直线,则分布左偏斜(负偏斜)。
现在,如果Q-Q图的上端偏离星光线,而下端不偏离,那么分布右偏(正偏)。
Q-Q图可以找到分布的峰度(尾度的度量)。
带有胖尾的分布将使Q-Q图的两端偏离直线,其中心跟随直线,其中作为细尾分布,将在两端偏差很小或可忽略不计的Q-Q图项,从而使其完美地适合于正态分布。
假设我们有以下100个值的数据集:
array([ 1.76405235, 0.40015721, 0.97873798, 2.2408932 , 1.86755799,
-0.97727788, 0.95008842, -0.15135721, -0.10321885, 0.4105985 ])
要为该数据集创建Q-Q图,我们可以使用statsmodels库中的qqplot()函数:
import statsmodels.api as sm import matplotlib.pyplot as plt #create Q-Q plot with 45-degree line added to plot fig = sm.qqplot(data, line='45') plt.show()
在Q-Q图中,X轴显示理论分位数。这意味着它不会显示您的实际数据,而是表示如果数据是正态分布的数据将在哪里。
y轴显示您的实际数据。这意味着,如果数据值沿45度角的大致直线下降,那么数据是正态分布的。
我们可以在上面的Q-Q图中看到,数据值倾向于密切遵循45度,这意味着数据很可能是正态分布的。这并不奇怪,因为我们使用numpy.random.normal()函数生成了100个数据值。
相反,如果我们生成了一个由100个均匀分布的值组成的数据集,并为该数据集创建了一个Q-Q图:
#create dataset of 100 uniformally distributed values data = np.random.uniform(0,1, 1000) #generate Q-Q plot for the dataset fig = sm.qqplot(data, line='45') plt.show()
In probability, Chebyshev’s Inequality, also known as “Bienayme-Chebyshev” Inequality guarantees that, for a wide class of probability distributions, only a definite fraction of values will be found within a specific distance from the mean of a distribution.
切比雪夫不等式类似于经验规则(68-95-99.7);但是,后一规则只适用于正态分布。切比雪夫的不等式范围更广;它可以应用于任何分布,只要分布包括一个定义的方差和均值。
因此,切比雪夫不等式说,样本中的数据至少(1-1/k^2)必须落在均值的k标准差内(或者等价地,分布的值不能超过均值的1/k^2标准差)。
其中k-->正实数
如果数据不是正态分布的,那么不同数量的数据可能在一个标准差中。Chebyshev不等式提供了一种方法,可以知道在任何数据分布的均值的k标准差内有多少数据。
切比雪夫不等式具有重要价值,因为它可以应用于任何有均值和方差的概率分布。
让我们考虑一个例子,假设1000名参赛者参加一个工作面试,但只有70个职位可用。为了从所有参赛者中选出最优秀的70名参赛者,东主进行测试,以判断他们的潜力。测试的平均分是60,标准差是6。如果申请人得了84分,他们能认为他们得到了这份工作吗?
结果显示,大约63人的分数在60分以上,所以有70个职位可供选择,一个得分84分的参赛者可以肯定他们得到了这份工作。
创建一个有1,000,000个值的总体,我使用形状=2和规模=2的gamma分布(也适用于其他分布)。
导入numpy为np 导入随机 导入matplotlib.pyplot为plt #用创建人口 形状,比例=2.,2。#mean=4,std=2*sqrt(2) mu=形状*尺度#均值和标准差 sigma=Scale*np.sqrt(形状) s=NP.Random.Gamma(形状,尺度,1000000)
现在从人口中取样10,000个值。
#sample 10000 values rs = random.choices(s, k=10000)
计数与期望值的距离大于k个标准差的样本,并使用计数来计算概率。我想描述当k增加时,概率的趋势,所以我使用k从0.1到3的范围。
#set k ks = [0.1,0.5,1.0,1.5,2.0,2.5,3.0] #probability list probs = [] #for each k for k in ks: #start count c = 0
for i in rs: # count if far from mean in k standard deviation
if abs(i - mu) > k * sigma :
c += 1
probs.append(c/10000)
绘制结果:
plot = plt.figure(figsize=(20,10)) #plot each probability plt.xlabel('K')
plt.ylabel('probability')
plt.plot(ks,probs, marker='o')
plot.show() #print each probability print("Probability of a sample far from mean more than k standard deviation:")
for i, prob in enumerate(probs):
print("k:" + str(ks[i]) + ", probability: "
+ str(prob)[0:5] +
" | in theory, probability should less than: "
+ str(1/ks[i]**2)[0:5])
从上面的图和结果可以看出,随着k的增大,概率在减小,每个k的概率遵循不等式。而且,只有k大于1的情况才有用。如果k小于1,则不等式的右侧大于1,这是没有用的,因为概率不能大于1。
In probability theory, a Log-normal distribution also known as Galton's distribution is a continuous probability distribution of a random variable whose logarithm is normally distributed.
因此,如果随机变量X是对数正态分布的,那么y=ln(X)是正态分布的。等价地,如果Y具有正态分布,则Y的指数函数即X=exp(Y),具有对数正态分布。
具有低均值和高方差且所有正值的偏态分布适合于这种类型的分布。对数正态分布的随机变量只取正实值。
对数正态分布的概率密度函数的一般公式是:
对数正态分布的形状由3个参数定义:
如果x=θ,则f(x)=0。θ=0和m=1的情况称为标准对数正态分布。θ等于零的情况称为2参数对数正态分布。
下图说明了位置(μ)和形状(σ)参数对对数正态分布概率密度函数的影响:
让我们考虑一个示例,使用scipy.stats.lognorm函数从μ=1和σ=0.5的对数正态分布生成随机数。
导入numpy作为np 导入matplotlib.pyplot为plt 从scipy.stats导入lognorm NP.Random.Seed(42) data=lognorm.rvs(S=0.5,loc=1,Scale=1000,size=1000) PLT.FIGH(图=(10,6)) ax=PLT.次图(111) plt.title('从对数正态分布生成wrandom数') AX.HIST(数据,bins=np.logspace(0,5,200),density=true) ax.set_xscale(“log”) shape,loc,scale=lognorm.fit(数据) x=NP.logspace(0,5,200) pdf=lognorm.pdf(x,shape,loc,scale) Ax.plot(x,pdf,'y') plt.show()
In statistics, a Power Law is a functional relationship between two quantities, where a relative change in one quantity results in a proportional relative change in the other quantity, independent of the initial size of those quantities: one quantity varies as a power of another.
例如,用边长来计算正方形的面积,如果边长是一倍,则面积乘以四倍。
幂律分布的形式为y=k×α,
其中:
幂律分布只是众多概率分布中的一种,但它被认为是评估正态分布在一定概率下无法处理的不确定性问题的有价值的工具。
许多过程已被发现在相当大的数值范围内遵循幂律。从收入分布、流星体大小、地震震级、深度神经网络中权重矩阵的谱密度、词的使用、各种网络中邻居的数量等(注:这里的幂律是连续分布。最后两个例子是离散的,但在大范围内可以建模为连续的)。
让我们画出帕累托分布,它是幂律概率分布的一种形式。帕累托分配有时被称为帕累托原则或'80-20'规则,因为该规则指出,80%的社会财富由20%的人口持有。帕累托分布不是自然规律,而是一种观察。它在许多现实世界的问题中是有用的。这是一个偏斜的重尾分布。
导入numpy作为np 导入matplotlib.pyplot为plt 从scipy.stats导入pareto x_m=1#刻度 alpha=[1,2,3]#形状参数值列表 PLT.FIGH(图=(10,6)) samples=np.linspace(start=0,stop=5,num=1000) 对于a in alpha: 输出=np.array([pareto.pdf(x=samples,b=a,loc=0,scale=x_m)]) plt.plot(samples,output.t,label='alpha{0}'.format(a)) plt.xlabel('samples',fontsize=15) plt.yLabel('pdf',fontsize=15) plt.title('概率密度函数',fontsize=15) PLT.LEGEND(loc='最佳') plt.show()
The Box-Cox transformation transforms our data so that it closely resembles a normal distribution.
单参数Box-Cox变换在许多统计技术中都有定义,我们假定误差是正态分布的。这个假设允许我们构造置信区间并进行假设检验。通过转换您的目标变量,我们可以(希望)规范化我们的错误(如果它们还不正常的话)。
此外,变换我们的变量可以提高我们的模型的预测能力,因为变换可以消除白噪声。
Box-Cox变换的核心是一个指数lambda(λ),从-5到5不等。将考虑λ的所有值,并为您的数据选择最佳值;“最优值”是正态分布曲线的最佳近似值。
单参数Box-Cox变换定义为:
双参数Box-Cox变换如下:
此外,单参数Box-Cox变换适用于y>0,即仅适用于正值,而双参数Box-Cox变换适用于y>-λ,即负值。
参数λ是利用轮廓似然函数和拟合优度检验来估计的。
如果我们谈到Box-cox变换的一些缺点,那么如果解释是你想做的,那么Box-cox是不推荐的。因为如果λ是非零数,那么转换后的目标变量可能比简单地应用日志转换更难解释。
第二个绊脚石是Box-Cox变换通常给出预测分布的中值,当我们将变换后的数据还原到其原始规模时。偶尔,我们想要的是平均数,而不是中位数。
SCIPY的stats包提供了一个名为boxcox的函数,用于执行box-cox幂变换,该变换接收原始非正态分布数据作为输入,并返回拟合数据以及用于将非正态分布拟合为正态分布的λ值。
#加载必要的包 导入numpy为np 从scipy.stats导入boxcox 导入海运作为sns #使此示例可复制 NP.Random.Seed(0) #生成数据集 数据=NP.random.exponential(size=1000) 图,ax=plt.子图(1,2) #绘制数据值的分布 distplot(data,hist=false,kde=true, kde_kws={'shade':True,'linewidth':2}, 标签=“非正常”,color=“红色”,ax=ax[0]) #执行box-对原始数据进行Cox转换 transformed_data,best_lambda=boxcox(数据) distplot(transformed_data,hist=False,kde=True, kde_kws={'shade':True,'linewidth':2}, label=“正常”,color=“红色”,ax=ax[1]) #向次要情节添加图例 PLT.LEGEND(loc=“右上部”) #重新缩放次要图 图set_figheight(5) fig.set_figwidth(10) #显示最佳λ值 打印(f“用于转换的lambda值:{best_lambda}”)
In probability theory and statistics, the 泊松分布 is a discrete probability distribution that expresses the probability of a given number of events occurring in a fixed interval of time or space if these events occur with a known constant mean rate and independently of the time since the last event.
用非常简单的术语来说,泊松分布可以用来估计某事发生“x”次的可能性有多大。
泊松过程的一些例子是客户打电话给帮助中心,原子的放射性衰变,网站的访问者,到达太空望远镜的光子,以及股票价格的波动。泊松过程通常与时间有关,但不一定与时间有关。
泊松分布的公式是:
其中:
可以将Lambda(λ)视为间隔中预期的事件数。当我们改变速率参数λ时,我们改变了在一个区间内看到不同数量事件的概率。下图是泊松分布的概率质量函数,显示了在不同速率参数的区间内发生若干事件的概率。
泊松分布也通常被用于金融统计数据的模型,其中理货量很小,通常为零。例如,在金融学中,它可以用来模拟一个典型的投资者在给定的一天内所做的交易的数量,可以是0(通常),或者是1,或者是2,等等。
作为另一个例子,这个模型可以用来预测在一个给定的时期内,比如说在十年里,对市场的“冲击”的数量。
from numpy import random import matplotlib.pyplot as plt import seaborn as sns lam_list = [1, 4, 9] #list of Lambda values plt.figure(figsize=(10,6)) samples = np.linspace(start=0, stop=5, num=1000) for lam in lam_list: sns.distplot(random.poisson(lam=lam, size=10), hist=False, label='lambda {0}'.format(lam)) plt.xlabel('Poisson Distribution', fontsize=15) plt.ylabel('Frequency', fontsize=15) plt.legend(loc='best') plt.show()
当λ变大时,图看起来更像是正态分布。
我希望你喜欢阅读这篇文章,如果你有任何问题或建议,请留下评论。
请在LinkedIn上与我联系以获得任何查询。
感谢阅读!!!
References
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
CDA数据分析师 出品 作者:李诗怡 1. IF:基础条件判断(最常用) 作用:根据指定条件的真(TRUE)或假(FALSE),返回两种不同 ...
2026-10-30“不限专业可以考的证书”这个搜索词背后,通常藏着一个很实际的担心:专业不对口,想考个证拓宽出路,但怕报了名才发现有专业限 ...
2026-10-30先回答:能考的多是技能实操类证书 40岁、初中学历,能报的证书主要集中在四类:职业技能等级证书、专项职业能力证书、特种作业 ...
2026-10-3030岁考什么证好找工作,没有一张“通用答案”。同样的证书,对有行业经验的人和准备跨行的人,价值完全不同。更实际的思路是:先 ...
2026-10-30“专业职业技术资格证书”并不是一个正式名称,而是把好几种证书混在一起的口语说法。有人用它指会计、经济这类职称考试,有人指 ...
2026-10-30大学生能考的证书,大致分四类:通用基础类、职业资格类、专业技术资格类、岗位技能与行业认证类。真正要解决的问题不是“还有哪 ...
2026-10-30“需要考哪些证书”这个问题,没有统一答案。因为“需要”至少分三种:有的证书是入职准入,没有它连岗位门槛都进不去;有的证书 ...
2026-10-30“现在什么证含金量高好考一些”,这个问题里其实藏着两个容易打架的条件。含金量高的证书,往往有报考门槛、考试周期长;好考的 ...
2026-10-30“现在考什么证最吃香”,这个问题本身藏着一个容易踩的坑:不同人说“吃香”,指的往往不是同一件事。有人指考的人多、话题热; ...
2026-10-30文凭低,不等于没证可考,但选择空间确实窄一些。学历门槛明确的准入类资格,比如部分教师资格、法律职业资格、执业医师等,通常 ...
2026-10-30土建专业的大学生问“考什么证”,最容易踩的坑是把注册类证书当成在校目标。注册建造师、注册造价工程师、注册结构工程师、监理 ...
2026-10-30中年男人考证书,最怕两件事:一是年龄、学历卡在报名门槛外,白准备半年;二是考完发现岗位用不上,钱和时间都打了水漂。所以顺 ...
2026-10-30大专学历能考的证书不少,但真正值得投入时间的,是先确认“能不能报”,再看“考了对应什么岗位”。很多证书的报考条件里写着本 ...
2026-10-30“十大建议考的证书”这个问题,很难有一份对所有人都成立的名单。同一张证书,对会计专业大三学生、想转行做数据分析的运营、以 ...
2026-10-30“什么证书有用含金量高”这个问题,很难用一张榜单回答。同一本证书,对想进医院的人可能是硬门槛,对做运营的人却用不上;对已 ...
2026-10-30在职成年人问“考什么证书有用”,先要弄清自己需要哪一种“有用”。同一张证书,对想进入准入行业的人、想在本岗晋升的人、想转 ...
2026-10-30“女生能考的证书”真正要先回答的是“你现在的条件能报什么”。学历、专业、工作年限、是否在校、所在地区政策,直接决定你能不 ...
2026-10-30“女孩考什么证书比较好”这句话里,“比较好”其实藏着三种完全不同的标准:好考,看的是报考门槛低、备考周期短;好就业,看的 ...
2026-10-30先给结论:市场岗位没有一张通吃的证书。品牌传播、数字营销与投放、用户增长、用户研究、营销数据分析,这五条路径对应的工作任 ...
2026-10-30经济学专业考什么证书,没有统一答案。经济学毕业后去向很散:有人进银行、证券、基金,有人做财务审计,有人转数据分析与经营分 ...
2026-10-30