相关系数
常用的两种相关系数:皮尔逊Pearson相关系数和斯皮尔曼Spearman相关系数。它们可用来衡量两变量之间的相关性大小,根据数据满足的不同条件,我们要选择不同的相关系数进行计算和分析。
斯皮尔曼相关系数和皮尔逊相关系数选择:
1.连续数据,正态分布,线性关系,用pearson相关系数是最恰当。(用 spearman相关系数也可以, 就是效率没有pearson相关系数高)
2.上述任一条件不满足,就用spearman相关系数,不能用pearson相关系数。
3.两个定序数据之间也用spearman相关系数,不能用pearson相关系数。
定序数据是指仅仅反映观测对象等级、顺序关系的数据,是由定序尺度计量形成的,表现为类别,可以进行排序,属于品质数据。(eg:优、良、差,我们可以用1表示优、2表示良、3表示差)
spearman斯皮尔曼相关系数的适用条件比pearman皮尔逊相关系数要广,只要数据满足单调关系 (例如线性函数、指数函数、对数函数等)就能够使用。
皮尔逊相关系数
皮尔逊相关系数是用于衡量两个变量线性相关程度的指标;(其使用条件:两个变量为线性相关)如果两个变量本身就是线性的关系,那么皮尔逊相关系数绝对值越大,相关性就越强;反之。公式如下:
前期准备
在建模过程中,如果要计算皮尔逊相关系数我们首先要画出散点图,再通过散点图看两个了变量之间的趋势,看其是否具有线性相关。(对相关系数大小的解释需要看具体的应用背景和目的。);(相关系数的显著性:与假设检验相关)
1.使用SPSS画散点图:图形 - 旧对话框 - 散点图/点图 - 矩阵散点图
2.相关系数可视化:用Excel把得到的相关系数进行美化,
在运用皮尔逊相关系数前先对数据进行描述性统计(Matlab,Excel,SPSS);
1.下图是Matlab中基本统计量的函数(表粗的常用):
2.用Excel对数据进行描述性统计:在标题栏点击数据 - 数据分析 - 描述统计
3.用SPSS对数据进行描述性统计:文件 - 导入 - Excel;分析 - 描述统计 - 描述
假设检验
第1步:提出原假设H0和备择假设H1(两个假设是截然相反的);我们想检验计算出的皮尔逊相关系数r是否显著的异于0,我们可以设定原假设和备择假设:H0:r = 0,H1:r ≠ 0(双侧检验)。
第2步:在原假设成立的条件下,利用我们要检验的量构造出一个符合某一分布的统计量(统计量相当于我们要检验的量的一个函数,里面不能有其他的随机变量;这里的分布一般有四种:标准正态分布、t分布、x平方分布和F分布)
t分布是标准正态分布的一个特例,当n趋于无穷时其就相当于标准正态分布。
第3步:将要检验的值带入这个统计量中,可以得到检验值。
第4步:已知统计量的分布情况,所以可以画出该分布的概率密度函数pdf,并给定一个置信水平,根据其查找临界值,并画出检验统计量的接收域和拒绝域
P值判断法:
斯皮尔曼相关系数
Spearman相关系数是一种非参数的相关性度量,可以等级化变量之间的相关性, 用于分析两个连续变量之间的相关性。(Spearman等级相关系数:适用于度量定序变量与定序变量之间的相关。)公式如下:
其中,(一个数的等级,就是将它所在的一列数按大小进行排序后,这个数所在的位置;如果有的数值相同,则将它们所在的位置取算术平均。)
它的绝对值越大,相关性就越强;小于0时表示负相关,大于0则代表正相关。
时间序列预测
Q检验能帮助我们检验残差是否为白噪声,软件会给我们计算出P值(显著性),当P<0.05则拒绝原假设,此时模型还没有识别完全,需要修正。
聚类模型
K-means聚类算法
算法流程:
①输入聚类的个数k和最大迭代次数n;
②随机选择k个数据对象作为初始的聚类中心;
③分配各个数据对象到距离最近的类中,并更新聚类中心;
④循环步骤③,看聚类中心是否收敛或达到迭代次数n,如果收敛或达到迭代次数则停止循环;
优缺点
优点:算法简单、快速;对处理大数据集,该算法是相对高效率的。
缺点:要求用户必须事先给出要生成的簇的数目K;对初值敏感;对于孤立点数据敏感。(K-means++算法可以解决这两个缺点)
K-均值聚类可视化:https://www.naftaliharris.com/blog/visualizing-k-means-clustering/
K-means++聚类算法
k-means++算法选择初始聚类中心的基本原则是:初始的聚类中心之间的相互距离要尽可能的远。
算法流程:
①随机选取一个样本作为第一个聚类中心;
②计算每个样本与已知聚类中心的最短距离,该值越大被选取为下一个聚类中心的概率就越大,最后用轮盘法(依据概率大小进行抽选)选出下一个聚类中心;
③重复步骤②直到选出k个聚类中心;
④选出初始点后,就继续使用标准的K-means算法。
SPSS操作
分析-分类-k均值聚类
使用算法过程中的一些问题:
(一)聚类的个数K值怎么定?
分几类主要取决于个人的经验与感觉,通常的做法是多尝试几个K值, 看分成几类的结果更好解释,更符合分析目的等。
(二)数据的量纲不一致怎么办?
如果数据的量纲不一样,那么算距离时就没有意义。可在SPSS中将数据标准化:分析-描述统计-描述-将标准化值另存为变量。
系统(层次)聚类
系统聚类的合并算法通过计算两类数据点间的距离,对 最为接近的两类数据点进行组合,并反复迭代这一过程,直 到将所有数据点合成一类,并生成聚类谱系图。
样品与样品之间的常用距离
指标与指标之间的常用“距离”(指标i和指标j)
类与类之间的常用距离
(一)最短距离法
(二)最长距离法
(三)组间平均链接法
(四)组内平均链接法
(五)重心法
两个类的重心如下:
算法流程:
①计算n个样品两两之间的距离;
②构造n个类,每类只含有一个样品;
③合并距离最小的两个类为一个新类;
④重新计算新类与当前各类之间的距离;
⑤重复步骤②③,直到所有类最后合并成一类;
SPSS操作
分析-分类-系统聚类-方法(如果量纲不同要勾选标准化中的z得分)-图-谱系图
用图形估计聚类的数量
肘部法则(Elbow Method):通过图形大致的估计出最优的聚类数量k。
画图前先对数据进行处理:把(系数)数据粘贴到Excel表格中, 并按照降序排好。
聚合系数折线图的画法:Excel-插入-推荐的图表-散点图
例图:
根据图来进行解释: (1)根据聚合系数折线图可知,当类别数为5时, 折线的下降趋势趋缓,故可将类别数设定为5;(2)从图中可以看出, K值从1到5时,畸变程 度变化最大。超过5以后,畸变程度变化显著 降低。因此肘部就是 K=5,故可将类别数设定为5。(当然,K=3也可以解释)
确定K后保存聚类结果并画图
在SPSS中重新聚类,在保存中的单个解中输入聚类个数。
画图:SPSS-图形-图表构建器-图库-散点图/点图-(组/点)
DBSCAN算法
一种基于密度的聚类方法,
DBSCAN算法将数据点分为三类:
• 核心点:在半径Eps内含有不少于MinPts数目的点;
• 边界点:在半径Eps内点的数量小于MinPts,但是落在核心 点的邻域内;
• 噪音点:既不是核心点也不是边界点的点;
DBSCAN算法可视化:https://www.naftaliharris.com/blog/visualizing-dbscan-clustering/
优点: 1. 基于密度定义,能处理任意形状和大小的簇; 2. 可在聚类的同时发现异常点; 3. 与K-means比较起来,不需要输入要划分的聚类个数。
缺点: 1. 对输入参数ε和Minpts敏感,确定参数困难; 2. 由于DBSCAN算法中,变量ε和Minpts是全局唯一的,当聚类的密度不均匀时,聚 类距离相差很大时,聚类质量差; 3. 当数据量大时,计算密度单元的计算复杂度大。
使用建议:
只有两个指标,且你做出散点图后发现数据表现得很“DBSCAN”,这时 候你再用DBSCAN进行聚类。 其他情况下,全部使用系统聚类。 K-means也可以用,不过用了的话论文上可写的东西比较少。