精华内容
下载资源
问答
  • 皮尔逊相关性分析要求变量类型为连续数值型变量,在问卷研究中,数据一般被视为连续数值型变量。因此,皮尔逊相关性分析是量表分析中最常用的统计学方法 。 接下来我将用几个步骤,在IBM SPSS Statistics中演示

    现在假设有一份问卷报告,里面调查了用户对于某一商品质量的满意程度、售后的满意程度、回购的意愿这三项,那么要你去分析出这三项数据的相关性。这三者相或不相关是一个定性问题,那我们如何用数学的数据分析的方法来解决呢。在IBM SPSS Statistics中我们可以使用皮尔逊检测法来做相关性分析

    皮尔逊相关性分析要求变量类型为连续数值型变量,在问卷研究中,数据一般被视为连续数值型变量。因此,皮尔逊相关性分析是量表分析中最常用的统计学方法 。 接下来我将用几个步骤,在IBM SPSS Statistics中演示如何进行皮尔逊相关性分析。

    1、数据展示

    如图所示,图中有15组调查结果,图中的数字1~5代表满意程度,数字越大代表满意程度越高。

    1479dfd04603d72f552aee21d18b806

    图1:数据展示

    2、菜单位置

    首先点击菜单中的“分析”按钮,然后点击下级菜单的“相关”按钮,最后点击“双变量”按钮。

    bed3ca97c52f5c9f5d524a362a24568

    图2:菜单位置

    3、编辑双变量相关性界面

    如图所示,我们将满意程度、回购意愿、质量满意这三个变量加入到变量框中。

    3211d74bdaa29f4a428796d307f745d

    图3:选择分析变量

    点击“选项”按钮,然后勾选下图界面中的平均值和标准差、叉积偏差和协方差。

    85263e34e844f56030afa504c794756

    图4:勾选分析项

    如图所示,将置信区间设置为95%。

    b86f301148f580dfe94809e0bc0c41f

    图5:编辑置信区间

    4、结果展示

    怎样看懂结果是最重要的,我们以图中标注出来的两个数据为例。如图所示其中显著性为0.01,根据皮尔逊检测的规定显著性小于0.05说明具有相关性,那么就代表满意程度和回购意愿具有相关性。再看相关性的数值是0.871,根据规定只要相关性大于0就是正相关,也就是随着满意程度的增加回购意愿也会增加。其他的数据也可以上述步骤逐一查看。

    fa9117a46a6c540df14a1222f912858

    图6:结果展示

    皮尔逊相关性分析在问卷调查中的运用十分广泛,我们在日常办公和论文撰写的时候经常会用到问卷调查。掌握好本文的内容,需要注意以下几点,首先需要选择合适的变量进行皮尔逊相关性分析,然后需要注意变量要为连续的数值型变量不能是字符串,最后要弄懂显著性值在什么范围内变量具有相关性。关于相关性分析IBM SPSS Statistics中文官网还有很多文章,大家可以自行去查看。

    展开全文
  • Python 数据相关性分析speculatecat关注12018.04.25 15:07:39字数 1,659阅读 6,121概述 在我们的工作中,会有一个这样的场景,有若干数据罗列在我们的面前,这组数据相互之间可能会存在一些联系,可能是此增彼涨,...

    Python 数据相关性分析

    概述

    在我们的工作中,会有一个这样的场景,有若干数据罗列在我们的面前,这组数据相互之间可能会存在一些联系,可能是此增彼涨,或者是负相关,也可能是没有关联,那么我们就需要一种能把这种关联性定量的工具来对数据进行分析,从而给我们的决策提供支持,本文即介绍如何使用 Python 进行数据相关性分析。 关键词 python 方差 协方差 相关系数 离散度 pandas numpy

    实验数据准备

    接下来,我们将使用 Anaconda 的 ipython 来演示如何使用 Python 数据相关性分析,我所使用的 Python 版本为 3.6.2 。

    首先,我们将会创建两个数组,数组内含有 20 个数据,均为 [0, 100] 区间内随机生成。
    a = [random.randint(0, 100) for a in range(20)]
    b = [random.randint(0, 100) for a in range(20)]
    print(a)
    >> [35, 2, 75, 72, 55, 77, 69, 83, 3, 46, 31, 91, 72, 12, 15, 20, 39, 18, 57, 49]
    print(b)
    >> [25, 24, 72, 91, 27, 44, 85, 21, 0, 64, 44, 31, 6, 91, 1, 61, 5, 39, 24, 43]
    

    期望

    在进行相关性分析之前,我们需要先为最终的计算分析做好准备。我们在分析前,第一个准备的是计算数据的期望。
    在一般情况下,我们通过实验或者调查统计获取的数据很大一部分都属于离散随机变量,那么这里的期望我们也可以简单的理解为平均数,那么既然是平均数,那么我们就可以非常简单编写一个计算离散变量的期望的函数了。

    def mean(x):
      return sum(x) / len(x)
    mean(a)
    >> 46.05
    mean(b)
    >> 39.9
    

    离散度 - 方差与标准差

    接下来,我们需要计算的是数据的离散程度,在统计上,我们通常会使用方差和标准差来描述。
    方差和期望一样,对于连续和离散的随机变量有着不同的定义。
    与期望类似,这里我们一般只考虑离散变量的方差。还有一点值得注意,我们上面的离散变量方差公式,最后是除以 n ,但实际上,我们计算样本方差的时候一般会使用 n-1 ,具体原因可以参考知乎 《为什么样本方差(sample variance)的分母是 n-1?》
    而标准差,就是方差的平方根。那么,我们也可以像上面计算期望一样,给方差和标准差编写函数。

    # 计算每一项数据与均值的差
    def de_mean(x):
      x_bar = mean(x)
      return [x_i - x_bar for x_i in x]
    # 辅助计算函数 dot product 、sum_of_squares
    def dot(v, w):
      return sum(v_i * w_i for v_i, w_i in zip(v, w))
    def sum_of_squares(v):
      return dot(v, v)
    # 方差
    def variance(x):
      n = len(x)
      deviations = de_mean(x)
      return sum_of_squares(deviations) / (n - 1)
    # 标准差
    import math
    def standard_deviation(x):
      return math.sqrt(variance(x))
    
    variance(a)
    >> 791.8394736842105
    varance(b)
    >> 850.5157894736841
    

    协方差与相关系数

    接下来,我们进入正题,我们开始计算两组数据的相关性。我们一般采用相关系数来描述两组数据的相关性,而相关系数则是由协方差除以两个变量的标准差而得,相关系数的取值会在 [-1, 1] 之间,-1 表示完全负相关,1 表示完全相关。
    我们根据协方差的公式编写函数。

    # 协方差
    def covariance(x, y):
      n = len(x)
      return dot(de_mean(x), de_mean(y)) / (n -1)
    # 相关系数
    def correlation(x, y):
      stdev_x = standard_deviation(x)
      stdev_y = standard_deviation(y)
      if stdev_x > 0 and stdev_y > 0:
        return covariance(x, y) / stdev_x / stdev_y
      else:
        return 0
    
    covariance(a, b)
    >> 150.95263157894735
    correlation(a, b)
    >> 0.18394200852440826
    

    根据上面的结果,相关系数为 0.18,可以推断这两组随机数有弱正相关。当然,我们知道,这两组数据都是使用 random 函数随机生成出来的,其实并没有什么相关性,这也是在数据处理中,需要特别留意的一个地方,统计的方法可以给我们一个定量的数值可供分析,但实际的分析也需要结合实际以及更多的情况综合考虑。

    使用 numpy 计算协方差矩阵 相关系数

    一般我们日常工作,都不会像上面一样把什么期望、方差、协方差一类的函数都重新写一遍,上面的代码只是让我们对这些计算更加熟悉。我们通常情况下会使用 numpy 一类封装好的函数,以下将演示一下如何使用 numpy 计算协方差。

    import numpy as np
    # 先构造一个矩阵
    ab = np.array([a, b])
    # 计算协方差矩阵
    np.cov(ab)
    >> array([[ 791.83947368,  150.95263158],
           [ 150.95263158,  850.51578947]])
    

    这里我们可以看到,这里使用 np.cov 函数,输出的结果是一个矩阵,这就是协方差矩阵。协方差矩阵数据的看法也不难,我们可以以上面的结果为例,矩阵1行1列,表示的是 a 数据的方差,这和我们上面的计算结果一致,然后1行2列和2行1列分别是 a b 以及 b a 的协方差,所以他们的值是一样的,然后最后2行2列就是 b 数据的方差。
    接下来,我们继续使用 numpy 计算相关系数

    np.corrcoef(ab)
    >> array([[ 1.        ,  0.18394201],
           [ 0.18394201,  1.        ]])
    

    计算相关系数,我们使用 numpy 的 corrcoef 函数,这里的输出也是一个矩阵,这个矩阵数据的含义同上面的协方差类似,我们可以看到,这里我们的相关系数是 0.18 ,和我们上面自己编写的函数计算的结果一致。

    使用 pandas 计算协方差、相关系数

    除了使用 numpy,我们比较常用的 python 数据处理库还有 pandas,很多金融数据分析的框架都会使用 pandas 库,以下将演示如何使用 pandas 库计算协方差和相关系数。
    import pandas as pd
    # 使用 DataFrame 作为数据结构,为方便计算,我们会将 ab 矩阵转置
    dfab = pd.DataFrame(ab.T, columns=['A', 'B'])
    # A B 协方差
    dfab.A.cov(dfab.B)
    >> 150.95263157894738
    # A B 相关系数
    dfab.A.corr(dfab.B)
    >>  0.18394200852440828
    dfab
    >>    A   B
    0   35  25
    1    2  24
    2   75  72
    3   72  91
    4   55  27
    5   77  44
    6   69  85
    7   83  21
    8    3   0
    9   46  64
    10  31  44
    11  91  31
    12  72   6
    13  12  91
    14  15   1
    15  20  61
    16  39   5
    17  18  39
    18  57  24
    19  49  43
    

    可以看到,和 numpy 相比,pandas 对于有多组数据的协方差、相关系数的计算比 numpy 更为简便、清晰,我们可以指定计算具体的两组数据的协方差、相关系数,这样就不需要再分析结果的协方差矩阵了。

    小结

    本文通过创建两组随机的数组,然后通过参考定义公式编写函数,再到使用 numpy 以及 pandas 进行协方差、相关系数的计算。到这里我们应该已经了解了数据相关性分析的原理,以及简单的具体实践使用方法,日后在工作中遇到需要做数据相关性分析的时候,就可以派上用场了。

    参考资料

    《数据科学入门.格鲁斯 (Joel Grus).人民邮电出版社》

    展开全文
  • 线性回归:在统计学中,线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。...

    前言

    线性回归:在统计学中,线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归。
    皮尔逊相关系数:在统计学中,皮尔逊相关系数( Pearson correlation coefficient),又称皮尔逊积矩相关系数(Pearson product-moment correlation coefficient,简称 PPMCC或PCCs),是用于度量两个变量X和Y之间的相关(线性相关),其值介于-1与1之间。

    实例

    在一次实例分析中,需要收集多个特征因素,通过皮尔逊相关系数,剔除相关性较差的因素后,进行建模;
    date:日期 time:星期几 tem:历史温度 y:营业额 tc:总单数 viptc:会员单数
    在这里插入图片描述
    先导一波库

    import pandas as pd 
    import numpy as np
    import matplotlib.pyplot as plt
    import seaborn as sns 
    from sklearn.linear_model import LinearRegression
    

    绘制散点图,并观察相关性

    data_df=pd.read_csv(a)
    print(data_df.head())
    sns.pairplot(data_df,size=1)
    plt.show()
    

    在这里插入图片描述
    seaborn计算绘制皮尔逊相关性系数并汇图

    cols=['date','time','tem','tc','viptc','y']
    cm =np.corrcoef(data_df[cols].values.T)
    hm = sns.heatmap(cm,cbar=True,annot=True,square=True,fmt=".2f",
                        annot_kws={"size":15},yticklabels=cols,xticklabels=cols)
    plt.show()
    

    在这里插入图片描述
    可以看出,营业额和温度的相关性较差,也因为是在同一个月的数据,温度变化并不大;

    利用sklearn建模,并用模型预测出营业额

    cols2=[['date','time','tc','viptc','y']]
    mo=LinearRegression()
    x=data_df[['date','time','tc','viptc']]
    y=data_df['y']#实际营业额
    mo.fit(x,y)
    pre_y=mo.predict(x)#预测营业额
    

    结论

    特征因素一般要选择能收集的因素,才方便对未来的预测,在本个例子里,TC本来就是发生后才能知道的特征,是不应该作为特征因素来建模的,我只是正好收集了这些数据,所以才这样用,在实际工作中,应该以例如,地铁口到餐厅的距离,周围人群分部,一定范围内写字楼和住宅数量,区域人均收入,等等因素来做预测更为实用;

    另外,虽然模型很容易建立起来,但学习者还是需要把模型原理搞清楚,例如回归的原理,最小二乘法等等数学知识搞清楚,才能建出更理想的模型;

    展开全文
  • 相关性分析——皮尔逊

    千次阅读 2019-09-02 10:47:35
    1.皮尔逊相关系数 r的取值在-1与+1之间,若r>0,表明两个变量是正相关,即一个变量的值越大,另一个变量的值也会越大;若r<0,表明两个变量是负相关,即一个变量的值越大另一个变量的值反而会越小。r 的...

    1.皮尔逊相关系数
    在这里插入图片描述

    在这里插入图片描述

    r的取值在-1与+1之间,若r>0,表明两个变量是正相关,即一个变量的值越大,另一个变量的值也会越大;若r<0,表明两个变量是负相关,即一个变量的值越大另一个变量的值反而会越小。r 的绝对值越大表明相关性越强,要注意的是这里并不存在因果关系。若r=0,表明两个变量间不是线性相关,

    1. 实例:
      在这里插入图片描述
    展开全文
  • 相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度。 相关性的元素之间需要存在一定的联系或者概率才可以进行相关性分析。 但是,请记住,相关性不等于因果性 两个...
  • 相关性分析

    2018-09-05 23:32:00
    【课程1.7】 相关性分析 分析连续变量之间的线性相关程度的强弱 图示初判 / Pearson相关系数(皮尔逊相关系数) / Sperman秩相关系数(斯皮尔曼相关系数) ''' import numpy as np import pandas as ...
  • Python特征分析- 相关性分析

    千次阅读 2020-05-12 10:35:16
    Python特征分析- 相关性分析相关性分析引入库图示初判变量之间的线性相关性散点图矩阵初判多变量间关系Pearson相关系数创建样本数据正态性检验 → pvalue >0.05制作Pearson相关系数求值表求出rPearson相关系数 - ...
  • 皮尔逊Person相关系 (要求数据满足正态分布 总体和样本 总体皮尔逊Person相关系数 一般说的相关系数就是皮尔逊相关系数 就是概率论的知识 消除量纲影响: 总体: 样本: 意义: 误区: 用于衡量线性 两个...
  • 对数据进行分析 皮尔逊积矩相关系数-维基百科 如何通俗易懂地理解皮尔逊相关系数? Origin如何进行Pearson等相关性分析及线性拟 皮尔逊相关系数和检验P值 pearson的实例分析
  • 相关系数的绝对值越大,相关性越强;相关系数越接近于0,相关度越弱。 二、函数:Pearsonr(x,y) 1)输入:x为特征,y为目标变量.  2)输出: r : 相关系数 [-1,1]之间,p-value: p值。 注: p值越...
  • matlab相关性分析

    千次阅读 2020-11-14 21:52:22
    相关性分析 一、皮尔逊相关系数 (person) 计算公式: 样本协方差:Cov(x,y)=∑i=1n(Xi−Xˉ)(Yi−Yˉ)n−1{Cov(x,y)=\frac{\sum_{i=1}^n(X_i-\bar{X})(Y_i-\bar{Y})}{n-1}}Cov(x,y)=n−1∑i=1n​(Xi​−Xˉ)(Yi​...
  • 相关性分析方法

    千次阅读 2019-08-30 16:38:43
    相关性分析是指对两个或多个具备相关性呃变量元素进行分析,从而衡量两个变量因素之间的相关密切程度。 一般常用四种方法: 画图判断(散点图向量或散点图矩阵)ax.scatter(data1,data2) pearson(皮尔逊)相关...
  • 用Excel做相关性分析

    万次阅读 多人点赞 2019-01-04 22:51:44
    相关性分析:对变量之间相关关系的分析,即相关性分析。其中比较常用的是线性相关分析,用来衡量它的指标是线性相关系数,又叫皮尔逊相关系数,通常用r表示,取值范围是[-1,1], r取值范围 相关...
  • 相关性分析 散点图矩阵初判多变量间关系,两两数据之间的,比如说4个数据ABCD,就有12个比较,第一个参数和第二个参数,第一个参数和第三个参数,.......这个图就是正态分布的几个参数,就没有任何的相关性 ...
  • 数据预处理_数据相关性分析

    千次阅读 2020-04-13 15:54:48
    相关性分析 1、相关性分析是指对多个具备相关关系的变量进行分析,从而衡量变量间的相关程度或密切程度 2、相关性可以应用到所有数据的分析过程中,任何事物之间都是存在一定的联系 3、为了更准确描述变量之间的相关...
  • 相关性分析和相似度计算

    千次阅读 2020-05-29 13:58:04
    要计算两个对象的相似性,有很多种方法可以做相关性分析。 简单的举例几个机器学习中常用的样本相似性度量方法: 欧式距离(Euclidean Distance) 汉明距离(Hamming Distance) 曼哈顿距离(Manhattan Distance) ...
  • 皮尔逊相关系数通常用r或ρ表示,度量两变量X和Y之间相互关系(线性相关) (1)公式 皮尔森相关性系数的值等于它们之间的协方差cov(X,Y)除以它们各自标准差的乘积(σX, σY)。 (2)数据要求 a.正态分布 它是...
  • 分析连续变量之间的线性相关程度的强弱 介绍如下几种方法: 图示初判 Pearson相关系数(皮尔逊相关系数) Sperman秩相关系数(斯皮尔曼相关系数) 1.图示初判 拿到一组数据,可以先绘制散点图查看各数据之间的相关性...
  • ArcGIS 栅格图层相关性分析

    千次阅读 2020-12-28 16:58:24
    Spatial Analyst Tools——Multivariate(多元分析)——Band Collection Statistics...使用的是皮尔逊相关系数(Pearson Correlation Coefficient)。 by:http://blog.sina.com.cn/s/blog_6215b1010102xvt7.html .
  • 在商业实践中,很多时候直接获取某一指标的成本是很高的。这种指标的获取可能不仅需要财力物力,还需要超前获得,即在指标数值产生前进行预测。...常见的相关性分析皮尔逊(Pearson)相关系数、斯皮尔曼(spearma...
  • 分析特征间相关性时,常使用的方法是pandas.DataFrame.corr: DataFrame.corr(self, method=’pearson’, min_periods=1) 其中包含的方法主要为: pearson:Pearson相关系数 kendall:Kendall秩相关系数 ...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 131
精华内容 52
关键字:

皮尔逊相关性分析