精华内容
下载资源
问答
  • 判断一组数据是否正态分布
    2022-06-10 21:38:34

    前言

    从文件中获取数据,判断数据是否服从正态分布或者近似服从正态分布。

    正态分布:也称“常态分布”,又名高斯分布(Gaussian distribution)
    若随机变量X服从一个数学期望为μ、方差为σ2的正态分布,记为N(μ,σ2)。
    其概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ决定了分布的幅度。
    当μ = 0,σ = 1时的正态分布是标准正态分布。

    判断方法

    • KS检验
      基于累计分布函数的,用于检验一个分布是否符合某种理论分布或比较两个经验分布是否有显著差异。

    kstest方法:参数分别是:待检验的数据,检验方法(这里设置成norm正态分布),均值与标准差
    结果返回两个值:statistic → D值,pvalue → P值
    p值大于0.05,为正态分布
    H0:样本符合
    H1:样本不符合
    如何p>0.05接受H0 ,反之

    #导入scipy模块
    from scipy import stats
    import pandas as pd
    data = pd.read_excel(r'sale.xls', index_col = False) #读取数据
    u = data[u'销量'].mean()  # 计算均值
    std = data[u'销量'].std()  # 计算标准差
    stats.kstest(data[u'销量'], 'norm', (u, std))
    

    结果展示

    更多相关内容
  • 主要介绍了python 如何判断一组数据是否符合正态分布,帮助大家更好的利用python分析数据,感兴趣的朋友可以了解下
  • 如何判断一组数据是否符合正态分布呢?

    万次阅读 多人点赞 2021-03-04 14:21:28
    判断数据是否符合正态分布的方法总结描述统计方法Q-Q图P-P图直方图茎叶图统计检验方法SW检验KS检验AD检验W检验 在很多模型及假设检验中都需要满足个假设条件:数据需服从正态分布。这篇文章主要讲讲如何判断数据...
    • 在很多模型及假设检验中都需要满足一个假设条件:数据需服从正态分布。这篇文章主要讲讲如何判断数据是否符合正态分布。主要分为两种方法:描述统计方法和统计检验方法。

    描述统计方法

    • 描述统计就是用描述的数字或图表来判断数据是否符合正态分布。常用的方法有Q-Q图、P-P图、直方图、茎叶图。

    Q-Q图

    • Q是quantile的缩写,即分位数。 分位数就是将数据从小到大排序,然后切成100份,看不同位置处的值。比如中位数,就是中间位置的值。Q-Q图的x轴为分位数,y轴为分位数对应的样本值。x-y是散点图的形式,通过散点图可以拟合出一条直线, 如果这条直线的斜率为标准差,截距为均值.,则可以判断数据符合正态分布,否则则不可以。
      在这里插入图片描述
    • 拟合出来的这条直线和正态分布之间有什么关系呢?为什么可以根据这条直线来判断数据是否符合正态分布呢?我们先来想一下正态分布的特征,正态分布的x轴为样本值,从左到右x是逐渐增大的,y轴是每个样本值对应的出现的概率。概率值先上升后下降,且在中间位置达到最高。可以把Q-Q图中的y轴理解成正态分布中的x轴, 如果拟合出来的直线是45度,可以保证中位数两边的数值分布是一样的,即正态分布中基于中位数左右对称。

    P-P图

    • P-P图是根据变量的累积概率对应于所指定的理论分布累积概率绘制的散点图,用于直观地检测样本数据是否符合某一概率分布。如果被检验的数据符合所指定的分布,则代表样本数据的点应当基本在代表理论分布的对角线上。
    • P-P图的检验原理与Q-Q图基本相同,只是Q-Q图用的是分布的分位数来做检验,而P-P图是用分布的累计比。和Q-Q图一样,如果数据为正态分布,则在P-P正态分布图中,数据点应基本在图中对角线上。

    直方图

    • 直方图分为两种,一种是频率分布直方图,一种是频数分布直方图。频数就是样本值出现的次数,频率是某个值出现的次数与所有样本值出现总次数的比值。从直方图我们可以很直观的看出这组数据是否符合正态分布。
      在这里插入图片描述

    茎叶图

    • 茎叶图的思路是将数组中的数按位数进行比较,将数的大小基本不变或变化不大的位作为一个主干(茎),将变化大的位的数作为分枝(叶),列在主干的后面,这样就可以清楚地看到每个主干后面的几个数,每个数具体是多少。
    • 茎叶图是一个与直方图相类似的特殊工具,但又与直方图不同,茎叶图保留原始资料的资讯,直方图则失去原始资料的讯息。将茎叶图茎和叶逆时针方向旋转90度,实际上就是一个直方图,可以从中统计出次数,计算出各数据段的频率或百分比。从而可以看出分布是否与正态分布或单峰偏态分布逼近。
      在这里插入图片描述

    统计检验方法

    • 讲完了描述统计的方法,我们来看一下统计检验的方法。统计检验的方法主要有SW检验、KS检验、AD检验、W检验。

    SW检验

    • SW检验中的S就是偏度,W就是峰度。
    • 偏度(skewness),是统计数据分布偏斜方向和程度的度量,是统计数据分布非对称程度的数字特征。包括右偏分布(也叫正偏分布,其偏度>0),正态分布(偏度=0),左偏分布(也叫负偏分布,其偏度<0)。在定义上,偏度是样本的三阶标准化矩:在这里插入图片描述
    • 峰度(kurtosis),表征概率密度分布曲线在平均值处峰值高低的特征数。直观看来,峰度反映了峰部的尖度,计算方法为随机变量的四阶中心矩与方差平方的比值。公式上就是把偏度计算公式里的幂次改为4即可。峰度包括正态分布(峰度值=3),厚尾(峰度值>3),瘦尾(峰度值<3)。公式可表示如下:
      在这里插入图片描述
    • 在Python的scipy包中scipy.stats.normaltest(x, axis=0, nan_policy=‘propagate’)的原理就是基于数据的偏度和峰度,该方法是专门做正态性检验的。x:待检验的数据;axis:默认为0,表示在0轴上检验,即对数据的每一行做正态性检验,我们可以设置为 axis = None 来对整个数据做检验;nan_policy:当输入的数据中有空值时的处理办法。默认为 ‘propagate’,返回空值;设置为 ‘raise’ 时,抛出错误;设置为 ‘omit’ 时,在计算中忽略空值。

    KS检验

    • KS检验是基于样本累积分布函数来进行判断的。可以用于判断某个样本集是否符合某个已知分布,也可以用于检验两个样本之间的显著性差异。如果是判断某个样本是否符合某个已知分布,比如正态分布,则需要先计算出标准正态分布的累计分布函数,然后计算样本集的累计分布函数。两个函数之间在不同的取值处会有不同的差值。我们只需要找出来差值最大的那个点D。然后基于样本集的样本数和显著性水平找到差值边界值(类似于t检验的边界值)。判断边界值和D的关系, 如果D小于边界值,则可以认为样本的分布符合已知分布,否则不可以。
      在这里插入图片描述
    • 在Python中可通过scipy包直接进行KS检验:scipy.stats.kstest(x,cdf = “norm”);x表示待检验的样本集,cdf用来指明要判断的已知分布类型:‘norm’, ’expon’, ’logistic’, ’gumbel’, ’gumbel_l’, gumbel_r’,其中norm表示正态分布检验。返回两个值:D和对应的p_value值。

    AD检验

    • AD检验是在KS基础上进行改造的,KS检验只考虑了两个分布之间差值最大的那个点,但是这容易受异常值的影响。 AD检验考虑了分布上每个点处的差值。
    • 在Python中可通过scipy包直接进行KS检验:scipy.stats.anderson(x, dist= ‘norm’),x为待检验的样本集,dist用来指明已知分布的类型,可选值与ks检验中可选值一致。返回三个结果: 第一个为统计值,第二个为评判值,第三个为每个评判值对应的显著性水平。

    W检验

    • W检验(Shapiro-Wilk的简称)是基于两个分布的相关性来进行判断,会得出一个类似于皮尔逊相关系数的值。 值越大,说明两个分布越相关,越符合某个分布。
    • 在Python中可通过scipy包直接进行W检验:scipy.stats.shapiro(x),x为待检验的样本集,上面的代码会返回两个结果:W值和其对应的p_value。shapiro是专门用于正态性检验的,所以不需要指明分布类型。且 shapiro 不适合做样本数>5000的正态性检验。

    判断完后,若数据不符合正态分布又当如何呢?后续小编将继续总结将非正态分布数据转换为正态分布的方法。

    展开全文
  • 问题描述有一组已知的数据,例如为:1006.1,1014,1001.6,996.4,997.8,981.6,996.4,991.9,993.3,1000.6,987.3,1015.6,981.6,996.2,999.2,994.5,1005.9,1001.9,986.4,1007.6,1001.4,1014.6,1010.2,993.9,1001.4这...

    问题描述

    有一组已知的数据,例如为:

    1006.1,1014,1001.6,996.4,997.8,981.6,996.4,991.9,993.3,1000.6,987.3,1015.6,981.6,996.2,999.2,994.5,1005.9,1001.9,986.4,1007.6,1001.4,1014.6,1010.2,993.9,1001.4

    这组数据是否满足正态分布呢?如果满足的话,在后续的处理过程中,就可以用相应的数学表达式来描述其规律了,即已知散点数据,求其概率分布的问题。

    实现方法

    [noway]1.首先,用normplot()函数来简单拟合一下。[/noway]

    对于上面的例子,首先设:

    m=[1006.1,1014,1001.6,996.4,997.8,981.6,996.4,991.9,993.3,1000.6,987.3,1015.6,981.6,996.2,999.2,994.5,1005.9,1001.9,986.4,1007.6,1001.4,1014.6,1010.2,993.9,1001.4]

    normplot(m)

    385ff89e40620ddacc1151bdb4731321.png

    看结果,发现散点基本都可以在红色的直线附近,说明这组数据有很大的可能性符合正态分布。

    这里需要说明的是,这其实就是一张“正太概率纸”,即横坐标是等间隔的,而纵坐标却为按照标准正态分布给出的点。以上图举例,横坐标为1001.6时(这组已知数据中的任意值),其在红线上对应的点,就恰好为标准正态分布的纵坐标。因此,当实际散点与红线举例跃进,这组数据就越接近于标准正态分布。

    如果已知数据符合正态分布规律的话,那散点就会在直线附近,呈线性分布,如果有“拐弯”的情况,就不是正态分布了。

    但是呢,绘图法还不足以证明这组数据一定符合正态分布,还需要用另外的函数

    [noway]2.用lillietest函数或jbtest函数进行正态分布的拟合优度测试[/noway]

    进行假设检验,格式:[H,P,LSTAT,CV] = lillietest(X,alpha)

    其中,P为接受假设的概率值,P越接近于0,则可以拒绝是正态分布的原假设;LSTAT为测试统计量的值,CV为是否拒绝原假设的临界值。

    对于本例,则为

    [H,P,LSTAT,CV] = lillietest(m,0.05)

    H =

    0

    P =

    0.5000

    LSTAT =

    0.1028

    CV =

    0.1730

    h=0说明接受假设,该组数据符合正态分布;p=0.5说明符合正态分布的概率很大;LSTAT小于接受假设的临界值0.173,因此接受假设。

    至此,判断结束。

    其实,除了正态分布以外,还可以对其他的概率分布类型进行假设检验,以后有空一一列举出来。

    展开全文
  • t检验(R软件)xy72.6,75.8,72.2,71.6,77.1,71.5,68.2,72,71.5)t.test(x, y, var.equal=TRUE)当p-...(适用于两组数据的个数相等时)F检验(R软件)xy72.6,75.8,72.2,71.6,77.1,71.5,68.2,72,71.5)var.test(x, y)当p-va...

    t检验(R软件)

    x

    y

    72.6,75.8,72.2,71.6,77.1,71.5,68.2,72,71.5)

    t.test(x, y, var.equal=TRUE)

    当p-value>0.05时,x,y无显著性差异;否则有。(适用于两组数据的个数相等时)

    F检验(R软件)

    x

    y

    72.6,75.8,72.2,71.6,77.1,71.5,68.2,72,71.5)

    var.test(x, y)

    当p-value>0.05时,x,y方差相同;否则不同。

    判断一组数据是否服从正态分布(matlab)

    x=[62.7,80.3,80.4,68.6,73.3,72.2,71.5,72.3,81.5,78.6,78.6,77.1,77.2,85.6,78,69.2,73.8,73,78.6,78. 6,77.1,77.2,85.6,78,69.2,73.8,73];

    x = x';

    alpha = 0.05;

    % 正态分布判断

    [mu, sigma] = normfit(x);

    p1 = normcdf(x, mu, sigma);

    [H1,s1] = kstest(x, [x, p1], alpha);

    n = length(x);

    if H1 == 0

    disp('该数据源服从正态分布。')

    else

    disp('该数据源不服从正态分布。')

    end

    变异系数计算: C.V =(标准偏差÷平均值)×100%,变异系数越小越稳定。(适用于正态分布)

    灰色预测

    线性回归

    inv(x)或x^-1求x的逆, rank(x)x的秩, [a,lamda]=eig(x)求矩阵a的特征值与特征向量(方阵),rotate3d用于旋转三维图形,grid on用于加网格,zoom on放大图形,zeros(3,3)全0阵ones(3,3)eye(3,3)单位阵

    展开全文
  • 判断一组数据是否服从正态分布(matlab)程序代码.docx判断一组数据是否服从正态分布(matlab)程序代码.docx判断一组数据是否服从正态分布(matlab)程序代码.docx判断一组数据是否服从正态分布(matlab)程序代码.docx判断...
  • 判断一组数据是否服从正态分布(matlab)程序代码.pdf判断一组数据是否服从正态分布(matlab)程序代码.pdf判断一组数据是否服从正态分布(matlab)程序代码.pdf判断一组数据是否服从正态分布(matlab)程序代码.pdf判断一组...
  • 正态分布: 若随机变量x服从有个数学期望为μ,方差为σ2的正态分布,记为N(μ,σ) 其中期望值决定密度函数的位置,标准差决定分布的幅度,当υ=0,σ=0 时的...#构造一组随机数据 s = pd.DataFrame(np.random.randn.
  • 这篇文章主要讲讲如何判断数据是否符合正态分布。主要分为两种方法:描述统计方法和统计检验方法。描述统计方法描述统计就是用描述的数字或图表来判断数据是否符合正态分布。常用的方法有Q-Q图、P-P图、直方图、茎叶...
  • 如何判断数据是否符合正态分布

    千次阅读 2021-02-01 15:38:17
    用到了就记一下= =太多了时间长了慢慢忘了。 1、Q-Q图 我们先看看标准的正态分布图: stats.probplot(df1['3#3temp'], dist="norm", plot=plt) plt.show() 结果:
  • matlab 数据是否符合正态分布判断方法

    万次阅读 多人点赞 2019-11-26 10:29:34
    给定序列X=(x1,x2,x3,...,xn),判断是否数据序列X符合正态分布。 二、方法 常见已知分布的检验方法:kstest、jbtest、lillietest、chi2gof等,这里使用使用Lilliefors检验进行描述。 语法: 1:h =...
  • 教育精品资料
  • 判断数据是否符合正态分布,比如使用3-sigma判断数据异常前,首先需要确定的是数据是否符合正态分布。今天一起梳理下检测正态分布的方法。Shapiro-Wilk testShapiro-Wilk test是种在频率上统计检验中检验正态性的...
  • java编出正态分布的方法,计算正态分布的算法函数等。没测试过希望能对有需求的人使用
  • 验证是否正态分布的方法分为两类:肉眼判断假设检验肉眼判断肉眼判断当然是句玩笑话,我们不能只凭看两眼数据就认定是否符合正态分布了,我们是通过其与正态分布数据相比较,并不是直接做个大仙,...
  • 1、最新资料推荐如何检验数据是否服从正态分布一、图示法1、 P-P图以样本的累计频率作为横坐标, 以安装正态分布计算的相应累计概率作为纵坐标,把样本值表现为直角坐标系中的散点。 如果资料服从整体分布, 则样本...
  • A=[4 3.7 4 4 4 3.7 3.1 4.1 3.9 1.88889 3.9 4 2.6 3.9 3.9 2.3 2.9 3.4 2.7 1.1 4.3 3.2 3.9 3.6 3.1 3.5 3.7];... alpha = 0.05%正态分布判断 [mu, sigma] = normfit(A; p1 = normcdf(A, mu, sigma; [H1,s1] = kste
  • 问题详情如何用c#判断一组是否符合正态分布,并绘出正态分布曲线图.100分,出结果马上给.如何用c#判断一组是否符合正态分布,并绘出正态分布曲线图.100分,出结果马上给.作者: fbyzlp发布时间: 2009-09-22高手们都...
  • 正确判断一个样本所来自的总体分布情况是一个重要话题,总体的分布情况与统计方法选择密切相关。那么,有没有靠谱的方法判断一个样本来自什么样的总体?答案是否定的。因为总体基本不可获得,所以总体的真实分布类型...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,594
精华内容 6,237
关键字:

判断一组数据是否正态分布