Многокритериальное альтернативное ранжирование на основе смешанных типов данных - PullRequest
0 голосов
/ 10 июня 2018

Я строю систему рекомендаций, которая делает многокритериальное ранжирование автомобильных альтернатив.Мне просто нужно составить рейтинг альтернатив осмысленно.У меня есть способы задавать вопросы пользователям через форму.

Каждый автомобиль будет оцениваться по следующим критериям: цена, размер, электрический / не электрический, расстояние и т. Д. Как вы видите, это сочетание различных типов данных, включая порядковые, кардинальные (количественные) и количественные данные.

Мой вопрос таков:

  1. Какой метод я должен использовать для объединения всех моделей в один счетКоторый я могу оценить.Я посмотрел на модель нормализованной взвешенной суммы, но мне сложно присвоить веса порядковым (ранжированным) данным.Я пытался использовать подход SMARTER для присвоения числовых весов порядковым данным, но я не уверен, что это уместно.Пожалуйста, помогите!

  2. После того, как кто-то может помочь мне найти ответ на вопрос о поиске наилучшего метода ранжирования, что, если альтернатива с наилучшим рейтингом недостаточно хороша по абсолютной шкале?Как я могу проверить это, чтобы еще больше расширить альтернативный набор?

3. Поскольку упомянутые выше критерии (цена и т. д.) относятся к разным единицам, есть ли хороший метод для нормализациисмешанные типы данных, принадлежащие к разным масштабам?имеет ли смысл делать это, учитывая, что данные принадлежат к разным типам?

любая помощь по этим проблемам будет принята с благодарностью!Спасибо!

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

хороший вопрос.

Я бы порекомендовал вам применить AHP для назначения весов каждого критерия и TOPSIS для оценки и ранжирования критериев.

Большинство алгоритмовMCDC (принятие многокритериальных решений) действительно имеет методы нормализации.

Давайте проанализируем ваш случай:

Ваши критерии: Цена, Размер, Электрический / Неэлектрический, Расстояние.

Цена, размер и расстояние могут быть вычислены как целые числа / числа с плавающей запятой, в то время как для качественной точки данных у вас есть несколько вариантов ...

  1. Использование логической логики.(So ​​Electric = 1, Non-Electric = 0)
  2. Использование нечеткой логики.(So ​​Electric = [0-1]) 1
  3. Использование нечеткой логики (So Electric = [0-1], Non-Electric = [0-1]) 2
  4. Использование нейтрософизической логики (So Electric = [t, i, f] где t - это степень, в которой автомобиль является электрическим, i - это степень, в которой вы не можете сказать, f - это степеньв котором автомобиль не электрический. 3

Вы должны использовать булеву логику, если ваше пространство для принятия решений состоит из автомобилей, которые являются полностью электрическими или полностью не электрическими, но ничего всередина: нечеткая логика, если есть различные степени, в которых ваш автомобиль электрический (например, если у вас гибридный автомобиль). Вы должны использовать интуизионистскую нечеткую логику, если вы хотите также учитывать степень, в которой определенный автомобиль НЕ электрический.Вы должны использовать нейтрософизическую логику, если у вас есть неполная информация, поэтому, скажем, есть некоторые автомобили, которые вы не можете сказать, что они есть.

Для упрощения, и поскольку у вас есть только две категории, я бы придерживался логического значениявотgic в вашем конкретном случае, и я предполагаю, что электрическая категория желательна, а не электрическая.

Давайте рассмотрим алгоритм TOPSIS 4 ...

Из вашего примера матрица решений будет выглядеть примерно так:

//DECISION MATRIX 

          Price     Size      Type    Distance
Car1 =    [250]  ,  [300]  ,  [1]  ,  [30] 
Car2 =    [650]  ,  [200]  ,  [0]  ,  [50] 
Car3 =    [100]  ,  [600]  ,  [0]  ,  [10]

Теперь вы должны вычислить матрицу нормализованных решений.Для этого сначала необходимо вычислить значение производительности.

Формула:

enter image description here

Это означает, что для каждого критерия вынеобходимо рассчитать каждый случай на 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 основан на идее, что большинствожелательной альтернативой является та, которая имеет минимальное геометрическое расстояние до идеального решения и наибольшее геометрическое расстояние до антиидеального решения.

enter image description here

Нам нужнопонять, что есть некоторые критерии, которые приносят пользу, а другие - затраты.Так, например, мы могли бы хотеть максимизировать размер и тип, но минимизировать цену и расстояние.

Исходя из этого, давайте вычислим идеальное и антиидеальное решение:

          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]

Впоследствии,Для каждого автомобиля вы должны рассчитать евклидово расстояние с идеальным и антиидеальным решением:

Формула ...

enter image description here

Например, для расстояния между 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]

Как только вы рассчитываете расстояния до идеальных и антиидеальных решений для каждой альтернативы автомобиля, вы должны вычислить показатель эффективности, который в основном является отношением.

enter image description here

Таким образом, для каждой альтернативы автомобиля расстояние до i- / (расстояние до i- + расстояние до i +).

После того, как вы получите оценку производительности каждого варианта автомобиля для их сортировкипо убыванию, и у вас есть соответствующие звания.

Ресурсы:

ССЫЛКИ:

  • 1 Заде, Л. А. (1965).Нечеткие множества.Информация и контроль, 8 (3), 338-353.
  • 2 Атанасов, К.Т. (1983).Интуиционистские нечеткие множества, VII сессия ITKR, София, свергнутая в Центральной науке.Техническая библиотека им.Акад.Sci, 1697, 84.
  • 3 Smarandache, F. (1995).Нейтрософическая логика и множество, Mss.
  • 4 Hwang, CL, & Yoon, K. (1981).Методы принятия решений по нескольким атрибутам.В множественных атрибутных решений (стр. 58-191)Springer, Berlin, Heidelberg.
  • 5 Saaty, RW (1987).Процесс аналитической иерархии - что это такое и как оно используется.Математическое моделирование, 9 (3-5), 167. doi: 10.1016 / 0270-0255 (87) 90473-8
0 голосов
/ 22 июня 2018

Я рад видеть, что вы готовы использовать инструмент принятия решений по нескольким критериям.Вы можете использовать Аналитический процесс иерархии (AHP), Аналитический сетевой процесс (ANP), TOPSIS, VIKOR и т. Д. Пожалуйста, обратитесь к соответствующим документам.Вы также можете сослаться на мои документы.

Кришненду Мукерджи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...