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

简介: 灰色关联分析(Grey Relation Analysis,GRA)中国经济社会发展指标

灰色关联分析包括两个重要功能。

第一项功能:灰色关联度,与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 |

示例

##生成数据
#
  # 异常控制 #
  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)
  
}
## 生成数据
rownames(economyCompare) = c("indGV", "indVA", "profit", "incomeTax")
## 灰色关联度
greyRelDegree = greya(economyCompare)
greyRelDegree

灰色关联度

灰色聚类,如层次聚类

## 灰色聚类
greya(economyCompare, cluster = T)

相关文章
【R语言实战】——带有高斯新息的金融时序的GARCH模型拟合预测及VAR/ES风险度量
【R语言实战】——带有高斯新息的金融时序的GARCH模型拟合预测及VAR/ES风险度量
|
8月前
|
数据可视化
【R语言实战】——金融时序ARIMA建模
【R语言实战】——金融时序ARIMA建模
|
8月前
|
机器学习/深度学习 算法
R语言分类回归分析考研热现象分析与考研意愿价值变现
R语言分类回归分析考研热现象分析与考研意愿价值变现
|
8月前
|
机器学习/深度学习 数据可视化 数据挖掘
R语言逻辑回归logistic对ST股票风险建模分类分析混淆矩阵、ROC曲线可视化
R语言逻辑回归logistic对ST股票风险建模分类分析混淆矩阵、ROC曲线可视化
|
8月前
|
数据可视化
数据分享|R语言Copula对债券的流动性风险时间序列数据进行度量
数据分享|R语言Copula对债券的流动性风险时间序列数据进行度量
|
8月前
|
移动开发 数据可视化
广义线性模型beta二项分布的淋巴结疾病风险预测可视化R语言2实例合集|附数据代码
广义线性模型beta二项分布的淋巴结疾病风险预测可视化R语言2实例合集|附数据代码
|
8月前
|
存储 数据可视化
R语言软件套保期限GARCH、VAR、OLS回归模型对沪深300金融数据可视化分析
R语言软件套保期限GARCH、VAR、OLS回归模型对沪深300金融数据可视化分析
|
8月前
|
机器学习/深度学习 算法 Serverless
数据分享|R语言武汉流动人口趋势预测:灰色模型GM(1,1)、ARIMA时间序列、logistic逻辑回归模型
数据分享|R语言武汉流动人口趋势预测:灰色模型GM(1,1)、ARIMA时间序列、logistic逻辑回归模型
|
8月前
|
机器学习/深度学习 数据可视化 算法
数据分享|R语言交互可视化分析Zillow房屋市场:arima、VAR时间序列、XGBoost、主成分分析、LASSO报告
数据分享|R语言交互可视化分析Zillow房屋市场:arima、VAR时间序列、XGBoost、主成分分析、LASSO报告
|
4月前
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。