На мой взгляд вы просто некорректно применяете метод главных компонент, отсюда все недоразумения.
Поиск главных компонент действительно основывается на сингулярном разложении, но не исходной матрицы данных, а ковариационной матрицы признаков. Т.е. Вам нужно сделать вот так:
Код:
[U,W,V] = svd(X'*X);
Тогда матрица W будет диагональной матрицей сингулярных чисел (для чего Вы их возводите в квадрат - не совсем понятно).
Чтобы найти сами главные компоненты, нужно сделать так:
Код:
T = X*U;
Обратите внимание, что при нахождении Г.К. сингулярные числа не используются. Эти числа всего лишь показывают какая доля от общей дисперсии данных приходится на каждую главную компоненту.
По поводу медленного убывания сингулярных чисел - ответ вполне определённый: так ведёт себя шум. В данных, содержащих полезную информацию присутствует несколько больших сингулярных чисел, значения которых резко убывают. Связанные с ними главные компоненты интерпретируются как латентные факторы, в которых сосредоточены вся полезная информация. Остальные сингулярные числа убывают медленно, связанные с ними главные компоненты интерпретируются как шум.
В вашем случае чтобы говорить о чём то конкретном, нужно сначала правильно найти собственные числа. Скорее всего их распределение будет выглядеть так как я описал.
Кстати,нормирование данных, как это сделано у Вас (деление на si(j) в 18 строке) далеко не всегда оправдано. Если Вы предполагаете, что дисперсия шума во всех признаках примерно одинакова, то этого лучше не делать.
Хотелось бы предостеречь Вас так же от попыток осуществить отбор главных компонент на основании их корреляций с результативной переменной. Наиболее адекватным критерием значимости главных компонент является их мощность, которая определяется величиной соответствующих собственных чисел. Дело в том что на слабых главных компонентах могут, а скорее всего и будут, наблюдаться сильные корреляции. Это поначалу внушает оптимизм, но в действительности это ложные корреляции, которые характеризуют особенности обучающей выборки и не воспроизводятся на неизвестных данных.
В некоторых литературных источниках рекомендуется отбирать главные компоненты по t - критерию. В других напротив - этот подход критикуется. Лично у меня наиболее адекватные результаты всегда получались при отборе по мощности. Возможно это связано с тем, что применение t - критерия корректно только в случае нормального распределения, а распределения мощных главных компонент как правило сильно отличаеются от него.