Набор данных состоит из N элементов и переменных K. Используя PCA, я могу уменьшить количество переменных, но как проверить, какие из K переменных предоставляют наибольшую информацию?Выбор функции с использованием PCA
Например, у меня есть набор данных, как это:
1 1 1 2
2 2 1 4
3 3 2 11
1 1 2 7
2 2 3 14
3 3 3 16
1 1 4 17
2 2 4 19
3 3 3 16
Я знаю, что первый столбец такой же, как 2-й и 4-й колонке определяется соотношением: 2 * первый + 5 * 3-й 5. Поэтому 1-й и 3-й столбцы предоставляют большую информацию и отдых не предоставляют никакой дополнительной информации. Но как рассчитать это с помощью СПС?
Можете ли вы написать код Matlab для получения этой матрицы? – veeveeoor
У меня нет MatLab самостоятельно, но pca()/princomp() вычисляет компоненты из необработанного набора данных, в то время как pcacov() принимает (симметричную положительную полуопределенную) ковариационную матрицу в качестве входа. – jayprich
Глядя на эквиваленты SciLab, я думаю, что они будут вычислять матрицу выборки-ковариации и сообщать о векторах и факторах отдельно. Моя матрица является факторизацией x '* x, матрицей 4x4, эквивалентной ковариации населения. Для таких дегенеративных случаев, возможно, стоит изучить разложение или аппроксимацию сингулярных значений, которые также доступны и могут возвращать ранг. – jayprich