![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python统计分析
文章平均质量分 68
利用python语言进行统计分析,并介绍分析原理
maizeman126
这个作者很懒,什么都没留下…
展开
-
python统计分析——多组比较
因此,方差分析估计3中样本方差:基于所有观测偏离总体均值的总方差(SS_T),一个处理方差(SS_t),还有一个基于所有观测值偏离他们合适的处理均值的错误方差(SS_e)。当我们将两组进行相互比较的时候,如果是正态分布的,我们就用t检验,如果是非正态分布的,就用非参数的Mann-Whitney u检验。例如,如果我们有一组不进行处理,另一组用处理A,第三组用处理B,对它们进行比较,那么我们就在进行单因素方差分析,有时也称为单向方差分析,其中处理是分析的单因素。区分不同群体的变量通常被称为因素或处理。原创 2024-04-08 01:00:00 · 1984 阅读 · 0 评论 -
python学习——re库的常用函数
match()方法和search()方法都是返回匹配到的第一个内容就结束匹配,而findall()方法是返回全部符合匹配规则的内容,返回的是一个列表。去除或替换匹配的字符。与match()方法不同,search()方法不需要从头开始匹配。参考资料:python网络爬虫技术与应用【邓维】从字符串头部开始匹配字符。原创 2024-04-10 12:47:26 · 359 阅读 · 0 评论 -
python统计分析——线性回归模型的假设与结果解释
请注意,用于参数估计的计算量较高的迭代算法,并不会受此问题的影响,实际上,处理分类值得预测变量时,常常对每个可能的类别引入单独的指示预测变量,这不可避免地引入了多重共线性。为了确定异质误差方差,或当残差模式违反同质性的模型假设时(对于x的所有点,误差在“最佳拟合线”周围都是相同的变量),应该谨慎地在残差与预测值之间寻找“扇形效应”。(5)误差的独立性。一个有效的模型的误差也应该是正态的。对于回归系数b_i的解释是:当其他协变量被固定时,对于x_i的单位变化时,y的期望变化,即y对x_i的偏导数的期望值。原创 2024-04-15 01:00:00 · 435 阅读 · 0 评论 -
python统计分析——线性回归模型的结果
理想情况下,类似的模型应该是类似的,即具有近似相等的系数。线性回归的系数/权重包含在result.params中,并作为pandas的Series对象返回,因为我们使用的是pandas数据框作为输入。无效假设是:分布是正态的,即偏度和超值峰度都是0,或着说偏度是0且峰度为3。一旦我们得到了t统计量,根据我们使用这些代码得到的误差的正态性假设,我们可以计算观察到一个统计量至少和我们已经观察到的同样极端的概率。其中,β_i是估计的系数之一,z是一个t统计量需要获得小于α置信水平的概率的临界值,SE时标准误。原创 2024-04-13 01:00:00 · 1692 阅读 · 0 评论 -
python统计分析——一般线性回归模型
如果我们想找到哪个才是拟合的“最好的”,我们可以使用statsmodels提供的工作来再次拟合模型。使用statsmodels,我们不仅可以得到最佳拟合参数,还能得到关于模型的许多价值的额外信息。为了了解如何使用不同的模型来评估给定的数据集,让我们来看一个简单的例子:拟合一个有噪声的、略微二次项弯曲的曲线。我们看到,二次模型的AIC值最小,因此是最好的模型:它提供了与三次方模型相同的拟合质量,但使用较少的参数来得到该质量。当我想用一个或多个其他的变量预测一个变量的时候,我们可以用线性回归的方法。原创 2024-04-11 01:00:00 · 494 阅读 · 0 评论 -
python统计分析——分类数据的检验
(对于b+c<25,应该进行二项式计算,事实上,大多数软件包只是简单的在所有情况下都执行二项式计算,因为所有情况下的结果都是精确的。该方法包括评估与所有可能的2×2表相关联的概率,这些表与所观察到的数据具有相同的行和列总数,使得零假设(即行和列变量是无关的)是真的。如果计算出的概率p低于选定的显著水平,则零假设被拒绝,可以得出结论,至少2个变量中的比例是显著不同的。如果数据可以被组织在一组类别中,并且它们被作为频数给出,即每个类别中的样本总数(而不是百分比),那么下面讲述的检验适用于这类数据分析。原创 2024-04-09 01:00:00 · 788 阅读 · 0 评论 -
python统计分析——线性相关
pearson相关系数,有时也称为总体相关系数或样本相关性,它的取值范围是[-1,1]。注意相关系数的公式在x和y之间是对称的,但线性回归中不是这样的。在这种情况下,我们可以对数据集的每个变量进行排序,比较这个顺序。”也就是说,如果一个变量的变化,那另一个也改变了吗?对于两个相关的变量,相关性度量的是两个变量之间的关联程度。相反,线性回归是用一个变量的值来预测另一个变量的值。和pearson相关系数r完全一样,但计算的不是原始的数字,二是观测值的秩。也是一个秩相关系数,测量两个观测量之间的而相关。原创 2024-04-10 01:00:00 · 397 阅读 · 0 评论 -
python统计分析——用sklearn进行回归
因此,我们的例子中,将DataFrame转换为np.matrix,使得垂直数组在数据集中被切下后保持垂直。(这很必要,因为这个别扭的python特性,即numpy数组的一维切片是一个向量,而该向量通常定义为水平方向。建议2:在数据分析完成后,应该根据我们自有专业背景知识,对模型进行判断。scikit-learn提供了简单而有效的数据挖掘和数据分析工具,包括监督和无监督学习。建议1:在做任何数据分析之前,先将数据进行可视化展示。回归:对一个新的例子预测一个连续值。降维:减少需要考虑的随机变量的个数。原创 2024-04-14 01:00:00 · 515 阅读 · 0 评论 -
python统计分析——统计学假设检验和统计学建模
用统计学模型的角度来表达,我们假设第一次和第二次的比赛差异是一个常量(本例的无效假设是该常量等于0)。我们可以用下面的代码得到这个参数以及它的置信区间和大量其他信息。对于大部分统计问题,我们可以从两个角度来看:可以做一个假设,并证实或证伪;或是建立一个统计模型,并分析模型参数的显著性。最重要的是拟合的步骤。来自statsmodels的smf.ols函数能够检验模型,该模型描述了第一次和第二次比赛之间的而差异,并且只有一个偏差,这个。上图的结果显示截距为0 的概率只有0.033,和0的差异显著。原创 2024-04-02 01:00:00 · 383 阅读 · 0 评论 -
python统计分析——直方图(sns.histplot)
当bins为文本时,表示作图时的分组策略,可用选项具体有:'auto', 'fd', 'doane','scott', 'stone', 'rice', 'sturges', 'sqrt'。(13)common_norm=True, 当分组数据作图,stat设置为‘percent’或‘density’时,如果设置为True,表示按整体进行汇总转换,当设置为False时,表示按各组自己的数据汇总转换。(16)fill=True, 用于设置条形图是否有填充,默认为True,下图为设置为False的展示。原创 2024-01-04 04:00:00 · 5365 阅读 · 0 评论 -
python统计分析——直方图(df.hist)
(4)sharex: 'bool' = False, sharey: 'bool' = False, 用于设置多个图是否共用x轴/y轴坐标系。(5)layout: 'tuple[int, int] | None' = None, 用于设置多个图的布局。(3)grid: 'bool' = True, 用于设置网格线,下图为grid=False的情况。(6)bins: 'int | Sequence[int]' = 10,用于设置数据桶的数目。(2)by=None, 用于指定需要分组的列。原创 2024-01-05 05:00:00 · 1322 阅读 · 0 评论 -
python统计分析——协方差和pearson相关系数
在协方差矩阵中,左上到右下的对角线上分别是x和y的标准差,左下到右上的对角线上分别是x和y的标准差。协方差大于0:一个变量取值越大,另一个变量的取值也越大;协方差小于0:一个变量取值越大,另一个变量的取值越小;numpy.cov()函数可计算出x和y的协方差矩阵。方法1:dataframe.corr()方法3:numpy.corrcoef()当指定ddof=0时,计算总体的协方差。当指定ddof=1时,计算样本协方差。方法2:series.corr()协方差等于0:两个变量不相关。原创 2023-12-31 20:27:03 · 592 阅读 · 0 评论 -
python统计分析——透视表
margins相当于excel中对行列进行汇总,但只能设置为True或False,因此只能对行列整体进行汇总,而不能单独对行或列进行汇总。aggfunc参数设置的是对值字段的汇总统计,相当于excel中的值字段设置对话框。values相当于excel透视表中值字段设置,index为相当于行字段设置,columns相当于列字段设置。当margins设置为True时,dropna用于对空列数据汇总的设置,默认为True。默认为True,用于设置是否需要对数据进行排序,用于对透视表字段中包含的分类类型的排序。原创 2023-12-31 14:46:20 · 1093 阅读 · 0 评论 -
python统计分析——直方图(plt.hist)
当bins为文本时,表示作图时的分组策略,可用选项具体有:'auto', 'fd', 'doane','scott', 'stone', 'rice', 'sturges', 'sqrt'。(8)histtype='bar', 表示直方图的展现形式,有4个备选项:'bar', 'barstacked', 'step', 'stepfilled'。举例说明:当bins=[1,2,3,4]时,用于分组的区间为:[1,2)、[2,3)、[3,4]。(1)x,表示一组数据,即需要制作直方图的一组数据。原创 2024-01-03 05:00:00 · 4356 阅读 · 0 评论 -
python统计分析——多变量描述统计
资料来源:用Python动手学统计学多变量的描述统计,通常利用pandas的groupby函数将数据进行分组处理,然后再计算各统计量。原创 2023-12-28 17:49:33 · 508 阅读 · 0 评论 -
python统计分析——单变量描述统计
资料来源于:用Python动手学统计学。原创 2023-12-28 16:54:23 · 476 阅读 · 0 评论 -
python统计分析——小提琴图(sns.violinplot)
(1)data=None,就是数据源。(2)x=None, y=None,如果不指定x和y,则以整列数据绘制一个小提琴;如果制定了x和y,则会按照分类型数据对数值型数据进行分组,来绘制小提琴。原创 2024-01-13 01:00:00 · 1841 阅读 · 0 评论 -
python统计分析——生成正态分布随机数
size:表示抽样的数据,可以是数值可以是元组。方法1:scipy.stats.norm.rvs()方法2:numpy.random.normal()参考资料:用python动手学统计学,帮助文档。scale:表示正态分布的标准差,默认为1。loc:表示正态分布的均值,默认为0。其参数设置同方法1。原创 2024-01-16 01:00:00 · 1075 阅读 · 0 评论 -
python统计分析——随机抽样(np.random.choice)
(3)replace,默认为True,表示重置抽样(有放回抽样);False则表示无重置抽样(无放回抽样)。当设置为False时,参数size最大不能超过样本框的容量。(2)size,表示需要抽取的样本数量,如果直接为数字,则按数字抽取对应的样本量;如果为数字组成的元组,则表示抽取样本形成元组对应的数组。(4)p,用于设置抽样框中各单元被抽中的概率,要求p的设置与数据源有相同的数据量,默认设置为等概率抽样。(1)a,数据源,用一列数据作为抽样的数据源。参考资料:用python动手学统计学,帮助文档。原创 2024-01-14 01:00:00 · 805 阅读 · 0 评论 -
python统计分析——箱线图(sns.boxplot)
(1)x=None,y=None,用于数据显示的轴向。原创 2024-01-10 04:00:00 · 2483 阅读 · 0 评论 -
python统计分析——小提琴图(plt.violinplot)
(1)dataset,需要做的图数据集。原创 2024-01-12 04:00:00 · 1496 阅读 · 0 评论 -
python统计分析——箱线图(plt.boxplot)
(1)x,表示数据源;如果是一维的数组,则直接根据数组的数据产生一个箱线图,如果是二维数组,则按列的方向对数据进行统计,即有几列数据,就做几个箱线图。(2)notch=None,默认为False,即箱框为矩形;若设置为True的箱框沿中间向内凹陷,代表着中位数的置信区间(结合bootstrap参数学习),如下图所示:(3)sym=None,表示对异常值的显示标记。默认显示如下。原创 2024-01-08 04:00:00 · 4369 阅读 · 0 评论 -
python统计分析——箱线图(df.boxplot)
(1)column=None,就是需要绘制箱线图的数据列,默认是全部数据列。因为本例中只有一个数据列,所以跟第一张图一一样。原创 2024-01-11 04:00:00 · 713 阅读 · 0 评论 -
python统计分析——操作案例(模拟抽样)
根据总体统计量计算和直方图直观查看,目前可以暂时认为:总体的概率分布服从均值为4,方差为0.64的正态分布,数值的分布范围基本在1-7之间。stats.norm.pdf()函数中,x为分位数,loc表示均值,scale表示标准差(注意不是方差),结果表示取值x时对应的概率密度。根据上图可以看出:正态分布的概率密度和总体分布的概率密度几乎吻合,因此可以认为总体服从正态分布。5.1 准备1-7上以0.1为公差的等差数列。5、绘制均值为4,方差为0.64,数据范围为1-7的正态分布的概率密度曲线。原创 2024-01-15 01:00:00 · 1230 阅读 · 0 评论 -
python统计分析——样本均值的分布(上)
这里需要明确:一次抽样完成,只能获得一个样本(无论样本容量是10还是100,样本都是一个),从而可以获得这个样本的均值。上段代码中,注意pop.rvs(size=10)和stats.norm.rvs(loc=4,scale=0.8,size=10)是等价的。在模拟的过程中,也可以研究样本的统计量的分布情况。可以看到样本均值分布的实际值与理论值非常接近,随着样本量,以及抽样次数的增加,实际值会无限接近于理论值。我们知道根据正态分布的样本均值服从均值为μ,标准差为σ/sqrt(n)的正态分布。原创 2024-01-19 01:00:00 · 538 阅读 · 0 评论 -
python统计分析——正态分布概率密度函数
python中正态分布的累计分布函数为:scipy.stats.norm.cdf(),其中cdf为cumulative distribution function的缩写。正态分布相对于均值左右对称, 所以数据小于等于均值的概率为 50%,所以下面代买的运行结果为0.5。正态分布相对于均值左右对称, 所以数据小于等于均值的概率为 50%,所以下面代买的运行结果为正态分布的均值4。scale为正态分布的标准差,默认为1。loc为正态分布的均值,默认为0。loc为正态分布的均值,默认为0。2、绘制概率密度曲线。原创 2024-02-01 01:00:00 · 1583 阅读 · 0 评论 -
Python统计分析——参数估计
我们使用样本均值作为总体均值的点估计量,所以只需要计算出样本的均值就可以完成估计。这看起来很简单,但要注意,正因为样本均值具有无偏性和一致性,它才可以作为总体均值的估计值。置信水平,是表示区间估计的区间可信度的概率。对于同一组数据,置信水平越大,置信区间就越大。如上图所示,置信水平为95%的置信区间,表示所得到的该区间包含真正的总体均值这一参数的概率为95%。由模拟结果可以看出,总体均值包含在置信区间的比例约为95%,与置信水平基本一致。下面用2万次的抽样结果,对置信区间的置信水平进行验证。原创 2024-02-05 01:00:00 · 995 阅读 · 0 评论 -
python统计分析——中心极限定理
对于任意总体分布,样本容量越大,随机变量的和的分布越接近正态分布,这就是中心极限定理定理。由直方图的分布可以看出:其左右基本对称,形状也和正态分布相似,这就是中心极限定理达的直观表现。在计算样本均值时,要先计算样本值的和,所以我们可以假设样本均值的分布接近正态分布。模拟投硬币1万次中,正面朝上的次数的分布。参考资料:用python动手学统计学。原创 2024-01-31 01:00:00 · 1170 阅读 · 0 评论 -
python统计分析——一元线性回归分析
表2为回归系数的t检验分析结果,可见intercept(截距)和temp(temp列的回归系数)均达到极显著水平,且temp回归系数大于0。Dep.Variable:响应变量的名称,Dep为Depended的缩写。Df Residuals:残差自由度,样本容量减去参与估计的参数个数。由散点图可以看出啤酒(beer)的销量与温度(temp)有正相关的关系。Prob(F-statistc):F统计量对应的概率值。F-statistic:为方差分析的F统计量。Df Model:模型自由度,参数个数-1。原创 2024-02-19 18:45:56 · 498 阅读 · 0 评论 -
python统计分析——样本方差的分布
1万个样本方差的平均数计算结果为:0.5746886877332101,与总体方差0.64,相差较大。t提示:随着样本容量的不断变大,样本容量n与n-1将无限接近,样本方差和无偏方差趋于相等。一致性:样本容量越大,估计量越接近真正的参数的特性称为一致性。无偏性:估计量的期望值相当于真正的参数的特性叫作无偏性。1万个样本的无偏方差的平均数计算结果为:0.6385429863702334,与总体方差0.64十分接近。由上图,可以看出,随着样本容量的不断变大,其无偏方差月接近总体方差(0.64)原创 2024-01-30 01:00:00 · 606 阅读 · 0 评论 -
python统计分析——卡方检验
(2)correction为True时,表示对数据进行连续型矫正;当设置为False,则不做连续性矫正。4、使用scipy.stats.chi2_contingency()函数进行卡方检验。(1)本函数要求给定的数据为列联表的形式,而非原始的未汇总的数据。本例是检验不同颜色按钮的吸引力是否相同。差异极显著:即按钮的颜色显著地影响了按钮的吸引力。通常当自由度为1时,需要进行连续型矫正。参考资料:用python动手学统计学。3、将数据转换为列联表。原创 2024-02-06 01:00:00 · 956 阅读 · 0 评论 -
python统计分析——样本均值的分布(下)
样本均值的标准差的理论值可以通过数学式计算得到。本次研究总体是均值为4,标准差为0.8的正态总体。5、验证“随着样本容量的变大,样本均值分布的标准差越小”7、对理论值(平均数标准误)和实际值(样本均值的标准差)本次内容主要讲样本均值的变异程度与样本容量的关系,接续。5.4 绘制样本均值分布的标准差随样本容量变化的趋势图。3、定义一个函数,简化多次抽样和计算样本均值的步骤。4、制作小提琴图观察不同样本容量的样本均值分布情况。4.1 设置基础数据(不同样本容量的样本均值)5.3 获取样本均值分布的标准差数据。原创 2024-01-29 01:00:00 · 912 阅读 · 0 评论 -
python统计分析——单样本t检验
双尾检验:p=(1-α)×2,这里的α不是显著性水平,而是用累计分布函数求出的当总体均值等于50(本例是50,在实际应用中看零假设对应的值)时的累计概率值,此值越大越好。可选设置有:'two-sided', 'less', 'greater'。假设总体服从正态分布,那么t值就服从t分布,所以可以使用t分布的累计分布函数。'two-sided'表示备择假设为样本均值与给定总体均值不同;'greater'表示备择假设为样本均值大于给定总体均值。'less'表示备择假设为样本均值小于给定总体均值;原创 2024-02-09 01:00:00 · 1076 阅读 · 0 评论 -
python统计分析——两样本t检验
函数为:scipy.stats.ttest_ind()。这里重点介绍:equal_var参数,用于设置等方差还是异方差,默认为True,即等方差;按照传统教材,独立样本t检验需要检查数据的同方差性,在根据情况进行相应的t检验。原则上配对数据不适用于独立样本t检验,这里只是为了介绍独立样本t检验,将现有的data数据假设为独立样本数据。ttest_rel()函数的相关参数设置与ttest_1samp()函数基本一致。'two-sided':表示a,b两列数据的均值不同。'less':表示前者的均值小于后者。原创 2024-02-11 01:00:00 · 766 阅读 · 0 评论 -
python统计分析——t分布
t分布相对于标准正态分布更扁平,这是因为t分布以均值的标准误为除数。另外,t分布的数据范围较标正态分布的范围稍大一些,也就是更容易出现远离均值的数据。由上图可以看到实线的t分布核密度曲线和虚线的标准正态分布曲线二者没有完全重合。若样本容量为N,则N-1为t分布的自由度。当样本容量越大,t分布就约接近于标准正态分布。t分布的意义就是在总体方差未知时也可以研究样本均值的分布。4、t分布概率密度曲线和标准正态分布概率密度曲线对比图。为实际样本的无偏标准差,N为样本容量。2.1 绘制t值分布的直方图。原创 2024-02-04 01:00:00 · 1264 阅读 · 1 评论 -
python统计分析——逻辑回归
设成功概率(即考试合格率)为p,联系函数为logit函数,则考试合格率与学习时间的关系如下:(本例将研究考试合格情况与学习时间的逻辑回归关系)logistic函数时logit函数的反函数,设Logit函数为f(x),logistic函数为g(x),则g(f(x))=x。已知函数f(a)=b,交换a与b的关系,得到g(b)=a,g(x)就是f(x)的反函数。优势的对数叫作对数优势,logit函数也可以看作将成功概率转换为对数优势的函数。logistic回归的概率分布为二项分布,联系函数为logit函数。原创 2024-03-01 01:00:00 · 1124 阅读 · 0 评论 -
python统计分析——线性模型的预测和评估
正态分布的百分位数就是理论分位数,通过图形对比理论分位数与真实数据的分位数,可以直观地判断残差是否服从正态分布分布。p值大于0.05,并不代表残差确实不服从正态分布,此处的检验只能用来判断结果是否存在明显的问题。下面绘制横轴为拟合值、纵轴为残差的散点图,该图看起来是随机的,个数据都不相关也没有出现极端值。相应变量的差异等于模型可预测的差异加上模型不可预测的残差平方和。根据残差的直方图,我们可知残差大致左右对称,形状接近正态分布。要观察残差的特征,最简单的方法就是绘制出它的直方图。原创 2024-02-24 01:00:00 · 1386 阅读 · 2 评论 -
python统计分析——广义线性模型基础知识
正态线性模型无须更多的变形,所以在广义线性模型的领域中,它的联系函数就是恒等函数。当正态分布的联系函数为对数函数时,有些模型的响应变量将永远为正值。伽马分布常以对数函数、倒数函数为联系函数。当总体为“有或无”这种二指数据或“1个、2个、3个”这种计数型数据时,我们无法假设其服从正态分布分布。联系函数用于将相应变量和线性预测算子联系在一起,可以应用于相应变量。广义线性模型可用于正态分布、二项分布和泊松分布等多种概率分布。线性预测算子是线性关系式表示的解释变量。2、联系函数与概率分布的关系。原创 2024-02-29 01:00:00 · 777 阅读 · 0 评论 -
python统计分析——单因素方差分析
如果连续进行2次检验,则每次检验的显著性水平都为0.05,在这种情况下,出现第一类错误的概率就是1-0.95*0.95=0.0975,约为10%,超过了5%。beer=7.0-4.0*rainy+4.0*sunny,解释为:当weather为cloudy时,beer=7.0-4.0*0+4.0*0=7.0;变量sunny同理。当然还有cloudy天气,当rainy和sunny均为0时,只剩下β0,它代表cloudy的影响程度。1.4 如下面的小提琴图所示:小提琴之间的高度差,即效应的大小,叫作组间差异。原创 2024-02-25 01:00:00 · 2725 阅读 · 0 评论 -
python统计分析——泊松分布
以钓鱼为例,湖中有非常多的鱼,所有的鱼都有可能被钓到,但这个概率很小,在这种条件下钓到的鱼的条数就服从泊松分布。即非常多的对象(N -> ∞)中发生稀有事件(p -> 0)的件数就服从泊松分布。泊松分布是“1个、2个”或“1次、2次”这样的计数性数据所服从的离散型概率分布。泊松分布可以用于研究不同钓具对钓到的鱼的数量的影响、区域周围环境对区域内生物数量的影响,以及不同天气对销量的影响等问题。对比试验次数为1亿次,成功概率为0.00000002的二项分布与强度为2的泊松分布的概率质量函数的图形。原创 2024-02-28 01:00:00 · 1304 阅读 · 0 评论