R语言

新版白话空间统计(8):莫兰指数小结

别等时光非礼了梦想. 提交于 2020-04-12 19:10:17
本节对前面写的莫兰指数部分留下的一下小问题进行解答,里面包括一些读者朋友们通过邮件提出的一些问题。 Q1:ArcGIS中,计算莫兰指数的工具里面的那个Row(行标准化)是拿来干嘛的? A:所谓的行标准化,指的是在进行空间权重设定的时候,是否对 权重系数进行 标准化 ,具体说来,看下面这个例子: 还是这张图: 那么我们记录空间关系时候,会记录成这样的结构: 城市 临近城市 空间权重系数 北京 石家庄 1 北京 太原 1 北京 天津 1 北京 济南 1 西安 兰州 1 西安 银川 1 西安 西宁 1 这种情况,所有有临近关系的城市,都记录为1,那么现在就带来问题了: 北京与周边临近城市的空间权重之和等于 4 ,而 西安与周边城市的空间权重之和,等于 3 。 这种情况,带入到莫兰指数的公式里面的时候,可能出现因为空间位置分布不均匀,或者设计采样以及聚合的方式不一致,带来一些计算上的麻烦,最大的 麻烦 就是有时候莫兰指数计算出来的结果, 不在-1 —— 1之间 。(大家可以回忆一下莫兰指数的计算公式,会迭代累加所有临近要素的字段值来) 所以,Esri建议对空间权重进行 标准化 ,也就是用1来除以所有临近要素的数量,权重系数取平均值,那么上面这个空间权重矩阵就会记录成这个样子: 城市 临近城市 空间权重系数 北京 石家庄 0.25 北京 太原 0.25 北京 天津 0.25 北京 济南 0

数据分析岗位也有门派之分!入行四大门派,看看你是哪个?

痞子三分冷 提交于 2020-04-11 18:56:43
数据分析行业,可谓门派众多,高手林立 我身边很多想要入门数据分析或者要转行的,往往对自己的职业规划一无所知,十分迷茫,经常来问我该怎么办? 今天,为了方便大家理解,我把数据分析比作武侠小说里的门派,让大家能够轻松地对数据分析行业有个认知,也能走好自己的职业发展之路。 那么,话不多说,且来看看数据分析里的四大门派! 丐帮——取数派 所谓人多势众,以力取胜 想必数据分析行业里最常见的就是做取数的了,尤其是当数据分析火了之后,因为入行门槛比较低,也就造成了像丐帮一样的 “三百六十行、鱼龙混杂” ,而且工作相对不累,导致大量人士涌入,但实际岗位其实没那么多 但事实上,很多人都是被HR“骗”到公司来做取数机器的,很多公司名义上打着数据分析的额旗号,但实际招来的人就是做取数的 工作内容: 取数派每天的工作内容也比较简单、重复和机械,就是写SQL取数,根据业务的需求做数据统计、简单报表制作,总体上说价值感比较低,基本都是新人在做。 但是,取数派也并非一事无成。因为取数的能力是数据分析和后面一系列建模工作的基础,能够高效的完成取数,以及对于数据的底层架构的深入了解,也不是一件很容易的事情,这也就是“以力取胜”。 好好打好这个取数基础,有利于后面更高效的做分析和建模的工作,同时这也是了解业务方关心的数据和问题的机会。 必备技能: Excel(如果会VBA就更好了) SQL取数(核心技能) 数据库

教你用Python解决非平衡数据问题(附代码)

限于喜欢 提交于 2020-04-09 18:28:47
本文为你分享数据挖掘中常见的非平衡数据的处理,内容涉及到非平衡数据的解决方案和原理,以及如何使用Python这个强大的工具实现平衡的转换。 后台回复“不平衡”获取数据及代码~ 前言 好久没有更新自己写的文章了,相信很多读者都会比较失望,甚至取关了吧,在此向各位网友道个歉。文章未及时更新的主要原因是目前在写Python和R语言相关的书籍,激动的是基于Python的数据分析与挖掘的书已经编写完毕,后期还继续书写R语言相关的内容。希望得到网友的理解,为晚来的新文章再次表示抱歉。 本次分享的主题是关于数据挖掘中常见的非平衡数据的处理,内容涉及到非平衡数据的解决方案和原理,以及如何使用Python这个强大的工具实现平衡的转换。 SMOTE算法的介绍 在实际应用中,读者可能会碰到一种比较头疼的问题,那就是分类问题中类别型的因变量可能存在严重的偏倚,即类别之间的比例严重失调。如欺诈问题中,欺诈类观测在样本集中毕竟占少数;客户流失问题中,非忠实的客户往往也是占很少一部分;在某营销活动的响应问题中,真正参与活动的客户也同样只是少部分。 如果数据存在严重的不平衡,预测得出的结论往往也是有偏的,即分类结果会偏向于较多观测的类。对于这种问题该如何处理呢?最简单粗暴的办法就是构造1:1的数据,要么将多的那一类砍掉一部分(即欠采样),要么将少的那一类进行Bootstrap抽样(即过采样)。但这样做会存在问题

R语言的cpp扩展支持Rcpp模块介绍

女生的网名这么多〃 提交于 2020-04-07 05:51:51
概述 Rcpp包提供C++类方便C or C++代码与R软件包进行交互,使用R中提供的 .Call() 调用界面。 Rcpp提供R中的基础数据类型的C++类供访问。包作者可以保持R的数据结构而无需与C++进行不断的转换。同时,这些数据结构提供C++级别的存取。数据类型可以双向映射。可以从 R中把数据赋给C++, 返回数据从C++到R也完全一样。下面列出支持的数据类型。 Transfer from R to C++, and from C++ to R R 数据类型 (SEXP) 与C++对象是一致的,按照类的衍生关系。所有的R类型都支持 (vectors, functions, environment, etc ...) 并且每一种对对应到C++的类对象。例如, numeric vectors代表类Rcpp::NumericVector的实例, environments代表Rcpp::Environment, functions代表Rcpp::Function,等等... 相应的 C++库都提供Rcpp::wrap函数,该函数是一个模版函数负责把数据转换为SEXP。 这个机制让使用标准C++类型实现C++的逻辑变得非常直接,比如使用STL编程然后包装为SEXP返回到R中。内部的封装操作使用高级元编程技术,目前支持的数据类型包括:bool, int, double, size_t,

Kaggle竞赛入门(一):决策树算法的Python实现

心已入冬 提交于 2020-04-06 17:27:32
本文翻译自kaggle learn,也就是kaggle官方最快入门kaggle竞赛的教程,强调python编程实践和数学思想(而没有涉及数学细节),笔者在不影响算法和程序理解的基础上删除了一些不必要的废话,毕竟英文有的时候比较啰嗦。 一.决策树算法基本原理 背景:假设你的哥哥是一个投资房地产的大佬,投资地产赚了很多钱,你的哥哥准备和你合作,因为你拥有机器学习的知识可以帮助他预测房价。你去问你的哥哥他是如何预测房价的,他告诉你说他完全是依靠直觉,但是你经过调查研究发现他预测房价是根据房价以往的表现来进行预测的,作为一个机器学习编程者,正好也可以以往的房价进行未来房价的预测。机器学习当中有一个决策树的算法,可以用于未来房价的预测,这个模型是这样的,如下所示: 第一行的第一框表示程序的流程图:"如果房子里超过了2个卧室"则执行yes,不是的话则执行“No”,执行yes之后,我们就对它进行预测后的房价是188000刀,执行“no”之后的预测房价则是178000刀,这就是一个简单的决策树。一个条件只有是和否两个分支,但是能不能让这个模型更加合理一点呢?因此我们拟合出了第二个模型,如下图所示: 可以从中看到,除了考虑房子里拥有的房间数量,第二个statement(条件)还考虑到了房子的总面积是多大,接着再根据房间的总面积大小进行预测。得到预测的房价也就是prediccted price

R语言实现voronoi treemap可视化

烂漫一生 提交于 2020-04-06 09:34:12
今天带来一篇承诺虾神的R语言可视化博客。关于voronoi treemap的可视化。 1 任务布置过程 感谢虾神,刀爷和魄爷实名出镜。 事实上这是刀爷看到澎湃美数课发的一篇推送文章其中一张图产生的疑问,感兴趣的可以点击 原文 。 刀爷问的是如何实现上图的可视化,这就是任务布置的由来。 2 voronoi treemap简介 事实上这个可视化方式我曾经在我博客的 资源整理系列 介绍过,分别是该系列的第二十篇和第二十一篇,因此我很迅速找到了可以实现的开源代码库,链接在下面。 R package: voronoiTreemap d3-voronoi-treemap 这个可视化方式英文为voronoi treemap。事实上是voronoi图与矩形树图两种可视化方式的结合。GIS的同学比较熟悉voronoi图,这个图就是泰森多边形。矩形树图即为下图的形式,可以说是一种复合可视化。 3 voronoi treemap的R语言可视化实现 我博客里介绍的实现方式有两种,但是这两种方式事实上都是基于d3这个javascript可视化大杀器做的。一个直接用javascript编程实现,另一个则是有人封装成了R包可以直接调用。由于我比较熟悉R语言,所以这里就以R语言实现可视化进行介绍。当然除此之外github上也有不少其他方式实现的,感兴趣的同学可以直接在github上搜索voronoi

应用统计学与R语言实现笔记(番外篇三)——缺失值的相关系数分析

Deadly 提交于 2020-04-06 09:30:03
昨天刚好有位同学来咨询R语言里计算相关系数的一些问题,所以来谈谈关于缺失值的相关系数分析问题,主要是在R语言中如何处理含缺失值数据的相关系数分析。 1 问题描述 相关分析可以说是数据分析以及探索性分析的基础。一般拿到手的数据,起手先来一波相关分析。同学遇上的问题如下:类似如下的数据。这里的数据是我利用随机分布随机造出来的,跟我同学的数据的一些基础分布特征是相似的。其实关键就是第四列数据有缺失数据。 然后在计算具体的相关系数时发现了一些问题。 可以清楚地看到在只计算b和c的相关系数的情况下,相关系数与p值分别为0.24和0.13,但当b,c和d都参与运算的情况下,相关系数和p值就变成了0.19和0.24。造成差别的原因是什么呢? 2 R语言相关分析中的缺失值处理原理 经过检查,关键在于use的参数的选择。use可以设置的参数主要包括pairwise,complete,complete.obs,pairwise.complete.obs,everything等。这里分别来看具体的含义。事实上这些都是针对相关系数公式里的协方差计算的设置。 pairwise:使用成对样本计算。 complete/complete.obs:必须选择完整的样本计算,目前没发现这两个有什么区别。 pairwise.complete.obs:通过在成对的基础上省略具有缺失值的行而形成的向量为每对列计算相关性。

多元统计分析R语言建模| 6 聚类分析

試著忘記壹切 提交于 2020-03-27 11:43:47
3 月,跳不动了?>>> 基本概念(Cluster Analysis) “物以类聚” 分析方法 系统聚类 快速聚类 类型 Q型聚类:对 样品 的聚类 R型聚类:对 变量 的聚类 聚类统计量 距离 欧氏距离 马氏距离 兰式距离 相关系数 距离矩阵 相关矩阵 距离矩阵计算——dist(),cor() 系统聚类法 基本思想:先将样品分成类,每个样品为一类,然后每次将具有最小距离的两类合并,合并后重新计算类与类之间的距离,直到所有样品归为一类为止 类间距离 的计算方法 最短距离法(single) 最长距离法(complete) 中间距离法(median) 类平均法(avera) 重心法(centroid) 离差平方和法(Ward) 通用公式 hclust(D,method=) 快速聚类法kmeans 概念:基本思想是将每一个样品分配给最近中心(均值)的类中 原理:n个对象分k类,类内 相似度 高,类间相似度低 相似度:类中对象的均值mean来计算 kmeans(x,centers) 不足:只有在类均值被定义的情况下才能使用,对孤立点、噪声影响敏感 knn,kmed,中位数 变量变换 平移变换 极差变换 标准差变换 主成分 对数 x1=c(2.5,3.0,6.0,6.6,7.2,4.0,4.7,4.5,5.5) x2=c(2.1,2.5,2.5,1.5,3.0,6.4,5.6,7.6,6.9

R语言语法基础一

烂漫一生 提交于 2020-03-26 07:53:40
R语言语法基础一 Hello world #这里是注释 myString = "hello world" print(myString) [1] "hello world" 基本数据类型 print(class(TRUE)) #logical print(class(5)) #Numeric print(class(2L)) #Integer print(class(2+5i)) #Complex print(class("hello")) #Character print(class(charToRaw("hello"))) #Raw 对象类型 vector向量,使用c函数创建 apple = c('red',"green","yellow") print(apple) [1] "red" "green" "yellow" List列表,可以包含不同类型的元素 list1 = list(c(2,5,3),21.3,sin) print(list1) [[1]] [1] 2 5 3 [[2]] [1] 21.3 [[3]] function (x) .Primitive("sin") Matrices矩阵 创建二维数据集 M = matrix(data = c('a','b','c','d','e','f'), nrow = 2, byrow = TRUE) print(M) [

R 语言-基础

人盡茶涼 提交于 2020-03-26 07:52:37
R语言 1997年成为GNU项目 开源免费 R官方网址 www.r-project.org R是数据分析领域的语言 小巧灵活,通过扩展包来增强功能 绘图功能 代码简单 开发环境 R + RStudio 1、数据类型 character 字符 numeric 数值型,实数或小数 integer 整型 complex 复数型 logical 逻辑型 类似于boollean 2、数据结构 Vector 向量 Factor 因子 Array 数组 Matrix 矩阵 Data Frame 数据框 List 列表 一维:向量、因子 向量属于数值型变量,因子对应于分类变量 二维:矩阵、数据框 矩阵中元素的数据类型是一致的,数据框由向量组成,每个向量中的数据类型保持一致,向量间的数据类型可以不一致,类似于表结构。 三维:数组、列表 数组用的比较少,多维数据结构;列表可以包含上面所有的数据结构 3、向量 向量表示一组数据,数据类型一致,向量可以表示行或者列 c() 如: : 如: 1:10 seq(from(开始), to(到), by(步长), length.out(指定向量的元素个数), along.with(长度与指定的向量长度相同)) 提取子集: 数字下标(正数:获取指定元素,从1开始,负数:排除的意思) which()函数(按条件来进行筛选) #向量 (x1<- c(10,11,12