R语言使用灰色关联分析(Grey Relation Analysis,GRA)中国经济社会发展指标
时间:2022-07-28
本文章向大家介绍R语言使用灰色关联分析(Grey Relation Analysis,GRA)中国经济社会发展指标,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
原文链接:http://tecdat.cn/?p=16881
灰色关联分析包括两个重要功能。 第一项功能:灰色关联度,与correlation系数相似,如果要评估某些单位,在使用此功能之前转置数据。第二个功能:灰色聚类,如层次聚类。
灰色关联度
灰色关联度有两种用法。该算法用于测量两个变量的相似性,就像`cor`一样。如果要评估某些单位,可以转置数据集。
*一种是检查两个变量的相关性,数据类型如下:
| 参考| v1 | v2 | v3 | | ----------- |||| ---- | ---- | | 1.2 | 1.8 | 0.9 | 8.4 | | 0.11 | 0.3 | 0.5 | 0.2 | | 1.3 | 0.7 | 0.12 | 0.98 | | 1.9 | 1.09 | 2.8 | 0.99 |
reference:参考变量,reference和v1之间的灰色关联度...近似地测量reference和v1的相似度。
*另一个是评估某些单位的好坏。
| 单位| v1 | v2 | v3 | | ----------- |||| ---- | ---- | | 江苏| 1.8 | 0.9 | 8.4 | | 浙江| 0.3 | 0.5 | 0.2 | | 安徽 0.7 | 0.12 | 0.98 | | 福建| 1.09 | 2.8 | 0.99 |
示例
##生成数据#' economyCompare = data.frame(refer, liaoning, shandong, jiangsu, zhejiang, fujian, guangdong)# # 异常控制 # if (any(is.na(df))) stop("'df' have NA" ) if (distingCoeff<0 | distingCoeff>1) stop("'distingCoeff' must be in range of [0,1]" ) diff = X #设置差学列矩阵空间 for (i in mx = max(diff) #计算关联系数# relations = (mi+distingCoeff*mx) / (diff + distingCoeff*mx) #计算关联度# # 暂时简单处理, 等权 relDegree = rep(NA, nc) for (i in 1:nc) { relDegree[i] = mean(relations[,i]) # 等权 } #排序: 按关联度大到小# X_order = X[order(relDegree, relDes = rep(NA, nc) #分配空间 关联关系描述(说明谁和谁的关联度) X_names = names(X_o names(relationalDegree) = relDes if (cluster) { greyRelDegree = GRA(economyC # 得到差异率矩阵 # grey_diff = matrix(0 grey_diff[i,j] = abs(rel #得到距离矩阵# grey_dist = matrix(0, nrowiff[i,j]+grey_diff[j,i] } } # 得到灰色相关系数矩阵 # grey_dist_max = max(grey_dist) grey_correl = matrix(0, nrow = nc, ncol = nc) for (i in 1:nc) { for (j in 1:nc) { grey_correl[i,j] = 1 - grey_dist[i,j] / grey_dist_max } } d = as.dist(1-grey_correl) # 得到无对角线的下三角矩阵(数值意义反向了, 值越小表示越相关 ) # 主对角线其实表示了各个对象的相近程度, 画图的时候, 相近的对象放在一起 hc = hclust(d, method = clusterMethod) # 系统聚类(分层聚类)函数, single: 单一连接(最短距离法/最近邻) # hc$height, 是上面矩阵的对角元素升序 # hc$order, 层次树图上横轴个体序号 plot(hc,hang=-1) #hang: 设置标签悬挂位置 } #输出# if (cluster) { lst = list(relationalDegree=relationalDegree, return(lst)}``````{r}## 生成数据rownames(economyCompare) = c("indGV", "indVA", "profit", "incomeTax")## 灰色关联度greyRelDegree = greya(economyCompare)greyRelDegree```
灰色关联度
灰色聚类,如层次聚类
## 灰色聚类greya(economyCompare, cluster = T)
最受欢迎的见解
3.R语言对用电负荷时间序列数据进行K-medoids聚类建模和GAM回归
5.Python Monte Carlo K-Means聚类实战
7.用于NLP的Python:使用Keras的多标签文本LSTM神经网络
- 详析获取标签
- 深度学习及AR在移动端打车场景下的应用
- R案例操作:RQDA和tm包结合进行文本挖掘
- 用Vue.js开发微信小程序:开源框架mpvue解析
- 分类模型的性能评估——以SAS Logistic回归为例: 混淆矩阵
- R语言,你要怎样画地图?
- R语言绘制中国地图,并展示流行病学数据
- 使用R语言构造投资组合
- R语言构建追涨杀跌量化交易模型
- 美团点评境外度假团队前端项目开发实践总结
- 在jfinal中使用druid,并配置查看权限
- java中遇到过的String的一些特性
- Kaggle案例——使用scikit-learn解决DigitRecognition问题
- 基于Kaggle数据的词袋模型文本分类教程
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Azure认知服务之使用墨迹识别功能识别手写汉字
- 基于 TypeScript 的 Weex 优化实践
- R语言数据库中如何多条件排序
- 用好 Java 中的枚举,真的没有那么简单!
- ABAP整型类型的几种位操作 - OR, AND, XOR的
- 【机器学习】算法原理详细推导与实现(七):决策树算法
- 如何使用代码修改SAP CRM One Order CUMULAT_H对象的值
- Caffeine Cache~高性能 Java 本地缓存之王
- 用Python的Pandas和Matplotlib绘制股票唐奇安通道,布林带通道和鳄鱼组线
- Java的Covariance设计原理和SAP ABAP的模拟实现
- ABAP和Java的tag(marker) interface
- setTimeout 是到了xx ms 就执行吗,了解浏览器的 Event-Loop 机制
- 使用ABAP的RTTI和Java反射机制访问static private属性
- ABAP面试问题 - 不使用加减乘除等操作比较两个整数大小
- SAP订单上Shipping抬头和行项目字段的持久化实现原理