首页 > 其他分享 >R语言使用灰色关联分析(Grey Relation Analysis,GRA)中国经济社会发展指标

R语言使用灰色关联分析(Grey Relation Analysis,GRA)中国经济社会发展指标

时间:2024-03-13 23:44:05浏览次数:25  
标签:灰色 关联度 nc dist GRA grey Analysis Grey 聚类

原文链接: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, nrow
iff[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)

 

 


最受欢迎的见解

1.R语言k-Shape算法股票价格时间序列聚类

2.R语言中不同类型的聚类方法比较

3.R语言对用电负荷时间序列数据进行K-medoids聚类建模和GAM回归

4.r语言鸢尾花iris数据集的层次聚类

5.Python Monte Carlo K-Means聚类实战

6.用R进行网站评论文本挖掘聚类

7.用于NLP的Python:使用Keras的多标签文本LSTM神经网络

8.R语言对MNIST数据集分析 探索手写数字分类数据

9.R语言基于Keras的小数据集深度学习图像分类

 

标签:灰色,关联度,nc,dist,GRA,grey,Analysis,Grey,聚类
From: https://www.cnblogs.com/tecdat/p/18071864

相关文章

  • Adaptive Diffusion in Graph Neural Networks论文阅读笔记
    AdaptiveDiffusioninGraphNeuralNetworks论文阅读笔记Abstract​ 最近提出了图扩散卷积(GDC),利用广义图扩散来扩展传播邻域。然而,GDC中的邻域大小是通过在验证集上进行网格搜索来手动对每个图进行调整的,这使得其泛化实际上受到了限制。为了解决这个问题,我们提出了自适应扩散......
  • 无缝集成 MongoDB Relational Migrator,Tapdata 提供关系型到 MongoDB 实时迁移优化方
    在去年的MongoDB用户大会纽约站上,MongoDB正式宣布全面推出新工具MongoDBRelationalMigrator(MongoDBRM),用以简化应用程序迁移和转换——即从传统关系型数据模型到现代的文档数据模型,助力组织快速提升运营效率,充分发挥数据价值。今年年初,同样密切关注数据价值深层挖掘......
  • librosa与torch/torchaudio的stft、spectrogram、mel、power-to-db的对应关系
    注意,以下代码仍受到数值精度(numericalaccuracy)的影响。importsoundfileassfimportnumpyasnpimporttorchaudioimporttorchimportlibrosaif__name__=='__main__':np_data,sr=sf.read('./test.wav')ts_data=torch.from_numpy(np_data).float()......
  • AtCoder Grand Contest 022 E Median Replace
    洛谷传送门AtCoder传送门考虑对于一个确定的串怎么判断合法性。容易发现删到某个时刻若\(1\)的个数大于\(0\)的个数了,因为我们肯定不会蠢到在不是全\(1\)的时候删\(111\),所以\(c_1-c_0\)在不是全\(1\)的时候至少是不会变小的。所以我们的目标就是让\(c_1-c_0......
  • gradle
    Maven和Gradle的区别二者都是java语言主流的构建工具,提供默认的软件包结构,生命周期管理以及依赖管理;Gradle相对于Maven来说减少了冗长的代码,引入依赖只需要将它的groupId,artifactId和version三者用:连接起来;并调用compile函数就可以啦Maven的pom文件:<dependencies>......
  • vagrant up 启动报错 Stderr: VBoxManage.exe: error: A NAT rule of this name alrea
    报错:使用vagrantup启动VirtualBox虚拟机时报错:Stderr:VBoxManage.exe:error:ANATruleofthisnamealreadyexistsVBoxManage.exe:error:Details:codeE_INVALIDARG(0x80070057),componentNATEngineWrap,interfaceINATEngine,calleeIUnknownVBoxManage.exe:e......
  • macOS下安装telegraf记录
    一、通过homebrew安装influxdb官网上说通过homebrew安装,命令如下:brewupdate&&brewinstalltelegraf我执行后,发现报错:dialtcp142.251.42.241:443:i/otimeo 网上说,解决办法:换一个国内能访问的代理地址goproxy.cngoenv-wGOPROXY=https://goproxy.cn对我没用......
  • SciTech-Mathmatics-RealAnalysis: Cantor-Schröder-Bernstein Theorem
    Cornell:https://www.cs.cornell.edu/courses/cs2800/2017fa/lectures/lec14-cantor.htmlUCLA:https://web.cs.ucla.edu/~palsberg/course/cs232/papers/bernstein.pdfhttps://artofproblemsolving.com/wiki/index.php/Schroeder-Bernstein_Theoremhttps://www.whitman.e......
  • Dwango Programming Contest 6th D 题解
    正好测试一下专栏的题解系统。我省选寄了都怪洛谷/fn/fn/fn/fn/fn/fn/fn题解显然可以对于所有关系建有向边,显然是基环外向树森林。由于是字典序最小,因此找到最小的上一个点没有直接连向边的点一定最优。但是有时取最优会导致最后无法选完,我们考虑无法选完的情况。第一种是......
  • [论文速览] CalliGAN@ Style and Structure-aware Chinese Calligraphy Character Gen
    Pretitle:CalliGAN:StyleandStructure-awareChineseCalligraphyCharacterGeneratoraccepted:AICCW(theAIforcontentcreationworkshop)atCVPR2020paper:https://arxiv.org/abs/2005.12500code:https://github.com/JeanWU/CalliGANref:https://blog.cs......