精华内容
下载资源
问答
  • 分类变量和连续变量的相关性度量

    万次阅读 2015-10-01 12:37:00
    本文主要参考《R语言实战》中第七章内容。首先来看一下分类变量的探索。R提供了多种检验类别型变量(因子)独立的方法,主要有卡方独立检验、Fisher精确检验Cochr...
        

    本文主要参考《R语言实战》中第七章内容。

    首先来看一下分类变量的探索。R提供了多种检验类别型变量(因子)独立性的方法,主要有卡方独立性检验、Fisher精确检验和Cochran-Mantel-Haenszel检验


    卡方检验

    卡方独立性检验可以使用chisq.test()函数对二维列联表的行变量和列变量进行卡方独立性检验。


    0?wx_fmt=png
    图中显示:病人的治疗方式与改善情况间不独立,即存在某种相关性;而病人的性别与治疗的改善情况间是独立的,认为治疗的改善情况与病人的性别没有关系。


    Fisher精确检验

    可以使用fisher.test()函数进行Fisher精确检验,该检验的原假设是:边界固定的列联表中行和列是相互独立的。与许多统计软件不同的是fisher.test()函数可以在任意行列数大于等于2的二维列联表中使用,但不能用于2×2的列联表。


    0?wx_fmt=png


    Cochran-Mantel-Haenszel检验

    可以通过mantelhaen.test()函数进行Cochran-Mantel-Haenszel检验(如果不记得该检验函数,可以尝试使用apropos('test')查询所有可用的各种检验,其中就包含M-H检验)。该检验的原假设为:两个名义变量在第三个变量的每一层中都是条件独立的


    0?wx_fmt=png
    上图结果显示,在不同的性别下,治疗方式与改善情况间不是独立的,仍然存在一定的相关性。


    分类变量相关程度度量

    如果已知某些类别型变量之间(因子)不独立,即存在一定的相关性。那如何得到相关性的大小。这里可以使用vcd包中的assocstats()函数计算二维列联表的phi系数、列联系数(contingency coefficient)和Cramer's V系数


    0?wx_fmt=png


    连续变量的相关性度量

    对于连续变量的相关性,使用相关系数来描述变量间的关系。相关系数的符号表示正相关或负相关,其值的大小表示关系的强弱。


    R中可以计算多种相关系数,包括Pearson相关系数、Spearman相关系数、Kendall相关系数、偏相关系数等。


    Pearson相关系数度量了两个连续变量之间的线性相关程度;

    Spearman等级相关系数可以衡量非线性关系变量间的相关系数,是一种非参数的统计方法,可以用于定序变量或不满足正态分布假设的等间隔数据;

    Kendall秩相关系数也是一种非参数的等级相关度量,类似于Spearman等级相关系数。


    可以通过cor函数计算这三种相关系数。cor()函数中最重要的三个参数为X,use,method:

    X为指定分析的矩阵或数据框;

    use指定缺失数据的处理办法(all.obs则假设不存在缺失数据,遇到缺失数据时将会报错;everything遇到缺失数据时,结果将返回missing;complete.obs进行行删除;pairwise.complete.obs则成对删除);

    method指明计算相关系数的方法,可以使pearson相关系数、spearman相关系数和kendall相关系数。


    attach(women)

    a <- height

    b <- weight

    c <- a^2 #a和c之间不存在线性关系


    cor(a,b,method = 'pearson')

    cor(a,b,method = 'spearman')

    cor(a,b,method = 'kendall')


    cor(a,c,method = 'pearson')

    cor(a,c,method = 'spearman')

    cor(a,c,method = 'kendall')


    0?wx_fmt=png

    对于有缺失的数据集,通过use参数的设定,将会产生不同计算的结果:

    0?wx_fmt=png


    偏相关系数

    偏相关系数指在控制一个或多个定量变量时,另外两个定量变量之间的相互关系。可以使用ggm包中的pcor函数计算偏相关系数。其中pcor函数中的两个重要参数是u和S:

    u为一个数值向量,前两个数值表示要计算相关系数的变量下标,其余的数值为条件变量的下标;

    S为所有变量的协方差矩阵。

    0?wx_fmt=png
    结果表明:在控制收入、文盲率和高中毕业率的影响下,人口和谋杀率之间的相关系数为0.346。偏相关系数常用于社会科学的研究中


    总结:本文涉及到的R包和函数

    stats包

    chisq.test()

    fisher.test()

    mantelhaen.test()

    cor()

    cov()

    vcd包

    assocstats()

    ggm包

    pcor()

    gmodels包

    CrossTable()

    这里说明一下,gmodels包中的CrossTable()函数可以实现列联表分析,其结果类似于SAS中的PROC FREQ过程。

    展开全文
  • 在表格数据集上创建任何机器学习模型之前, 通常我们会检查独立变量和目标变量之间是否存在关系。这可以通过测量两个变量之间的相关性来...案例 1: 当独立变量只有两个值时点双关联如果分类变量只有两个值 (即 true...

    在表格数据集上创建任何机器学习模型之前, 通常我们会检查独立变量和目标变量之间是否存在关系。这可以通过测量两个变量之间的相关性来实现。在 python 中, pandas 提供了一个函数 dataframe.corr() ,仅用于查找数字变量之间的相关性。

    在本文中, 我们将了解如何找到分类变量和连续变量之间的相关性。

    案例 1: 当独立变量只有两个值时

    点双性关联

    如果分类变量只有两个值 (即 true/false), 则我们可以将其转换为数字数据类型 (0 和 1)。由于它成为一个数值变量, 我们可以使用该函数找出相关 dataframe.corr() 。

    让我们创建一个数据框架, 它将由两列组成: “员工类型 (空类型)” 和“工资“。

    有希望, 我们将分配更多的工资给 Empip1。这样我们就会得到 “空型” 和 “工资” 之间的相关性。

    创建具有以下属性的数据框:

    平均 (平均) 工资为 EmpType1 60, 标准差为5。

    平均 (平均) 工资为 EmpType2 50, 标准差为5。

    import pandas as pd

    import numpy as np

    num1=np.random.normal(loc=60,scale=5,size=100)

    df1=pd.DataFrame(num1,columns=["Salary"])

    df1["Type"]="EmpType1"

    num2=np.random.normal(loc=50,scale=5,size=100)

    df2=pd.DataFrame(num2,columns=["Salary"])

    df2["Type"]="EmpType2"

    df=pd.concat([df1,df2],axis=0)

    # Since Categorical variable "Type" has only 2 values we will convert it into numeric (0 and 1) datatype.

    df["TypeInt"]=(df["Type"]=="EmpType1").astype(int)

    df.corr()

    输出

    工资

    类型

    工资

    1

    0.736262

    类型

    0.736262

    1

    “空” 和 “工资” 之间的相关性为0.7。所以我们可以确定它是相关的。

    案例 2: 当独立变量具有两个以上值时

    方差分析 (方差分析)

    我们将分配更多的工资 EmpType1 , 分配给 EmpType2 平均工资, 分配给 EmpType3 低薪。这样, 我们就会得到 “空型” 和 “工资” 之间的一些相关性。

    平均工资为 EmpType1 90, 标准差为5。

    平均工资为 EmpType2 70, 标准差为5。

    平均工资为 EmpType3 50, 标准差为5。

    num1=np.random.normal(loc=90,scale=5,size=100)

    df1=pd.DataFrame(num1,columns=["Salary"])

    df1["Type"]="EmpType1"

    num2=np.random.normal(loc=70,scale=5,size=100)

    df2=pd.DataFrame(num2,columns=["Salary"])

    df2["Type"]="EmpType2"

    num3=np.random.normal(loc=50,scale=5,size=100)

    df3=pd.DataFrame(num3,columns=["Salary"])

    df3["Type"]="EmpType3"

    df=pd.concat([df1,df2,df3],axis=0)

    from scipy import stats

    F, p = stats.f_oneway(df[df.Type=="EmpType1"].Salary,

    df[df.Type=="EmpType2"].Salary,

    df[df.Type=="EmpType3"].Salary)

    print(F)

    我们得到的输出是: 14436261

    由于三种雇员的平均工资为90、70和 50 (标准差为 5), f 分为 1444分

    而如果三种员工类型的平均工资为 5 1、5 0、4 9 (几乎相同), 那么f 分将接近 0,即没有相关性。

    F 分数值越大, 相关性就越高。

    您可以从此链接下载并运行完整代码.

    展开全文
  • 连续数值变量的离散化、哑变量

    千次阅读 2018-07-28 00:10:21
    #某些分类数据,为了可以更好的使用,可以转换为哑变量使用 ##连续数据离散化的好处: #1)有些算法的输入要求必须是离散化的数据,如贝叶斯树模型 #2)离散化可以对连续数据的异常点进行处理,可以提高鲁棒 #3...

    #还是Age字段,一般连续数据要做离散化
    #某些分类数据,为了可以更好的使用,可以转换为哑变量使用
    ##连续数据离散化的好处:
    #1)有些算法的输入要求必须是离散化的数据,如贝叶斯和树模型
    #2)离散化可以对连续数据的异常点进行处理,可以提高鲁棒性
    #3)离散化后计算速度更快
    #4)构建哑变量可以增加模型的灵活性,解耦很多数据特征
    ##另外构建哑变量,对一个类别类型,如果完全没有比较关系,则可以构建成哑变量
    #如男女可以分为两个哑变量、也可以部分,因为哑变量一般是去掉一个的,
    #年龄分段就不好分成哑变量,因为大小可能内在有一定的关系
    #还有等级
    #分类的如学生、老师、工人等就完全可以构建哑变量
     

     

    ————后续补充完成

    展开全文
  • ​ 这是趣味统计的第 1 期分享 作者 l 萝卜 正式开始建模与处理数据前,对数据进行探索并有一个...一个分类变量的分析方法可考虑频次百分比,用饼图或者柱状图表示都可以 我们也可以通过设置画布布局来同时显示两

    在这里插入图片描述
    这是趣味统计的第 1 期分享
    作者 l 萝卜

    正式开始建模与处理数据前,对数据进行探索并有一个初步的认识非常重要,本文将围绕变量探索,展示分类、连续变量,以及两种类型变量结合的探索方法,并展示 Python Pandas 数据处理与可视化中的一些快捷常用骚操作~

    注:本文数据与源代码在公众号 “ 数据分析与商业实践 ” 后台回复 “ 变量探索 ” 获取~~

    在这里插入图片描述

    分类变量

    01 一个分类变量

    一个分类变量的分析方法可考虑频次和百分比,用饼图或者柱状图表示都可以
    在这里插入图片描述
    我们也可以通过设置画布布局来同时显示两个连续变量的各自探索情况
    在这里插入图片描述
    在这里插入图片描述

    02 两个分类变量

    结合两个分类变量考量的分布情况可考虑使用交叉表 cross table

    这里我们将探究每个地区的学区房分布情况:参数 margins 设置为 True 表示在最后一行与最后一列显示汇总统计 ALL
    在这里插入图片描述
    如果要将上述交叉表可视化,可考虑使用前人的轮子:一行代码快速绘制标准化的堆叠图,反映占比的同时还能看出每一类的数据量大小
    在这里插入图片描述



    连续变量

    01 一个连续变量

    直接进行描述性统计分析,以房价分布为例
    在这里插入图片描述
    在这里插入图片描述



    02 两个连续变量

    绘制散点图等关系图进行探索,以探寻房屋面积与价格的关系为例
    在这里插入图片描述



    连续变量 + 分类变量

    01 一个分类 + 一个连续

    groupby 分组 + 描述性统计分析,制造出分类变量下每类的单一的连续变量相当于求分类后的每类的统计量,groupby 后面不跟统计量的代码没有意义。

    分类箱型图,柱形图等,两坐标轴中一个为分类变量,另一个为连续变量

    统计量是样本的数值概要,用来描述样本;参数则是总体的数值概要

    在这里插入图片描述
    在这里插入图片描述

    同理,也可绘制箱线图
    在这里插入图片描述

    02 两个分类 + 一个连续

    使用数据透视表,即在两个分类变量探索时使用的交叉表的升级

    先整体确定由两个分类变量构成的行索引 index 与列索引 columns,然后再将连续变量的统计量如 mean,medium 等放入数据框内部。透视表函数中的部分参数与交叉表一样,只是多了处理连续变量的参数。

    以求每个区域有无地铁时的房屋均价,发现无论在哪个区,有地铁的房屋价格均高于无地铁的。
    在这里插入图片描述
    当然,我们也可以尝试 “ 三个分类变量 + 一个连续变量 ”:
    在这里插入图片描述
    上透视表的理解步骤如下:

    1. 参数 index 在 columns 前,表示行索引 index 将会根据地区 dist 来划分。

    2. 参数 columns 中的列表顺序,school 在 subway 前,表示 index 分完后,列索引先根据学区房的有无来划分,而后再添加有无地铁这个划分标准。

    即划分好地区后,求在有无学区房的前提情况下,是否有地铁时的房屋均价。如朝阳区的房子在无学区房的情况下,有地铁和没有地铁时的房屋均价分别是多少。



    小结

    本文以常见的房价数据集为例,展示了探索分类变量与连续变量的方法,涉及了一些细节数据可视化操作;交叉表,数据透视表,频数统计,分组统计等 Pandas 数据处理操作。这些都是探索数据过程中不可或缺的基础操作,熟练掌握很有必要😀

    注:本文数据与源代码在公众号 “ 数据分析与商业实践 ” 后台回复 “ 变量探索 ” 获取~~

    后续会不断更新常见场景下的 Python 实践
    在这里插入图片描述

    展开全文
  • CART是二叉树,每次仅进行二元分类,对于连续性变量,方法是依次计算相邻两元素值的中位数,将数据集一分为二,计算该点作为切割点时的基尼值较分割前的基尼值下降程度,每次切分时,选择基尼下降
  • 这些统计量适用与连续变量数据的分析,不适用与分类变量数据分分析。 (1)百分位值 百分位值主要用于对连续变量数据离散程度的测量,我们常用的百分数值一般是四分位数。 数据从小到大排列,用三个数据点将数据分为...
  • 为提高分类的准确率,或者出于汇报的要求(哪些特征,或者有可解释意义的特征组合对结果影响较大)需要对特征进行分析组合,不是PCA之类的降维,比如对两个连续变量进行计算组合,对几个分类变量生成透视表,...
  • 多元线性回归是研究一个连续型变量和其他多个变量间线性关系的统计学分析方法,如果在自变量中存在分类变量,如果直接将分类变量和连续性变量统一纳入模型进行分析是有问题的,尤其是无序分类资料,即使进入了模型,...
  • Meta 分析;Meta 分析类型 ;Meta 分析文献检索;...森林图及异质性检验 连续性变量;森林图及异质性检验 相关系数;异质性的检测标准;异质性处理方法;Meta 回归;亚组分析;敏感性分析发表偏倚 ;实例演示
  • 目标值为连续性的值(小数) 期末成绩= 0.7考试成绩+0.3平时成绩 西瓜好坏 = 0.2色泽+0.5根 + 0.3敲声 z这是分类问题 找关系。找到特征最终结果的关系程度找到权重 y =kx+b +b 是一种偏置。是为了当特征只有一个时也...
  • [小结] 二元变量相关性分析

    千次阅读 2017-10-30 10:41:59
    1、服从正态分布的两连续变量,若有一份随机样本...3、对两个反映属性的分类变量,若有一份随机样本,可做交叉分类的频数表,利用独立卡方检验列联表系数来描述关联。 4、相关系数列联系数的计算都是基于一份
  • 变量微积分笔记2——最小二乘法

    千次阅读 2018-01-17 20:41:13
     回归分析是一种预测性的建模技术,用于连续性数据的机器学习(在监督学习中,如果预测的变量是离散的,称其为分类;如果预测的变量是连续的,称其为回归),它研究的是因变量(目标)变量(预测器)之间的关系...
  • 用python计算变量间相关性

    千次阅读 2019-10-06 14:18:09
    本文从连续性数据和分类数据来分别展开计算相关性 依据连续性数据求相关系数 import pandas as pd import numpy as np import scipy.stats as ss import matplotlib.pyplot as plt import seaborn as sns #导入相应...
  • Python每日一记20>>>哑变量

    千次阅读 2019-03-21 12:38:33
    连续性数据可以较好的用于建模,但是打不分模型并不支持分类性变量(如男女,好坏等)的建模,因此需要对其进行编码处理,转化为数值型变量,这种转化称为哑变量转换或者虚拟变量转换。 首先我们可以检查一下数...
  • 对于GLM的理解,与方差分析的对比

    千次阅读 2017-08-10 00:24:00
    最近遇到一个问题,如果因变量为一个连续变量(如胰岛素水平),主要考察的变量为分组变量(如正常血糖组,前糖尿病组,糖尿病组三组),现在的目的是想看调整多种变量(包括多个连续性变量和分类变量)后,胰岛素...
  • 本文中所有的图片均来自 网易云课堂 - 吴恩达机器学习 的视频截图。 课时6 模型描述 ...同时,这个问题也属于 回归,因为我们预测的房价是一个连续性的输出。另一种常用的监督学习方式 分类,其预测的输出...
  • 参考: ...监督学习 在有监督学习中,我们...在回归问题中,我们试图预测连续性输出的结果,这意味着我们试图将输入变量映射到某个连续函数。 在分类问题中,我们试图预测离散输出中的结果。换句话说,我们试图将输入变
  • 模型评估指标,是对已训练好的模型性能进行评估的重要依据。机器学习的任务无非分为分类问题连续型预测问题...连续性问题主要有:平均百分比误差、误差平方以及回归模型的拟合优度。 1. 分类变量解释 指标
  • 在基于手势的用户界面的设计中,由于手势的高维信息,手势的语义含义不明确以及存在不可预测的非手势身体动作,因此连续识别复杂的动态手势是一项具有挑战的任务。在本文中,我们提出了一种混合模型,该模型可以...
  • 1 什么是逻辑回归 Logistic属于概率型非线性回归,分为二分类和分类的回归模型。对于二分类的逻辑回归只有是否两...2)可以适用于连续性和类别性自变量; 3)容易使用解释; 缺点: 1)对模型中自变量多重共...
  • 分类模型是监督学习的一种,需要样本支撑进行模型构建,其输入可以是连续性也可以是离散型的变量,输出则是提前限定的离散分类标签,在实际使用中根据分类标签的种类可以分为二分类和分类问题。 回归算法的策略...
  • 如果细分分类变量又可以分为名义变量和等级变量,名义变量没有高低贵贱之分,如男女性别,等级变量存在等级之间的划分,如成绩的优良、中等、及格等: 度量标准 分类变量分类变量使用频次和百分比(行汇总、列...
  • 第一章:1.1.2 信号分类

    千次阅读 2017-08-11 22:37:54
    信号分类信号分类主要分为如下几类按确定信号随机信号分类确定信号时任何时刻都有确定取值的信号,这些信号往往是人工设计的信号。随机信号取值具有不确定,往往是自然界中的信号。连续信号离散信号时间...
  • 朴素贝叶斯分类

    2019-07-26 11:32:46
    但由于该算法以自变量之间的独立(条件特征独立)性和连续变量的正态假设为前提,就会导致算法精度在某种程度上受影响。朴素贝叶斯分类器采用了一些简化条件的假设,比如假设 x 的各特征是条件...
  • 逻辑回归线性回归区别

    万次阅读 2017-08-22 11:55:15
    2)线性回归要求因变量是连续性数值变量,而logistic回归要求因变量是分类型变量。 3)线性回归要求自变量和因变量呈线性关系,而logistic回归不要求自变量和因变量呈线性关系 4)logistic回归是分析因变量取某个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 463
精华内容 185
关键字:

连续性变量和分类变量