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

简介: R语言使用灰色关联分析(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 |

示例




##生成数据


#' 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)

相关文章
|
4天前
|
机器学习/深度学习 数据可视化 数据挖掘
数据分享|R语言主成分PCA、因子分析、聚类对地区经济研究分析重庆市经济指标
数据分享|R语言主成分PCA、因子分析、聚类对地区经济研究分析重庆市经济指标
15 0
|
12天前
|
数据可视化 数据挖掘
R语言中的生存分析Survival analysis晚期肺癌患者4例
R语言中的生存分析Survival analysis晚期肺癌患者4例
90 7
|
3天前
|
机器学习/深度学习 数据可视化 计算机视觉
【视频】机器学习交叉验证CV原理及R语言主成分PCA回归分析犯罪率|数据共享
【视频】机器学习交叉验证CV原理及R语言主成分PCA回归分析犯罪率|数据共享
10 0
|
3天前
|
机器学习/深度学习 数据可视化
R语言MCMC的lme4二元对数Logistic逻辑回归混合效应模型分析吸烟、喝酒和赌博影响数据
R语言MCMC的lme4二元对数Logistic逻辑回归混合效应模型分析吸烟、喝酒和赌博影响数据
10 0
|
3天前
|
数据可视化 知识图谱
数据分享|R语言、SAS潜类别(分类)轨迹模型LCTM分析体重指数 (BMI)数据可视化
数据分享|R语言、SAS潜类别(分类)轨迹模型LCTM分析体重指数 (BMI)数据可视化
|
1天前
|
数据可视化 Python
R语言无套利区间模型期货期现研究:正向套利和反向套利次数、收益率分析华泰柏瑞300ETF可视化
R语言无套利区间模型期货期现研究:正向套利和反向套利次数、收益率分析华泰柏瑞300ETF可视化
|
1天前
|
数据可视化 数据挖掘
R语言APRIORI模型关联规则挖掘分析脑出血急性期用药规律最常配伍可视化
R语言APRIORI模型关联规则挖掘分析脑出血急性期用药规律最常配伍可视化
|
1天前
|
算法
R语言MCMC-GARCH、风险价值VaR模型股价波动分析上证指数时间序列
R语言MCMC-GARCH、风险价值VaR模型股价波动分析上证指数时间序列
R语言MCMC-GARCH、风险价值VaR模型股价波动分析上证指数时间序列
|
1天前
|
数据挖掘 开发工具 Android开发
R语言对git安卓包分类统计、聚类、复杂网络可视化分析
R语言对git安卓包分类统计、聚类、复杂网络可视化分析
|
3天前
|
数据可视化 数据挖掘
数据分享|R语言分析上海空气质量指数数据:kmean聚类、层次聚类、时间序列分析:arima模型、指数平滑法
数据分享|R语言分析上海空气质量指数数据:kmean聚类、层次聚类、时间序列分析:arima模型、指数平滑法
12 0

热门文章

最新文章

http://www.vxiaotou.com