Частичная регрессия наименьших квадратов
[XL,YL] = plsregress(X,Y,ncomp)
[XL,YL,XS] = plsregress(X,Y,ncomp)
[XL,YL,XS,YS] = plsregress(X,Y,ncomp)
[XL,YL,XS,YS,BETA] = plsregress(X,Y,ncomp,...)
[XL,YL,XS,YS,BETA,PCTVAR] = plsregress(X,Y,ncomp)
[XL,YL,XS,YS,BETA,PCTVAR,MSE] = plsregress(X,Y,ncomp)
[XL,YL,XS,YS,BETA,PCTVAR,MSE] = plsregress(...,param1,val1,param2,val2,...)
[XL,YL,XS,YS,BETA,PCTVAR,MSE,stats] = plsregress(X,Y,ncomp,...)
[XL,YL] = plsregress(X,Y,ncomp) вычисляет регрессию частичных наименьших квадратов (PLS) Y на X, с помощью ncomp компоненты PLEASE, и возвращает предиктор и загрузки ответа в XL и YL, соответственно. X является n-by-p матрица переменных прогноза со строками, соответствующими наблюдениям и столбцам к переменным. Y является n-by-m матрица ответа. XL является p-by-ncomp матрица загрузок предиктора, где каждая строка содержит коэффициенты, которые задают линейную комбинацию компонентов PLEASE, которые аппроксимируют исходные переменные прогноза. YL является m-by-ncomp матрица загрузок ответа, где каждая строка содержит коэффициенты, которые задают линейную комбинацию компонентов PLEASE, которые аппроксимируют исходные переменные отклика.
[XL,YL,XS] = plsregress(X,Y,ncomp) возвращает очки предиктора XS, то есть, компоненты PLEASE, которые являются линейными комбинациями переменных в X. XS является n-by-ncomp ортонормированная матрица со строками, соответствующими наблюдениям и столбцам к компонентам.
[XL,YL,XS,YS] = plsregress(X,Y,ncomp) возвращает очки ответа YS, то есть, линейные комбинации ответов, с которыми компоненты PLEASE XS имеют максимальную ковариацию. YS является n-by-ncomp матрица со строками, соответствующими наблюдениям и столбцам к компонентам. YS не является ни ортогональным, ни нормирован.
plsregress использует алгоритм SIMPLS, сначала сосредотачивая X, и Y путем вычитания от столбца означает получать сосредоточенные переменные X0 и Y0. Однако это не повторно масштабирует столбцы. Чтобы выполнить PLEASE со стандартизированными переменными, используйте zscore, чтобы нормировать X и Y.
Если ncomp не использован, его значением по умолчанию является min(size(X,1)-1,size(X,2)).
Отношения между очками, загрузками и сосредоточенными переменными X0 и Y0:
XL = (XS\X0)' = X0'*XS,
YL = (XS\Y0)' = Y0'*XS,
XL и YL являются коэффициентами от регрессирующего X0 и Y0 на XS, и XS*XL' и XS*YL' являются приближениями PLEASE к X0 и Y0.
plsregress первоначально вычисляет YS как:
YS = Y0*YL = Y0*Y0'*XS,
Условно, однако, plsregress затем ортогонализирует каждый столбец YS относительно предыдущих столбцов XS, так, чтобы XS'*YS был нижним треугольным.
[XL,YL,XS,YS,BETA] = plsregress(X,Y,ncomp,...) возвращает коэффициенты регрессии PLEASE BETA. BETA (p +1)-by-m матрица, содержа условия прерывания в первой строке:
Y = [ones(n,1),X]*BETA + Yresiduals,
Y0 = X0*BETA(2:end,:) + Yresiduals. Здесь Yresiduals является вектором невязок ответа.
[XL,YL,XS,YS,BETA,PCTVAR] = plsregress(X,Y,ncomp) возвращает 2 ncomp матричным PCTVAR, содержащим процент отклонения, объясненного моделью. Первая строка PCTVAR содержит процент отклонения, объясненного в X каждым компонентом PLEASE, и вторая строка содержит процент отклонения, объясненного в Y.
[XL,YL,XS,YS,BETA,PCTVAR,MSE] = plsregress(X,Y,ncomp) возвращает 2-by-(ncomp +1), матричный MSE, содержащий, оценил среднеквадратические ошибки для моделей PLEASE с компонентами 0:ncomp. Первая строка MSE содержит среднеквадратические ошибки для переменных прогноза в X, и вторая строка содержит среднеквадратические ошибки для переменной (переменных) отклика в Y.
[XL,YL,XS,YS,BETA,PCTVAR,MSE] = plsregress(..., задает дополнительное название параметра / пары значения из следующей таблицы, чтобы управлять вычислением param1,val1,param2,val2,...)MSE.
| Параметр | Значение |
|---|---|
'cv' | Метод раньше вычислял
Значением по умолчанию является |
'mcreps' | Положительное целое число, указывающее на количество повторений Монте-Карло для перекрестной проверки. Значением по умолчанию является |
options | Структура, которая задает, запуститься ли параллельно, и задает случайный поток или потоки. Создайте структуру
Чтобы вычислить параллельно, вам нужен Parallel Computing Toolbox™ |
[XL,YL,XS,YS,BETA,PCTVAR,MSE,stats] = plsregress(X,Y,ncomp,...) возвращает структуру stats со следующими полями:
W p-by-ncomp матрица весов PLEASE так, чтобы XS = X0*W.
T2 T 2 статистических величины для каждой точки в XS.
Xresiduals — Невязки предиктора, то есть, X0-XS*XL'.
Yresiduals — Невязки ответа, то есть, Y0-XS*YL'.
[1] Де Йонг, S. “SIMPLS: Альтернативный Подход к Частичной Регрессии Наименьших квадратов”. Хемометрики и Интеллектуальные Лабораторные Системы. Издание 18, 1993, стр 251–263.
[2] Rosipal, R. и Н. Крамер. “Обзор и Недавние Усовершенствования в Частичных Наименьших квадратах”. Подпространство, Скрытый Выбор Структуры и Функции: Статистический и Семинар по Перспективам Оптимизации (SLSFS 2005), Пересмотренный, Выбрал Papers (Lecture Notes in Computer Science 3940). Берлин, Германия: Springer-Verlag, 2006, стр 34–51.