我正在建立一个推荐系统,该系统根据基于多标准的汽车替代品排名。我只需要以有意义的方式对备选方案进行排名。我有办法通过表格询问用户问题。
每辆车将根据以下标准进行评判:价格,尺寸,电动/非电动,距离等。您可以看到各种数据类型的混合,包括序数,基数(计数)和定量数据。
我的问题如下:
我应该使用哪种技术将所有模型合并到一个我可以排名的分数中。我查看了归一化加权和模型,但我很难为有序(排名)数据分配权重。我尝试使用SMARTER方法为顺序数据分配数字权重,但我不确定它是否合适。请帮忙!
有人可以帮我找到最佳排名方法的答案后,如果排名最高的替代品在绝对规模上不够好怎么办?我如何检查,以便进一步扩大替代方案?
3.由于上面提到的标准(价格等)都在不同的单位上,是否有一种很好的方法来归一化属于不同尺度的混合数据类型?考虑到数据属于许多不同的类型,这样做是否有意义呢?
对这些问题的任何帮助将不胜感激!谢谢!
答案 0 :(得分:0)
好问题。
我建议您应用AHP来分配每个标准的权重,并使用TOPSIS对标准进行评分和排名。
大多数MCDC(多标准决策)算法确实具有归一化方法。
让我们分析一下您的情况:
您的标准是:价格,尺寸,电/非电,距离。
价格,大小和距离可以计算为整数/浮点数,而对于定性数据点则可以选择...
如果决策空间由完全电动或完全不电动的汽车组成,但中间没有任何东西,则应使用布尔逻辑。如果您的汽车处于不同程度的电动状态(例如,如果您有混合动力汽车),则为模糊逻辑。如果您还想考虑某种汽车不电动的程度,则应使用直观的模糊逻辑。如果您掌握的信息不完整,则应该使用中智逻辑,因此,假设有些汽车无法分辨它们是什么。
为简化起见,由于您只有两个类别,因此在您的特定情况下,我会坚持使用布尔逻辑,并且我假设电气类别比非电气类别更受欢迎。
让我们通过TOPSIS算法4 ...
在您的示例中,决策矩阵如下所示:
//DECISION MATRIX
Price Size Type Distance
Car1 = [250] , [300] , [1] , [30]
Car2 = [650] , [200] , [0] , [50]
Car3 = [100] , [600] , [0] , [10]
现在,您必须计算归一化决策矩阵。首先,您必须计算性能值。
公式为:
这意味着对于每个条件,您必须将每个个案乘以2,对所有个案求和,然后计算总和的平方根。
所以...
//DECISION MATRIX + Performance Score
Price Size Type Distance
Car1 = [250] , [300] , [1] , [30]
Car2 = [650] , [200] , [0] , [50]
Car3 = [100] , [600] , [0] , [10]
pScore = [703] , [700] , [1] , [60]
获得性能得分后,就可以标准化。为此,您只需计算条件的每个值与相应的绩效得分之间的差距即可。
//NORMALISED DECISION MATRIX
Price Size Type Distance
Car1 = [0.36] , [0.43] , [1] , [0.51]
Car2 = [0.92] , [0.29] , [0] , [0.85]
Car3 = [0.14] , [0.86] , [0] , [0.17]
现在,您必须计算加权归一化决策矩阵。 (假设您已经分配了权重,如果没有,您可以检查AHP算法[5])。
// WEIGHTED NORMALISED DECISION MATRIX
Price Size Type Distance
Car1 = [0.07] , [0.04] , [0.3] , [0.20]
Car2 = [0.18] , [0.03] , [0] , [0.34]
Car3 = [0.03] , [0.09] , [0] , [0.07]
Weight = [0.20] , [0.10] , [0.30], [0.40]
TOPSIS算法的思想是,最理想的替代方法是与理想解的几何距离最近,而与理想解的几何距离最大的算法。
我们需要了解,有一些准则是一种收益,而另一些则是成本。因此,例如,我们可能想最大化尺寸和类型,但最小化价格和距离。
基于此,让我们计算理想和反理想的解决方案:
Price Size Type Distance
Car1 = [0.07] , [0.04] , [0.3] , [0.20]
Car2 = [0.18] , [0.03] , [0] , [0.34]
Car3 = [0.03] , [0.09] , [0] , [0.07]
Ideal = [0.03] , [0.09] , [0.3], [0.07]
-Ideal = [0.18] , [0.03] , [0] , [0.34]
然后,对于每辆汽车,您都必须使用理想和反理想解来计算欧几里得距离:
公式是...
例如,对于car1与理想解之间的距离为((0.07-0.03)**2 + (0.04-0.09)**2 + (0.3-0.3)**2 + (0.20-0.07)**2) ** 0.5
在python中,您可以使用Spicy Library来实现。 [6]
一旦计算出每种替代汽车的理想解和反理想解的距离,就必须计算出性能分数,基本上是一个比率。
因此,对于每种替代汽车,到i- /的距离(到i-的距离+到i +的距离)。
获得每种替代汽车的性能得分后,就可以按照降序对它们进行排序,并且它们具有各自的排名。
资源:
参考:
答案 1 :(得分:-1)
很高兴看到您愿意使用多个条件的决策工具。您可以使用层次分析过程(AHP),网络分析过程(ANP),TOPSIS,VIKOR等。请参考相关论文。您也可以参考我的论文。
Krishnendu Mukherjee