基于SAISM求解步骤


论文写作或者计算需要帮助可发邮件到 hwstu # sohu.com 把 #替换成@,请说清来意,不必拐弯抹角,浪费相互之间的时间。

SAISM


  SAISM,是Squeeze Adversarial Interpretive Structure Modeling Method 的简写。中文名叫夹逼对抗解释结构模型法。

  SAHDT,是Squeeze Adversarial Hasse Diagram Technology 的简写。中文名叫夹逼哈斯图技术法。

  上面两者是一回事,同一个东西的不同叫法而已。

  其夹逼的过程为:

  1、根据不同的距离公式求出两组PQ矩阵,并根据PQ矩阵得出拓扑菊花链。此过程其实为在多维空间的投射分量上基于距离测度的菊花链

  2、根据不同的距离公式求出各评价对象(方案,样品,要素)距离正负点的距离并获得拓扑菊花链。此过程其实为样本两点间距离测度的菊花链

  3、根据贴近度公式求出拓扑菊花链,此结果通常为一条棍子形式的菊花链。


第一步,无量纲化与归一化


  $$ \require{cancel} \require{AMScd} \begin{CD} \ldots @>N步无量纲处理>> O=\left[ o_{ij} \right]_{n \times m} @>归一化处理>>N=\left[ n_{ij} \right]_{n \times m} \\ \end{CD} $$

无量纲化的目的与要求

  无量纲化(nondimensionalize 或者dimensionless)是指通过一个合适的变量替代,将一个涉及物理量的方程的部分或全部的单位移除,以求简化实验或者计算的目的,是科学研究中一种重要的处理思想。

  无量纲化方法选择的标准:

  ① 客观性。无量纲化所选择的转化公式要能够客观地反映指标实际值与指标评价值之间的对应关系。要做到客观性原则,需要评价专家对被评价对象的历史信息做出深入彻底的分析和比较,找出事物发展变化的转折点,才能够确定合适的无量纲化方法。

  ② 可行性。即所选择的无量纲化方法要确保转化的可行性各种方法各有特点,各有千秋,应用时应当加以注意。

  ③ 可操作性。即要确保所选方法具有简便易用的特点,并不是所有的非线性无量纲化方法都比线性无量纲化方法更加精确。评价不是绝对的度量,在不影响被评价对象在评价中的影响程度的前提下,可以使用更为简便的线性无量纲化方法代替曲线关系。

  无量纲化式特别注意:为非数值型的属性,则需要转化成数值型的数据进行处理。

  如描述性的属性,即非正规(Non-normal)模糊数,又称为一般性模糊数 (Generalized Fuzzy Numbers)可转化成五分制、十分制、百分制或者特定的数值。该数值可以通过特定的模糊运算进行转化。

  其中五分制是最常见的模糊化的转化。

$$ \begin{array} {|c|c|c|c|} \hline {模糊值} &{5分制}& {表述一}& {表述二} \\ \hline 0.2&1 &\color{red}{非常傻逼} &\color{blue}{垃圾} \\ \hline 0.4&2 &\color{red}{真傻逼} &\color{blue}{有点挫} \\ \hline 0.6&3 &\color{red}{恩} &\color{blue}{还行}\\ \hline 0.8&4 &\color{red}{有点牛逼} &\color{blue}{好} \\ \hline 0.99&5 &\color{red}{真TMD牛逼} &\color{blue}{哇塞} \\ \hline \end{array} $$

原始矩阵 $O=[ o_{ij}]_{n \times m}$的特点

  其归一化前的的原始矩阵中的每一列具有同一属性、同一的量纲。且每一列都转化为数值型。其中如带百分号的转化成小数形式,布尔型的转化成0,1;模糊型的描述转化成具体的数值。

  每一列的数值的大小同价值取向的好坏、优劣主要有如下几大类:

  $$ \begin{array} {|c|c|c|c|} \hline {类别名称}& {特点} \\ \hline \color{red}{正向指标} &\color{blue}{数值越大越好,数值越小越差。} \\ \hline \color{red}{负向指标} &\color{blue}{数值越大越差,数值越小越好。} \\ \hline \color{red}{振荡性指标} &\color{blue}{数值距离某区段越小越好,距离某区段越大越差。}\\ \hline \color{red}{周期性指标} &\color{blue}{诸如周期性函数 如 sin(2x)} \\ \hline \end{array} $$

  对于振荡性指标与周期性指标,需要先进行转化,以方便后面的归一化处理。

  设某物种最适合的生长的酸碱环境为6.3-7.3区间,偏离此区间成线性的危害。酸碱度分别为8.2,7.1,6.9,5.3,6.1对该物种的危害可进行如下换算。

  $$ \begin{array} {|c|c|c|c|} \hline {PH值} & {计算过程} & {PH值对该生物的危害} \\ \hline {8.2} & \color{red}{8.2-7.3} &\color{blue}{0.9} \\ \hline {7.1} & \color{red}{在区间内为0} &\color{blue}{0} \\ \hline {6.9} &\color{red}{在区间内为0} &\color{blue}{0}\\ \hline {5.3} & \color{red}{6.3-5.3} &\color{blue}{1} \\ \hline {6.1} & \color{red}{6.3-6.1} &\color{blue}{0.2} \\ \hline \end{array} $$

  对于上面的震荡类区间数,周期性数值,一般要转化成正向指标或者负向指标两类

归一化的目的和要求

  归一化得到的归一化矩阵$N$有如下特点

  归一化矩阵$N$矩阵中的每个值都是在$[0,1]$的值域范围内,这也是归一这个名称的来历。

  特殊情况下$N$的值域范围在$[-1,1]$内。

  每列的序方向一致。即原来的三种指标都转化成正向指标方向、或者负向指标方向。

  最后一步的归一化方法一致,用以保证N在测度的一致性。

  

归一化方法算例


  原始矩阵$Ori$如下格式:

  其中列(维度,分量,空间,测度内容,指标……)标题中含$+$的为正向指标,含$-$为负向指标

  $Ori$ 的各列为分别无量纲处理过的原始矩阵

$$ \begin{array}{c|c|c|c|c|c|c}{M_{11 \times8}} &B1 &B2 & -B3 &B4 &B5 &B6 &B7 & -B8\\ \hline 北京 &35445.1 &2233.6 &7.4 &15.22 &13900.25 &5817.1 &7671 &63.10120706\\ \hline 天津 &14055.5 &462.97 &26.1 &14.89 &9000.166667 &2410.41 &10825 &78.62996159\\ \hline 河北 &34978.6 &566.7 &36 &46.09 &6079.666667 &3738.99 &13340 &91.8256059\\ \hline 辽宁 &24855.3 &463 &45.6 &33.11 &6074.25 &2652.4 &10370 &87.1875\\ \hline 上海 &37987.6 &1524.6 &19.3 &13.98 &12448.08333 &7165.1 &13636 &77.36408567\\ \hline 江苏 &98656.8 &2779.5 &35.1 &52.28 &8043.916667 &8802.36 &95240 &87.14869888\\ \hline 浙江 &62462 &1669.8 &34.4 &30.06 &8304.5 &7048.58 &98501 &87.98632479\\ \hline 福建 &42326.6 &753.4 &16.8 &28.12 &6817.833333 &3052.93 &21689 &91.96828593\\ \hline 山东 &70540.5 &1494.7 &44.2 &66.31 &6787.166667 &6526.71 &45250 &90.42303873\\ \hline 广东 &107986.9 &3098.5 &36.9 &61.63 &8240.75 &12654.53 &106340 &89.63631629\\ \hline 广西 &21237.1 &167.1 &19.7 &35.98 &6373.25 &1811.89 &3937 &93.2983871\\ \hline \end{array} $$

  

名称 正向指标公式 负向指标公式 选择该方法 说明
极差法  $$ n_{ij} = \frac{{o_{ij}-min(o_{j})}}{{max(o_{j})-min(o_{j})}} $$ $$ n_{ij} = \frac{max(o_{j})-{o_{ij}}}{{max(o_{j})-min(o_{j})}} $$
该方法最常用
欧式距离法 $$n_{ij} = \frac {o_{ij}} { \sqrt{ {\sum \limits_{i=1}^{n}{o_{ij}^2}} } }= \frac {o_{ij}} { ( {\sum \limits_{i=1}^{n}{o_{ij}^2}} )^{\frac 1 2} }$$ $$n_{ij} = 1- \frac {o_{ij}} { \sqrt{ {\sum \limits_{i=1}^{n}{o_{ij}^2}} } }= 1- \frac {o_{ij}} { ( {\sum \limits_{i=1}^{n}{o_{ij}^2}} )^{\frac 1 2} }$$
数据之间差距不宜过大
均值标准化(Z-score) $$\frac{x-\mu }{\sigma }$$ $$\frac{\mu-x }{\sigma }$$
算起来有点繁琐,当矩阵最小值小于零时,进行坐标平移,使得最小值不能为负数,以下雷同
反三角函数处理(反正切函数 arctan ) $$\frac{2 \times atan(o_{ij}) }{ \pi}$$ $$1-\frac{2 \times atan(o_{ij}) }{ \pi}$$
有零要额外处理
对数压缩数据法  $$ n_{ij} = \frac{lg({o_{ij}) }}{{ lg (max(o_{j}))}} $$ $$ n_{ij} = 1- \frac{lg({o_{ij}) }}{{ lg (max(o_{j}))}}$$
有零要额外处理
sigmoid函数(Logistic函数)  $$ n_{ij} = \frac{1} {1+{e}^{-o_{ij}} } $$ $$ n_{ij} = 1-\frac{1} {1+{e}^{-o_{ij}} }$$
ML、神经网络等基本用这个

请选择归一化方法