zoukankan      html  css  js  c++  java
  • 描述统计学:五数概括法、箱形图、协方差和相关系数

    五数概括法

    通俗的说就是最小,第一四分位,第二四分位,第三四分位,最大数

    箱形图

    箱形图是基于五数概括法的数据的一个图形汇总。

    gai

    箱形图的说明:

    (1)边界分别为第一四分位数和第三四分位数
    (2)在箱体上中位数即第二四分数处画垂线
    (3)利用四分位数间距IQR = Q3-Q1,找到界限,超出即为异常值。
    IQR左 = Q1 - 1.5×IQR
    IQR右 = Q3 + 1.5×IQR
    (4)虚线被称为触须线,触须线的端点为最小值和最大值
    (5)每个异常值的位置用符号'*'来标出。

    箱线图提供了另一种检测异常值的方法,但他和Z-分数检测出的异常值不一定相同,可选一种或两种。

    练习

    1. 数据集的第一四分位数为42,第三四分位数为50,计算箱形图的上、下界限。数据值65是否应该认为是一个异常值?

      上限:50+1.5*8 = 62
      65大于上限,是异常值

    gai

    import numpy as np
    import pandas as pd
    from pandas import Series
    
    data = [8408,1374,1872,8879,2459,11413,608,14138,6452,1850,2818,1356,10498,7478,4019,4341,739,2127,3653,5794,8305]
    data_sale = Series(data)
    data_sale
    
    a
    min        608.000000
    25%       1872.000000
    50%       4019.000000
    75%       8305.000000
    max      14138.000000
    b
    下界限:1872-1.5*(8305-1872) = -7777.5
    上界限: 8305+1.5*(8305-1872) = 17954.5
    c. 最小最大值都在界限范围内,数据中没有异常值
    d. 可以发现,因为最大上限只有179.54亿
    e. 箱线图代码
    import matplotlib.pyplot as plt
    import matplotlib.pyplot as plt
    plt.matplotlib.rcParams['font.sans-serif'] = ['SimHei'] 
    df = pd.DataFrame(data_sale,columns = ['销售业绩'])
    df.boxplot()
    plt.show()
    

    gai

    gai
    gai

    prepar_data = [23.5,22.8,38.3,41.3,40.6,15.6,12.4,11.5,33.3,16.0,16.9,10.3,3.4,24.2,12.1,20.6,11.9,4.1,13.6,10.7,13.2,13.5,19.5,21.4,24.5,10.4,10.8,10.0,10.9,15.1,6.6,13.2,13.6,12.8,18.7,11.4,23.6,27.3,20.4,36.6,21.5,26.3,23.7,11.7,23.2,14.5]
    data_fund = Series(prepar_data)
    data_fund.describe()
    
    count    46.000000
    mean     18.206522
    std       9.102708
    min       3.400000
    25%      11.750000
    50%      15.350000
    75%      23.425000
    max      41.300000
    
    上限:11.75 - 1.5*(23.425-11.75) = -5.75
    下限:23.425 + 1.5*(23.425-11.75) = 40.93
    没有异常值,都在这个范围内。
    

    gai

    两变量间的关系度量

    管理者或决策者最关心的两个变量之间的关系:协方差和相关系数。

    协方差

    样本协方差

    总体协方差

    协方差中x的平均数为垂直线,y的平均数为水平线,这样会把散点图分为四个象限。

    gai

    协方差如果为正,说明在第一三象限,为正相关;如果为负,说明在第二四象限,为负相关;如果为0,则说明不存在线性关系。

    这种做法有弊端,对x和y的计量单位依赖较高,相同的线性关系,度量单位不同,可能会出现协方差的值有大有小,为了避免这种情况,我们将使用相关系数对两变量间的相关关系进行量度。

    相关系数

    样本数据

    ----样本协方差

    ----x的样本标准差

    ----y的样本标准差

    总体数据

    ----总体协方差
    ---- x的总体标准差

    ---- y的总体标准差

    样本相关系数是总体相关系数的一个估计

    相关系数的解释

    的值为1,则表明
    x和y之间存在完全正线性关系,如果值为-1,则表明存在完全负线性关系。

    相关系数提供了线性但是不一定是因果关系的一个度量。并不是一个变量的变化会引起另一个变量的变化。

    练习

    gai

    import pandas as pd
    import matplotlib.pyplot as plt
    plt.matplotlib.rcParams['font.sans-serif'] = ['SimHei'] 
    plt.rcParams['axes.unicode_minus']=False  # 用来正常显示负号
    
    p_x = [6,11,15,21,27]
    p_y = [6,9,6,17,12]
    data = pd.DataFrame([p_x,p_y], index=['x','y'])
    data.T
    data.T.plot.scatter('x','y')
    

    gai

    # x和y的相关系数
    data.T.x.corr(data.T.y)
    26.5
    
    # x和y的协方差
    data.T.x.cov(data.T.y)
    0.6930621597798724
    
    x和y中正相关关系,但是不是很强的线性关系
    

    gai

    # 相关系数
    df.T.x.corr(df.T.y)
    -0.9103693792631485
    基本接近-1,可以得知,有很强的负线性关系。
    如下散点图更证实了这一点。
    
    px = [30,50,40,55,30,25,60,25,50,55]
    py = [28,25,25,23,30,32,21,35,26,25]
    df = pd.DataFrame([px,py], index=['x','y'])
    df.T.plot.scatter(x='x',y='y')
    

    gai

    gai

    pdx = [0.20,0.82,-0.99,0.04,-0.24,1.01,0.30,0.55,-0.25]
    pdy = [0.24,0.19,-0.91,0.08,-0.33,0.87,0.36,0.83,-0.16]
    df = pd.DataFrame([pdx,pdy],index=['DJIA','S&P 500'])
    df.T
    
    df.T.plot.scatter(x='DJIA',y='S&P 500')
    

    gai

    # 样本相关性
    p = df.T['S&P 500']
    df.T.DJIA.corr(p)
    0.9097954353933699
    
    接近1,说明两者之间有强的线性关系,随着道琼斯指数的增加,标准普尔的股票价格也会上升,因此,必须审核这两个指数。
    

    加权平均数和使用分组数据

    加权平均数

    就是在平均数的基础上加了每个值的数量。用数量*值/数量的和

    分组数据

    由于分组数据没有具体的值,可以取中间值*频数 / 样本总数 算出分组数据的平均数。

    同理可以算出分组数据的方差和标准差。

    分组数据可以用组中值近似的代替每组的数据,但是这样的统计量并不太准确,尽可能使用原始数据而非分组数据。

  • 相关阅读:
    nginx 怎么通过域名访问8080端口(指定端口)
    node.js 部署的 vue 项目怎么在局域网访问
    MySQL的疑难问题解决
    win10下装ubuntu双系统(免U盘)
    文件、块、对象存储
    OpenShift定义的安全上下文约束(SCCs)
    OpenShift资源类型
    yum命令详解
    OCP3.9的网络
    NTP时间服务器搭建部署
  • 原文地址:https://www.cnblogs.com/lishi-jie/p/9954039.html
Copyright © 2011-2022 走看看