两组数据的相关性分析

https://jingyan.baidu.com/article/90808022a562b8fd90c80f64.html

转载于:https://www.cnblogs.com/DixinFan/p/9571557.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据相关性分析⽅法 5种常⽤的相关分析⽅法 种常⽤的相关分析⽅法 转载:http://bluewhale.cc/2016-06-30/analysis-of-correlation.html 相关分析(Analysis of Correlation)是⽹站分析中经常使⽤的分析⽅法之⼀。通过对不同特征或数据间的关系进⾏分析,发现业务运营 中的关键影响及驱动因素。并对业务的发展进⾏预测。本篇⽂章将介绍5种常⽤的分析⽅法。在开始介绍相关分析之前,需要特别说明的是 相关关系不等于因果关系。 相关分析的⽅法很多,初级的⽅法可以快速发现数据之间的关系,如正相关,负相关或不相关。中级的⽅法可以对数据间关系的强弱进⾏度 量,如完全相关,不完全相关等。⾼级的⽅法可以将数据间的关系转化为模型,并通过模型对未来的业务发展进⾏预测。下⾯我们以⼀组⼴ 告的成本数据和曝光量数据对每⼀种相关分析⽅法进⾏介绍。 以下是每⽇⼴告曝光量和费⽤成本的数据,每⼀⾏代表⼀天中的花费和获得的⼴告曝光数量。凭经验判断,这两组数据间应该存在联系,但 仅通过这两组数据我们⽆法证明这种关系真实存在,也⽆法对这种关系的强度进⾏度量。因此我们希望通过相关分析来找出这两组数据之间 的关系,并对这种关系进度度量。 1,图表相关分析(折线图及散点图) ,图表相关分析(折线图及散点图) 第⼀种相关分析⽅法是将数据进⾏可视化处理,简单的说就是绘制图表。单纯从数据的⾓度很难发现其中的趋势和联系,⽽将数据点绘制成 图表后趋势和联系就会变的清晰起来。对于有明显时间维度的数据,我们选择使⽤折线图。 为了更清晰的对⽐这两组数据的变化和趋势,我们使⽤双坐标轴折线图,其中主坐标轴⽤来绘制⼴告曝光量数据,次坐标轴⽤来绘制费⽤成 本的数据。通过折线图可以发现,费⽤成本和⼴告曝光量两组数据的变化和趋势⼤致相同,从整体的⼤趋势来看,费⽤成本和⼴告曝光量两 组数据都呈现增长趋势。从规律性来看费⽤成本和⼴告曝光量数据每次的最低点都出现在同⼀天。从细节来看,两组数据的短期趋势的变化 也基本⼀致。 经过以上这些对⽐,我们可以说⼴告曝光量和费⽤成本之间有⼀些相关关系,但这种⽅法在整个分析过程和解释上过于复杂,如果换成复杂 ⼀点的数据或者相关度较低的数据就会出现很多问题。 ⽐折线图更直观的是散点图。散点图去除了时间维度的影响,只关注⼴告曝光量和费⽤成本这⾥两组数据间的关系。在绘制散点图之前,我 们将费⽤成本标识为X,也就是⾃变量,将⼴告曝光量标识为y,也就是因变量。下⾯是⼀张根据每⼀天中⼴告曝光量和费⽤成本数据绘制 的散点图,X轴是⾃变量费⽤成本数据,Y轴是因变量⼴告曝光量数据。从数据点的分布情况可以发现,⾃变量x和因变量y有着相同的变化 趋势,当费⽤成本的增加后,⼴告曝光量也随之增加。 折线图和散点图都清晰的表⽰了⼴告曝光量和费⽤成本两组数据间的相关关系,优点是对相关关系的展现清晰,缺点是⽆法对相关关系进⾏ 准确的度量,缺乏说服⼒。并且当数据超过两组时也⽆法完成各组数据间的相关分析。若要通过具体数字来度量两组两组以上数据间的相 关关系,需要使⽤第⼆种⽅法:协⽅差。 2,协⽅差及协⽅差矩阵 ,协⽅差及协⽅差矩阵 第⼆种相关分析⽅法是计算协⽅差。协⽅差⽤来衡量两个变量的总体误差,如果两个变量的变化趋势⼀致,协⽅差就是正值,说明两个变量 正相关。如果两个变量的变化趋势相反,协⽅差就是负值,说明两个变量负相关。如果两个变量相互独⽴,那么协⽅差就是0,说明两个变 量不相关。以下是协⽅差的计算公式: 下⾯是⼴告曝光量和费⽤成本间协⽅差的计算过程和结果,经过计算,我们得到了⼀个很⼤的正值,因此可以说明两组数据间是正相关的。 ⼴告曝光量随着费⽤成本的增长⽽增长。在实际⼯作中不需要按下⾯的⽅法来计算,可以通过Excel中COVAR()函数直接获得两组数据的协 ⽅差值。 协⽅差只能对两组数据进⾏相关性分析,当有两组以上数据时就需要使⽤协⽅差矩阵。下⾯是三组数据x,y,z,的协⽅差矩阵计算公式。 协⽅差通过数字衡量变量间的相关性,正值表⽰正相关,负值表⽰负相关。但⽆法对相关的密切程度进⾏度量。当我们⾯对多个变量时,⽆ 法通过协⽅差来说明那两组数据相关性最⾼。要衡量和对⽐相关性的密切程度,就需要使⽤下⼀个⽅法:相关系数。, 3,相关系数 ,相关系数 第三个相关分析⽅法是相关系数。相关系数(Correlation coefficient)是反应变量之间关系密切程度的统计指标,相关系数的取值区间在1 到-1之间。1表⽰两个变量完全线性相关,-1表⽰两个变量完全负相关,0表⽰两个变量不相关。数据越趋近于0表⽰相关关系越弱。以下是 相关系数的计算公式。 其中rxy表⽰样本相关系数,Sxy表⽰样本协⽅差,Sx表⽰X的样本标准差,Sy表⽰y的样本标准差。
MATLAB中,可以使用corrcoef函数来分析两组数据相关性。corrcoef函数返回一个相关系数矩阵,其中每个元素表示对应的两组数据之间的相关性。 以下是使用MATLAB进行相关性分析的示例代码: A = [1 2 3 4 5 6 7]; B = [2 3 4 5 6 7 8]; correlation_matrix = corrcoef(A, B); correlation_coefficient = correlation_matrix(1, 2); disp("相关系数:"); disp(correlation_coefficient); 运行上述代码,将得到A和B两组数据的相关系数。 如果要进行更复杂的相关性分析,比如拟合数据并计算相关系数,可以使用lsqcurvefit函数和polyfit函数。 lsqcurvefit函数可以用来拟合数据,其中Fun表示自定义的函数f(c, x),c0为参数c的近似值,x和y为数据向量。该函数将返回最佳拟合参数。 polyfit函数可以用来进行多项式拟合,其中x和y为数据向量,k表示多项式的阶数。该函数将返回多项式的降幂系数。 以下是使用lsqcurvefit函数和polyfit函数进行相关性分析的示例代码: A = [1 2 3 4 5 6 7]; B = [2 3 4 5 6 7 8]; % 使用lsqcurvefit函数拟合数据并计算相关系数 Fun = @(c, x) c(1)*x + c(2); c0 = [1 1]; c = lsqcurvefit(Fun, c0, A, B); correlation_coefficient_lsqcurvefit = corrcoef(A, B*inv(c(1))); % 使用polyfit函数进行多项式拟合并计算相关系数 p = polyfit(A, B, 1); correlation_coefficient_polyfit = corrcoef(A, B-polyval(p, A)); disp("使用lsqcurvefit函数拟合数据的相关系数:"); disp(correlation_coefficient_lsqcurvefit(1, 2)); disp("使用polyfit函数拟合数据的相关系数:"); disp(correlation_coefficient_polyfit(1, 2)); 运行上述代码,将得到使用lsqcurvefit函数和polyfit函数拟合数据后的相关系数。 相关问题: 1. 如何使用MATLAB计算两组数据的相关系数矩阵? 2. 如何使用MATLAB进行数据拟合和相关性分析? 3. 除了相关系数,还有哪些方法可以用来分析两组数据相关性? 4. 如何判断两组数据相关性强弱?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值