大师兄的数据分析学习笔记(四):探索性数据分析(三)

大师兄的数据分析学习笔记(三):探索性数据分析(二)
大师兄的数据分析学习笔记(五):探索性数据分析(四)

三、单因子与可视化

6. 数据分类
数据类型 描述 案例
定类数据 根据事务离散、无差别属性进行的分类。 民族、性别
定序数据 可以界定数据的大小,但不能测定差值。 职称等级
定距数据 可以界定数据大小的同时,可测定差值,无绝对零点(乘除无意义)。 温度
定比数据 可以界定数据大小,可测定差值、有绝对零点。 身高体重
7. 异常值分析
  • 异常值是指与其他观测值有显著差异的数据点。
  • 异常值的存在可能会导致数据无效。
7.1 连续异常值
  • 在一组数据中的上四分位数向上取k倍(k通常取1.5-3)为上界,下四分位数向下取k倍为下界上/下界以外的值称为异常值
  • 通常k取1.5时为中等异常、取3时为非常异常。
  • 连续异常值可以根据实际情况舍弃或用上/下界替代。
>>>import numpy as np

>>>k = 1.5
>>>data = np.append(np.random.rand(100),(np.random.rand(10)*10))
>>>Q_L = np.quantile(data,0.25,interpolation='lower')
>>>Q_U = np.quantile(data,0.75,interpolation='higher')
>>>IQR = Q_U - Q_L
>>>outlier_step = k*IQR
>>>abnormal = data[(data>Q_U+outlier_step)|(data<Q_L-outlier_step)]
>>>print(f"上界:{Q_U+outlier_step} 下界:{Q_L-outlier_step}")
上界:1.5504747843883402 下界:-0.3883817114860346
>>>print(f"异常值:{abnormal}")
异常值:[8.17103381 8.41505442 1.88209875 2.42209849 6.89254331 4.46870627
 3.74401613 5.98124444 9.12398726]
7.2 离散异常值
  • 离散属性定义范围外的所有值均为异常值,比如空值。
  • 离散异常值可以直接舍弃或当做单独的值来处理。
>>>import numpy as np

>>>values = ["A","B","C",None]
>>>data = np.random.choice(values,size=100)
>>>print(f"100个数据中的异常值为{len([x for x in data if not x])}")
100个数据中的异常值为26
7.3 知识异常值
  • 限制知识以外的异常值为**知识异常值,比如身高超过10米。
8. 对比分析
  • 对比分析是通过比较的方式达到认识与了解事实与数据的分析方法。
8.1 对比内容
  • 绝对数比较:数字比较,比如收入、身高、面积的比较。
  • 相对数比较:把几个有联系的指标进行联合构成相对数比较,常见以下相对数:
相对数 描述
结构相对数 部分与整体进行相比,比如用产品合格率评价产品质量。
比例相对数 总体内用不同部分的数值进行比较,比如产业结构中农业、重工业和服务业之间的占比变化。
比较相对数 同一时空下的相似或同质的指标进行对比,比如不同时期下商品的价格。
动态相对数 时间概念的相对数,比如用户数量的增速。
强度相对数 性质不同,担忧相互联系的属性及其联合,比如gdp和人均gdp的比较。
8.2 对比方法
  • 时间维度:根据不同的时间进行比较,比如同比、环比等。
  • 空间维度:根据现实方位不同的空间,比如不同城市;或逻辑上的空间进行比较,比如公司内不同的部门。
  • 经验与计划维度:比如计划排期与进度进行比较等。
9. 结构分析
  • 结构分析可以看做对比分析中的比例相对数的比较,重点研究整体组成结构方面的差异与相关性。
  • 结构分析可以分为静态结构分析动态结构分析
9.1 静态结构分析
  • 静态结构分析是直接分析总体的组成。
>>>import matplotlib.pyplot as plt
>>>import pandas as pd
>>>plt.rcParams['font.sans-serif']=['SimHei']

>>>data = {
>>>    "A班":{"男生":34,"女生":17},
>>>    "B班":{"男生":26,"女生":44},
>>>    "C班":{"男生":42,"女生":8},
>>>}

>>>data = pd.DataFrame.from_dict(data)
>>>fig,(ax1,ax2,ax3) = plt.subplots(1,3)
>>>ax1.pie(data.A班,labels=data.index)
>>>ax2.pie(data.B班,labels=data.index)
>>>ax3.pie(data.C班,labels=data.index)
>>>ax1.set_title("A班")
>>>ax2.set_title("B班")
>>>ax3.set_title("C班")
>>>plt.show()
9.2 动态结构分析
  • 动态结构分析是以时间为轴,分析结构变化的趋势。
>>>import pandas as pd
>>>import matplotlib.pyplot as plt

>>>data = {
>>>    "2022-2":{"男生":21,"女生":16},
>>>    "2022-3":{"男生":25,"女生":14},
>>>    "2022-4":{"男生":20,"女生":22},
>>>}

>>>data = pd.DataFrame.from_dict(data,orient="index")
>>>data['男生比例'] = data['男生']/(data['男生']+data['女生'])
>>>data['女生比例'] = data['女生']/(data['男生']+data['女生'])

>>>x = data.index
>>>plt.plot(x,data['男生比例'])
>>>plt.plot(x,data['女生比例'])
>>>plt.legend()
>>>plt.show()
10. 分布分析
10.1 直接获得概率分布
  • 将得到的数字排列。
  • 如果是离散的,就讲离散值数出来,并将其排列。
  • 直接获得的概率分布,有可能有意义的,有可能需要经过比对才有意义,也有可能是没有意义的。
10.2 判断是不是正态分布
  • 如果一个分布属于正态分布,就可以用均值、方差等性质来快速定位某具体值相对于整体的位置。
  • 判断数据是正态分布,需要用到假设检验的方法。
  • 判断数据不是正态分布,可以看数据的偏态峰态,如果偏态峰态过大,则不是正态分布。
10.3 极大似然
  • 极大似然就是极大相似的样子,是相似程度的衡量,用于比较一组数据和已知的分布有多像。
  • 如果一份数据属于正态分布,就一定可以确定一个均值和一个方差;
  • 使该均值和方差确定的正态分布下的数据点在这个确定的分布的取值是它们的概率;
  • 这些值的和或者集在刚刚确定的均值和方差下是最大的;
  • 取这些值的和或者集的对数,这个对数就叫极大似然
  • 对比数据在比如正态分布t分布f分布下的极大似然,哪个极大似然越大,就越接近哪种分布。
>>>import matplotlib.pyplot as plt
>>>import numpy as np
>>>import pandas as pd
>>>from scipy.stats import norm

>>>u = 30
>>>d = 2
>>>x = pd.DataFrame(u+d*np.random.randn(5000))
>>>print(f"均值:{x.mean().values}")
>>>print(f"中位数:{x.median().values}")
>>>print(f"峰度:{x.kurt().values}")
>>>print(f"偏度:{x.skew().values}")
>>>print(f"正态分布极大似然估计:{norm.fit(x)}")
>>>print(f"t分布极大似然估计:{t.fit(x)}")

>>>plt.hist(x,bins=100)
>>>plt.show()
均值:[30.01113002]
中位数:[29.99309605]
峰度:[-0.02476348]
偏度:[0.0575392]
正态分布极大似然估计:(30.011130016680593, 1.9851376026711942)
t分布极大似然估计:(44.04636433569924, 30.009866284533302, 1.9221391065961893)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,240评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,328评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,182评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,121评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,135评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,093评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,013评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,854评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,295评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,513评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,398评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,989评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,636评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,657评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容