Частичная регрессия наименьших квадратов
[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.