0%

相关系数

相关系数

说明

两个连续变量间呈线性相关时,使用Pearson积差相关系数,不满足积差相关分析的适用条件时,使用Spearman秩相关系数来描述。相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度。相关性的元素之间需要存在一定的联系或者概率才可以进行相关性分析。相关性不等于因果性,也不是简单的个性化,相关性所涵盖的范围和领域几乎覆盖了我们所见到的方方面面,相关性在不同的学科里面的定义也有很大的差异。 Spearman相关系数又称秩相关系数,是利用两变量的秩次大小作线性相关分析,对原始变量的分布不作要求,属于非参数统计方法,适用范围要广些。对于服从Pearson相关系数的数据亦可计算Spearman相关系数,但统计效能要低一些。Pearson相关系数的计算公式可以完全套用Spearman相关系数计算公式,但公式中的x和y用相应的秩次代替即可。 Kendall’stau-b等级相关系数:用于反映分类变量相关性的指标,适用于两个分类变量均为有序分类的情况。对相关的有序变量进行非参数相关检验;取值范围在-1-1之间,此检验适合于正方形表格; 计算积距pearson相关系数,连续性变量才可采用;计算Spearman秩相关系数,适合于定序变量或不满足正态分布假设的等间隔数据;计算Kendall秩相关系数,适合于定序变量或不满足正态分布假设的等间隔数据。 计算相关系数:当资料不服从双变量正态分布或总体分布未知,或原始数据用等级表示时,宜用 spearman或kendall相关

皮尔逊系数

实现代码

1
2
3
4
5
6
7
import numpy as np
import pandas as pd

#data为数据

#直接得到系数矩阵
data_pearson = data.corr('pearson').copy()

斯皮尔曼系数

实现代码

1
2
3
4
5
6
7
import numpy as np
import pandas as pd

#data为数据

#直接得到系数矩阵
data_pearson = data.corr('pearson').copy()

肯德尔系数

实现代码

1
2
3
4
5
6
7
import numpy as np
import pandas as pd

#data为数据

#直接得到系数矩阵
data_pearson = data.corr('kendall').copy()

方差分析

实现代码

1
2
3
4
5
6
7
8
9
10
11
12
13
import numpy as np
import pandas as pd
from sklearn import preprocessing

from statsmodels.formula.api import ols
from statsmodels.stats.anova import anova_lm
from statsmodels.stats.multicomp import pairwise_tukeyhsd


#连续变量 #分类变量
formula = '指标x%d~C(来源地区)'%i
#分类变量 #连续变量
anova_results = anova_lm(ols(formula,data = data_to[['来源地区','指标x%d'%i]]).fit())