zoukankan      html  css  js  c++  java
  • 描述统计学:分布形态、异常值

    分布形态

    今天接到老板的需求,需要爬取50多个国外的时尚图片,最近没时间搞了,就先学这吧,等我做了这个需求继续学

    一个重要的数值度量被称为偏度

    z-分数

    z-分数被称为标准化数值

    z-分数 = 平均数的离差 / s代表样本标准差

    切比雪夫定理

    能使我们指出与平均数的距离在某个特定个数的标准差之内的数据值所占的比例

    看实例:

    假设100个学生平均成绩70,标准差5

    那么你要预估大概58-82的区间人数大概多少

    z=(58-70)/5 = -2.4
    z =(82-70)/5=+2.4

    (1-1/(2.4)^2)=0.826

    至少有82.6%的学生考试成绩在58-82分中间。

    经验法则

    人们发现许多数据具有类似图3-4所示的对称的峰形或钟形分布。当数据被认为近似于这种分布时,就可以运用经验法则。

    对于具有钟形分布的数据:

    大于68%的数据值与平均数的距离在1个标准差之内
    大于95%的数据值与平均数的距离在2个标准差之内
    几乎所有的数据值与平均数的距离在3个标准差之内

    检测异常值

    数据集中有一个或多个数值异常大或异常小,被称为异常值

    异常值可能是一个被错误记录的数据值,也可能是一个被错误包含在数据集中的观测值。如果是这样,则可以删除,也可能就是一个反常的数据值,它被正确记录并且属于数据集,在这种情况下,它应该被保留。

    标准化数值(z-分数)可以用来确认异常值。

    对钟形分布的数据,建议吧大于或小于3的任何数值都视为异常值。

    检测异常值是检查数据有效性的一个工具

    练习

    1. 考虑数据值为10,20,12,17,16的一个样本,计算这5个观测值的每一个的z-分数。
    import numpy as np
    import pandas as pd
    from pandas import Series
    test_data = [10,20,12,17,16]
    data = Series(test_data)
    data
    
    # 标准差
    st= data.std()
    4.0
    
    # 平均数
    mea= data.mean()
    15.0
    
    # z-分数
    z = (data - mea)/ st
    z
    
    0   -1.25
    1    1.25
    2   -0.75
    3    0.50
    4    0.25
    
    1. 考虑平均数为30,标准差为5的一个样本,利用切比雪夫定理来确定在下列范围内的数据所占的比例。

      a. 20 - 40 b. 15-45 c. 22-38 d. 18-42 e. 12-48

    test2_data = [20,40,15,45,22,38,18,42,12,48]
    
    data2 = Series(test2_data)
    
    z1 = (data2-30)/5
    z1
    
    0   -2.0
    1    2.0
    2   -3.0
    3    3.0
    4   -1.6
    5    1.6
    6   -2.4
    7    2.4
    8   -3.6
    9    3.6
    
    p = 1-1/(z1*z1)
    
    0    0.750000
    1    0.750000
    2    0.888889
    3    0.888889
    4    0.609375
    5    0.609375
    6    0.826389
    7    0.826389
    8    0.922840
    9    0.922840
    dtype: float64
    
    ​a.20-40的比例为75%
    b.15-45的比例为88.89%
    c.22-38的比例为60.93%
    d.18-42的比例为82.6%
    e.12-48的比例为92.28%
    
    1. 一项全美型的调查结果显示,美国成年人每天平均睡眠6.9小时,假设标准差为1.2小时。

      a. 每天睡眠时间在4.5-9.3小时的成年人比例。
      b. 3.9-9.9小时的成年人比例。
      c. 假设睡眠时间服从钟形分布。利用经验法则计算每天在4.5-9.3小时的成年人比例。这个结果如何与切比雪夫定理得到的结果比较?

    test3 = [4.5,9.3,3.9,9.9]
    data = Series(test3)
    z3 = (data-6.9)/1.2
    z3
    
    0   -2.0
    1    2.0
    2   -2.5
    3    2.5
    
    p3 = 1-1/(z3*z3)
    p3
    0    0.75
    1    0.75
    2    0.84
    3    0.84
    
    4.5-9.3小时的成年人比例75%
    3.9-9.9小时的成年人比例84%
    
    根据经验法则,发现95%的人睡眠4.5-9.3小时。
    

    gai

    # 算出标准差距离
    615-515/100 = 1
    # 大约68%的学生超过615分
    715-515/100 = 2
    # 大约95%的学生超过715分
    
    # 小于615分的大概为32%,里面415-515分比例又在第一个标准间为68%,则在415-515分的比例是25%。
    
    # 315到615的比例为95%*32% = 30%
    
    

    gai
    gai

    test5 = [13,12,8,3,8,2,18]
    data5 = Series(test5)
    data5.mean()
    平均数9.14
    data5.median()
    中位数8
    data5.mode()
    众数8
    data5.max()-data5.min()
    极差16
    data5.std()
    标准差5.66
    # 判断是否异常
    (18-9.14)/5.66 = 1.56
    # 标准差距离在2个以内,不算异常值
    
    d. 无法看出
    

    gai

    score = [4.00,4.12,3.82,4.00,4.56,4.32,4.33,4.50,4.64,4.20,4.67,2.14,4.09,4.17,4.88,4.26,2.32,4.50,4.17,2.17]
    score_data = Series(score)
    score_data.mean()
    平均数3.993
    
    score_data.median()
    中位数4.18
    
    score_data.quantile([0.25,0.75])
    0.25    4.0
    0.75    4.5
    dtype: float64
    score_data.std()
    标准差 0.8113672670901033
    
    偏度为-1.67,形态为适度偏左形状,评分偏低的较多。
    
    zAllison = 0.15
    zOmni = -2.06
    
    # 判断是否异常值
    (2-3.993)/0.81 = -2.460
    (5-3.993)/0.81 = 1.24
    看见最大和最小的范围内都在第三标准间距,没有异常值
    
  • 相关阅读:
    有个表叫杨表(上)
    Codeforces Round #698 (Div. 2) 题解 全部6题
    Leetcode 821. 字符的最短距离
    gitbook mermaid不能渲染问题
    adb命令启动app及查找系统版本号
    git库使用
    excle转html方法
    gitbook插入视频
    xcode使用技巧
    在 Mac 上的“自动操作”工作流程中使用 Shell 脚本操作
  • 原文地址:https://www.cnblogs.com/lishi-jie/p/9936549.html
Copyright © 2011-2022 走看看