1. 数据的概念
数据的分类
- 数值类数据,例如结构化的excel表格和SQL文件。
- 文本类数据,例如新闻报道、微博评论、餐饮点评等文字。
- 图像类数据,以一定尺寸的黑白或彩色图像在计算机内存储。
- 音频类数据,例如音乐、电话录音等。
- 信号类数据,例如地震波的波形、电磁波信号、脑电信号。
- 对以上数据的分析基础都是建立在数化基础上
数据的研究分类
数据的获取存储、数据的处理、数据的分析、数据的可视化等
主要是通过计算机计算、机器学习、统计学、软件等方式实现
2.数据的预处理
数据预处理的意义
- 原始数据混乱不全面,特征不明显
- 数据体量:如果列数超过行数的1/2为稀疏(或者列表里都是0或者空白)
- 数据的每一列都是一个属性
- 同时数据的属性还有离散属性和连续属性之分,处理方法不同
Pandas处理数据
对于缺失值的处理:
- 少量的缺失数据(5%内)可以把数据删掉
- 一般的缺失值数据(5%-20%)可以采用插值填充的方法
- 多量缺失数据(20%-40%)可以采用预测的方法来填充缺失数据
- 大量的缺失数据(>50%)可以直接删掉这一项
数据的规约
数据规约的意义:
- 数据分布可能是有偏的,必须符合某种分布才能进行相应的数据分析。
数据规约的两种方法:
- min-max规约:
![[1721823858715.png]]
可以消除量纲的影响,同时约束所有的属性到[0-1]的范围内
缺点:如果出现了异常值,那么这个数据的分布是有偏的。- Z-score规约:
![[1721823887274 1.png]]
减去均值再除标准差,如果数据近似服从正态分布,则为化为标准正态分布过程。
3.统计分析模型
回归分析与分类分析
- 都是研究自变量与因变量之间的潜在关系
- 不同点:回归分析因变量为连续变量,分类分析因变量为属性变量
假设检验
- 是统计分析中最重要的一环
- 在建模中可以利用假设检验对数据进行探索性信息挖掘,提供选择模型依据
- 建模后通过假设检验验证模型的有效性
在例子中主要学习的点为如何利用样本来去假设检验总体性质的“是”或“否”:
- 基本统计量需要均值和方差
- 分类为参数假设检验和非参数假设检验
- 参数假设:对总体的一个或者多个参数的假设的检验,例如均值或者方差检验。
- 非参数假设:假设不能被一个数据集合表示,例如正态性检验。
1.正态性检验:
利用参数检验正态性比非参数更好,所以重点落脚在对数据的检验上,主要方法如下:
- 可视化判断-正态分布概率图
在例子中可以较好的看出正态性数据在概率图中接近y = x,但是卡方检验几乎完全偏离了直线
- Shapiro-Wilk 检验:
适合检验小样本的数据(8-50),该测试基于相关性算法,通过计算得到一个相关系数,该系数越接近1,表明数据与正态分布拟合得越好。
![[1721826891396.png]]
具体方法:
- 建立假设:零假设 (H0):样本来自一个正态分布的总体。备择假设 (Ha):样本来自一个非正态分布的总体。
- 计算统计量:按照公式计算W值
- 解释结果:如果计算出的W值接近于1,并且对应的p值大于显著性水平(通常为0.05),则不能拒绝零假设,即数据可以被认为符合正态分布。如果p值小于0.05,应拒绝零假设,认为数据不符合正态分布。
- D’Agostino’s K-squared 检验:
主要通过计算数据的偏度(skewness)和峰度(kurtosis)来评估数据是否接近正态分布。
该检验特别适用于中小样本量的情况,并且在处理非正态数据时比Kolmogorov-Smirnov检验(K-S检验)更为稳健。
具体方法:
- 建立假设:零假设(H0)表示数据来自一个正态分布的总体,而备择假设(Ha)则表示数据不来自正态分布。
- 计算统计量:首先计算样本的偏度和峰度。偏度用于衡量数据分布的对称性,正态分布的偏度为零;峰度用于衡量数据分布的尖锐程度,正态分布的峰度为三。然后利用这两个统计量计算D’Agostino统计量,该统计量在原假设下应近似服从卡方分布。
- 计算p值:通过比较D’Agostino统计量与卡方分布,计算出一个p值,这个p值表示在原假设成立的情况下观察到该统计量的概率。如果p值小于显著性水平(通常为0.05),则拒绝零假设,认为数据不服从正态分布
- Kolmogorov-Smirnov 检验(K-S检验)
是一种非参数统计检验方法,用于比较两个概率分布是否相同,或者一个经验分布是否符合某个理论分布。这种检验方法适用于连续和定量数据,常用于正态性检验和其他分布的拟合优度检验。
K-S检验统计量D定义为样本CDF与理论CDF之间差的绝对值的最大值,即![[1721829662621.png]],其中𝐹𝑛(𝑥)Fn(x)为样本CDF,𝐹(𝑥)F(x)为理论CDF。
- 建立假设:零假设𝐻0H0表示样本来自的总体分布与指定的理论分布无显著差异,备择假设𝐻1H1则表示有显著差异。
- 计算统计量:首先计算样本CDF与理论CDF在每个观测点的差值,然后找出这些差值的最大绝对值,即为D统计量。
- 计算P值:将计算出的D统计量与临界值表或利用近似公式计算的p值进行比较。如果p值小于显著性水平(通常为0.05),则拒绝零假设,认为样本分布与理论分布有显著差异;否则不拒绝零假设。
2.两组样本均值相等性检验:
- 首先进行两组样本之间的独立性检验。
例子中的独立为抽样意义上的独立。即一个样本受试不能影响另一个样本受试。
但是我们无法保证两个样本之间的完全独立,所以只能使用更加科学的抽样方法。
具体方法:
- 双样本T检验:
使用条件:两个样本的总体都符合正态分布。
- Mannwhitneyu秩和检验:
使用条件:两个样本的总体不服从正态分布,是一种非参数检验。
- 特殊情况:两个样本为同一个受试个体不同时间的受试结果——这两个样本是成对的。
具体方法: - 成对t检验:
使用条件:总体服从正态分布。
- 成对wilcoxon秩和检验
使用条件:总体不服从正态分布。
3.方差分析-多组样本间的均值相等性检验
- 基本思想为:两者相除,即样本间均值的“差异程度”除以样本内差异程度。
大样本下,非正态性数据的方差分析是稳健的,但是在小样本下,对非正态性数据做方差分析还是可能存在误差。
小样本下可以进行(kruskalwallis检验。)
4.随机过程与随机模拟
- 主要原理为利用样本的参数在随机变量的基础上加入了时间维度。
具体实现方法为:利用simpy库进行仿真。
5.数据的可视化
- 应用场景:
- 在分析过程中的数据可视化与分析结果表达中的数据可视化。
- 分析过程中的数据可视化强调辅助分析。
- 分析结果表达中的数据可视化强调在阅读数据分析结论的人能更好地知道分析结论。
要求:
- 图表展示的信息全面且无歧义
- 图表表达的信息越多、越全面越好
- 通俗易懂,不能太专业
主要的绘图库:
1.
- Matplotlib
主要应用为:在一个绘图窗口进行绘制图形:画散点图比较方便但是代码量巨大。
2.
- Seaborn
主要应用为:统计分析绘图。是在Matplotlib基础上进行的封装。一般实际中应该注意两种工具的配合使用。
3.
- Plotnine
实际上是R语言数据可视化在Python上的移植,逻辑为一句话一个图层绘制图表。
缺点:只能进行直角坐标系的图形绘制,其他坐标系用Matplotlib和Seaborn进行绘制。
基本图标
1.类别型图表:
类别型图表一般表现为:X类别下Y数值之间的比较,因此类别型图表往往包括:X为类别型数据、Y为数值型数据。类别型图表常常有:柱状图、横向柱状图(条形图)、堆叠柱状图、极坐标的柱状图、词云、雷达图、桑基图等等。
2.关系型图表:
关系型图表一般表现为:X数值与Y数值之间的关系,如:是否是线性关系、是否有正向相关关系等等。一般来说,关系可以分为:数值型关系、层次型关系和网络型关系。
主要包括:关联关系图、包含趋势的散点图、聚类散点图、相关关系矩阵图、热力图。
3.分布型图表:
所谓数据的分布,其实就是数据在哪里比较密集,那里比较稀疏,描述数据的密集或者稀疏情况实际上可以用频率或者概率。
主要包括:直方图、箱线图、饼状图、环状图。
4.时间序列型图表:
包括时间序列图、时间序列折线图、多系列折线图、
插值模型
- 适用情况:一般的数据缺失的情况(5%-20%)。
- 主要方法:线性插值法、三次样条插值、拉格朗日插值。
- 线性插值法:
线性插值对两个点中的解析式是按照线性方程来建模,根据直线的点斜式方程,这个直线解析式为:
![[1721837827728.png]]- 三次样条插值:
它将两个数据点之间的填充模式设置为三次多项式。它假设在数据点(xk,yk)和(xk+1,yk+1)之间的三次式叫做Ik,那么这一组三次式需要满足条件:
![[1721837892464.png]]
- 拉格朗日插值:
对于一组数据{y}和下标{x},定义n个拉格朗日插值基函数:![[1721837970476.png]]
这本质上是一个分式,当x=xk时lk(x)=1,这一操作实现了离散数据的连续化。按照对应下标的函数值加权求和可以得到整体的拉格朗日插值函数:
![[1721838003764.png]]