多元统计分析R语言建模| 11 多维标度法MDS

  • 定义:利用客体间相似性数据去解释它们之间的空间关系的统计分析方法
  • 多维变量——二维三维空间表示,标度到低维空间上
  • 种类:
    • 度量化模型:相似性数据游距离、比例尺度测得
    • 非度量化模型:顺序量表(有序)水平的相似数据
  • MDS的古典解
    • 欧式型距离阵及其判定定理
    • 距离矩阵构造A矩阵 *-0.5*d^2
    • B=(bij)
    • 求B的特征根,若>=0,则说明B是欧式型距离矩阵,得到的特征根是古典解
  • Shepard-Kruskal算法
  • 计算步骤:
    • 确定研究目的
    • 选择样品和变量
    • 计算样品间的距离矩阵
    • 分析样品间的距离矩阵
    • 计算距离阵的古典解
    • 检验模型的拟合效果

up-802bbd36d6f36100d9710d2dff1889c78e3.png

up-d821210f252e82de8c4c31880192b954fd2.png

#美国十个城市间公路的距离阵
d12.1=read.table('clipboard',header = T)
D=matrix(c(0,1,sqrt(3),2,sqrt(3),1,1,
           1,0,1,sqrt(3),2,sqrt(3),1,
           sqrt(3),1,0,1,sqrt(3),2,1,
           2,sqrt(3),1,0,1,sqrt(3),1,
           sqrt(3),2,sqrt(3),1,0,1,1,
           1,sqrt(3),2,sqrt(3),1,0,1,
           1,1,1,1,1,1,0),nrow=7,ncol=7)      
D
cmdscale(D)
round(cmdscale(D),3)

#MDS的古典解,线性
d12.1
MDS1=cmdscale(d12.1)
MDS1
plot(MDS1[,1],MDS1[,2],type='n',asp=1)           # asp=1确保欧氏距离正确显示
text(MDS1[,1],MDS1[,2],labels=rownames(d12.1))

#非度量化模型,非线性
#Shepard-Kruskal算法
library('MASS')
D=as.matrix(d12.1)
MDS2=isoMDS(D,k = 2)
MDS2

x=MDS2$points[,1]; 
y=MDS2$points[,2]   #降维后的两维度数据
plot(x,y,type="n")    #降维数据作散点图
text(x,y,labels=rownames(D))   #标记各点对应地区

#广东省各地区农村发展状况评价分析
d12.4=read.table('clipboard',header = T)
D=dist(d12.4)
MDS3=isoMDS(D)
MDS3

x=MDS3$points[,1]; 
y=MDS3$points[,2]   #降维后的两维度数据
plot(x,y,type="n")    #降维数据作散点图
abline(h=0,v=0,lty=3)
text(x,y,labels=rownames(d12.4))   #标记各点对应地区

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值