Я выполняю SVD-анализ с R, но у меня есть матрица со структурными значениями NA. Возможно ли в этом случае получить разложение SVD? Существуют ли альтернативные решения? Заранее спасибоSVD с отсутствующими значениями в R
0
A
ответ
0
Возможно, вы захотите попробовать функцию SVDmiss в пакете SpatioTemporal, которая не учитывает значение вменения, а также вычисляет SVD на вмененной матрице. Проверьте эту ссылку SVDmiss Function
Однако, возможно, вам захочется быть осторожным с характером ваших данных и не будет ли смысл вменять значение в вашем случае.
0
Я пробовал использовать SVM в R с значениями NA без прецедентов. Иногда они играют важную роль в анализе, так что я обычно преобразовать свои данные следующим образом:
- Если у вас есть много переменных попытаться уменьшить их количество (кластеризация, лассо, и т.д. ...)
Transform остальные предсказатели, как это:
- для количественных переменных:
- calculate deciles per predictor (leaving missing obs out) - calculate frequency of Y per decile (assuming Y is qualitative) - regroup deciles on their Y freq similarity into 2/3/4 groups (you can do this by looking at their plot too) - create for each group a new binary variable (X11 = 1 if X1 takes values in the interval ...) - calculate Y frequency for missing obs of that predictor - join the missing obs category to the variable that has the closest Y freq
- для качественных переменных:
- if you have variables with lots of levels you should do clustering by Y variable - for variables with lesser levels, you can calculate Y freq per class - regroup the classes like above - calculate the same thing for missing obs and attach it to the most similar group of non-missing - recode the variable as for numeric case*
Там, теперь у вас есть полная база данных фиктивных переменных и возможность выполнения SVM, нейронные сети, лассо, и т.д. ...