У меня есть следующая проблема:
Я извлек набор данных, но часть этих данных либо недоступна, либо отсутствует; Для разных предметов я выделил 10 параметров:
param1 param2 ... param10
Item 1 1220 N/A 1000
Item 2 1300 200 ... 1000
.. ... ...
item N N/A 1000 ... 200
N ~ 1500 and half of the values are complete
Существует неявная логика в создании элементов, поэтому я хотел бы заполнить эти значения максимально возможным ожидаемым значением.
Пример :
Представим, что у вас есть 2 параметра и 3 элемента.
param1 param2
item1 400 200
item2 200 100
item3 100 N/A
С линейной интерполяцией вы легко получите param2 для item3 = 50
.
Моя идея:
Поскольку у меня есть 10 параметров и 1500 значений, я подумал о PCA на ковариационной матрице из 750 завершенных элементов (в поиске основного направления набора данные).
PCA приведет меня к одному главному направлению для моих предметов (наибольшее собственное значение) и поднаправлению для подгрупп предметов (меньшие собственные значения).
Я хотел, например, проецировать векторы с отсутствующими параметрами на основное направление. получить приблизительное значение отсутствующих параметров.
Из моего первого примера:
param1 param2
item1 400 200
item2 200 100
item3 100 X ?
Полная матрица:
param1 param2
item1 400 200
item2 200 100
Ковариационная матрица:
1 0.5
0.5 1
собственные векторы и собственные значения:
V1 и l1:
1
1 associatedd to 1.5
V2 и l2:
1
-1 associated to 0.5
результат:
Если я проецирую только на V1, я получаю X1=100
.
Если я проецирую на l1.V1 + l2.V2
, я получаю X1=50
. Это связано с тем, что между первыми двумя элементами существует идеальная корреляция.
Итак, мой вопрос:
Пока это только теория, я еще не применил ее, но перед тем, как начать, я хотел бы знать, собираюсь ли я куда-нибудь с этим.
Могу ли я сделать лучше? (Я действительно верю, да.)
Что я могу сделать, если у всех предметов есть один отсутствующий параметр? Откуда я могу получить направление?
Известны ли хорошие алгоритмы для заполнения искаженных матриц или вы можете помочь мне завершить мою идею (порекомендовав мне хорошие показания или методы)?
Я думаю, что Netflix использует этот вид алгоритма для автоматического заполнения матрицы оценки фильма, например (проблема доллара Netflix 1M).
Если вы считаете, что он принадлежит другому сайту stackexchange, не стесняйтесь переносить его.