多维尺度分析(Multidimension Scaling, MDS)
- 基于连续变量: Metric MDS, MMDS
- 基于分类变量: Nonmetric MDS, NMDS
多维尺度分析是已知样本点的距离矩阵,计算出每个样本点的坐标的算法。
原理
样本点有r个,
已知的距离矩阵为$D=[d_{ij}]$
要求出的坐标矩阵为$M=[m_1,m_2,…m_r]^T$
目标函数(又叫做应力函数或压力函数)$S(M,a,b)=\dfrac{\sqrt{\sum_{i,j=1}^r[\tilde d_{ij}- (a+bd_{ij})]^2}}{\sum_{i,j=1}^r \tilde d_{ij}^2}$
其中$\tilde d= \mid\mid m_i -m_j \mid\mid $
接下来是求最优化$\arg \min\limits_{M,a,b} S(M,a,b)$
算法是反复迭代以下过程:
- 固定M,求最优a, b
- 固定a, b,求最优M
Python实现
参考资料sklearn官网
```