Контекст: Я розробляю систему, яка аналізує клінічні дані, щоб відфільтрувати неправдоподібні дані, які можуть бути помилковими.
Що я робив до цього часу:
Для кількісної оцінки правдоподібності моєю спробою поки що була нормалізація даних, а потім обчислення значення правдоподібності для точки p на основі її відстані до відомих точок даних у наборі D (= навчальний набір):
За допомогою цього кількісного визначення я можу вибрати поріг, який відокремлює правдоподібні дані від неправдоподібних даних. Я використовую python / numpy.
Мої проблеми:
- Цей алгоритм не може виявити незалежні розміри. В ідеалі я міг би вкласти в алгоритм все, що я знаю про запис, і дозволити йому з’ясувати, що розмірність X не впливає на правдоподібність запису.
- Алгоритм насправді не працює для дискретних значень, таких як булеві або вибрані входи. Вони можуть бути відображені на безперервних значеннях, але контр-інтуїтивно зрозуміло, що Select 1 ближче до Select 2, ніж Select 3.
Питання:
Які алгоритми я повинен розглянути для цього завдання? Здається, існує маса варіантів, включаючи найближчий сусід, заснований на кластеризації та статистичний підхід. Також у мене виникають проблеми з пошуком паперів, які стосуються виявлення аномалії цієї складності.
Будь-яка порада високо цінується.
[Редагувати] Приклад:
Припустимо, дані складалися з висоти людини, ваги людини та часової позначки - значить, це 3D-дані. Вага та зріст співвідносяться, але мітка часу повністю незалежна. Якщо я просто розглядаю евклідові відстані, мені доведеться вибрати невеликий поріг, який відповідає більшості моїх даних перехресної перевірки. В ідеалі алгоритм просто ігнорує розмір часової мітки, оскільки не має значення визначати, чи є правдоподібним запис, оскільки часова марка жодним чином не співвідноситься з іншими вимірами. Будь-яка мітка часу правдоподібна.
З іншого боку, можна скласти приклади, коли часова марка має значення. Наприклад, можливо, що значення Y для ознаки X є правдоподібним, коли вимірюється до певної дати, але не після певної дати.