Многомерная линейная регрессия
beta = mvregress(X,Y)
beta = mvregress(X,Y,Name,Value)
[beta,Sigma]
= mvregress(___)
[beta,Sigma,E,CovB,logL]
= mvregress(___)
возвращает предполагаемые коэффициенты для многомерной нормальной регрессии d - размерные ответы в beta
= mvregress(X
,Y
)Y
на матрицах проекта в X
.
возвращает предполагаемые коэффициенты с помощью дополнительных опций, заданных одним или несколькими аргументами пары "имя-значение". Например, можно задать алгоритм оценки, значения первоначальной оценки или максимальное количество итераций для регрессии.beta
= mvregress(X
,Y
,Name,Value
)
Соответствуйте многомерной модели регрессии, чтобы снабдить данные панелями, принимая различные прерывания и общие наклоны.
Загрузите выборочные данные.
load('flu')
Массив набора данных flu
содержит национальные оценки гриппа CDC, и девять, разделяет региональные оценки на основе данных о запросе Google®.
Извлеките данные о предикторе и ответ.
Y = double(flu(:,2:end-1)); [n,d] = size(Y); x = flu.WtdILI;
Ответы в Y
являются девятью региональными оценками гриппа. Наблюдения существуют в течение каждой недели за однолетний период, таким образом, = 52. Размерность ответов соответствует областям, таким образом, = 9. Предикторы в x
являются еженедельными национальными оценками гриппа.
Отобразите на графике данные о гриппе, сгруппированные областью.
figure; regions = flu.Properties.VarNames(2:end-1); plot(x,Y,'x') legend(regions,'Location','NorthWest')
Соответствуйте многомерной модели регрессии
где и, с параллельной корреляцией между областями
Существуют = 10 коэффициентов регрессии, чтобы оценить: девять условий прерывания и общий наклон. Входной параметр X
должен быть - массив ячеек элемента матриц проекта.
X = cell(n,1); for i = 1:n X{i} = [eye(d) repmat(x(i),d,1)]; end [beta,Sigma] = mvregress(X,Y);
beta
содержит оценки - размерный вектор коэффициентов
Sigma
содержит оценки ковариационной матрицы отклонения для параллельных корреляций между областями.
Постройте подходящую модель регрессии.
B = [beta(1:d)';repmat(beta(end),1,d)]; xx = linspace(.5,3.5)'; fits = [ones(size(xx)),xx]*B; figure; h = plot(x,Y,'x',xx,fits,'-'); for i = 1:d set(h(d+i),'color',get(h(i),'color')); end legend(regions,'Location','NorthWest');
График показывает, что каждая линия регрессии имеет различное прерывание, но тот же наклон. После визуального осмотра некоторые линии регрессии, кажется, соответствуют данным лучше, чем другие.
Соответствуйте многомерной модели регрессии, чтобы снабдить данные панелями с помощью наименьших квадратов, принимая различные прерывания и наклоны.
Загрузите выборочные данные.
load('flu');
Массив набора данных flu
содержит национальные оценки гриппа CDC, и девять, разделяет региональные оценки на основе запросов Google®.
Извлеките данные о предикторе и ответ.
Y = double(flu(:,2:end-1)); [n,d] = size(Y); x = flu.WtdILI;
Ответы в Y
являются девятью региональными оценками гриппа. Наблюдения существуют в течение каждой недели за однолетний период, таким образом, = 52. Размерность ответов соответствует областям, таким образом, = 9. Предикторы в x
являются еженедельными национальными оценками гриппа.
Соответствуйте многомерной модели регрессии
где и, с параллельной корреляцией между областями
Существуют = 18 коэффициентов регрессии, чтобы оценить: девять условий прерывания и девять наклонных условий. X
- массив ячеек элемента матриц проекта.
X = cell(n,1); for i = 1:n X{i} = [eye(d) x(i)*eye(d)]; end [beta,Sigma] = mvregress(X,Y,'algorithm','cwls');
beta
содержит оценки - размерный вектор коэффициентов
Постройте подходящую модель регрессии.
B = [beta(1:d)';beta(d+1:end)']; xx = linspace(.5,3.5)'; fits = [ones(size(xx)),xx]*B; figure; h = plot(x,Y,'x',xx,fits,'-'); for i = 1:d set(h(d+i),'color',get(h(i),'color')); end regions = flu.Properties.VarNames(2:end-1); legend(regions,'Location','NorthWest');
График показывает, что каждая линия регрессии имеет различное прерывание и наклон.
Соответствуйте многомерной модели регрессии использование одной матрицы проекта для всех размерностей ответа.
Загрузите выборочные данные.
load('flu');
Массив набора данных flu
содержит национальные оценки гриппа CDC, и девять, разделяет региональные оценки на основе запросов Google®.
Извлеките данные о предикторе и ответ.
Y = double(flu(:,2:end-1)); [n,d] = size(Y); x = flu.WtdILI;
Ответы в Y
являются девятью региональными оценками гриппа. Наблюдения существуют в течение каждой недели за однолетний период, таким образом, = 52. Размерность ответов соответствует областям, таким образом, = 9. Предикторы в x
являются еженедельными национальными оценками гриппа.
Создайте матрицу проекта X
. Добавьте столбец из единиц, чтобы включать постоянный термин в регрессии.
X = [ones(size(x)),x];
Соответствуйте многомерной модели регрессии
где и, с параллельной корреляцией между областями
Существует 18 коэффициентов регрессии, чтобы оценить: девять условий прерывания и девять наклонных условий.
[beta,Sigma,E,CovB,logL] = mvregress(X,Y);
beta
содержит оценки матрицы коэффициентов. Sigma
содержит оценки ковариационной матрицы отклонения для параллельных корреляций между областями. E
является матрицей невязок. CovB
является предполагаемой ковариационной матрицей отклонения коэффициентов регрессии. logL
является значением логарифмической целевой функции вероятности после последней итерации.
Постройте подходящую модель регрессии.
B = beta; xx = linspace(.5,3.5)'; fits = [ones(size(xx)),xx]*B; figure; h = plot(x,Y,'x', xx,fits,'-'); for i = 1:d set(h(d+i),'color',get(h(i),'color')); end regions = flu.Properties.VarNames(2:end-1); legend(regions,'Location','NorthWest');
График показывает, что каждая линия регрессии имеет различное прерывание и наклон.
X
Разработайте матрицыРазработайте матрицы для многомерной регрессии, заданной как матричный или массив ячеек матриц. n является количеством наблюдений в данных, K является количеством коэффициентов регрессии, чтобы оценить, p является количеством переменных прогноза, и d является количеством размерностей в матрице переменной отклика Y
.
Если d = 1, то задайте X
как один n-by-K матрица проекта.
Если d> 1 и все размерности d имеет ту же матрицу проекта, то можно задать X
как один n-by-p матрица проекта (не в массиве ячеек).
Если d> 1 и все наблюдения n имеет ту же матрицу проекта, то можно задать X
как массив ячеек, содержащий один d-by-K матрица проекта.
Если d> 1 и все наблюдения n не имеет той же матрицы проекта, то задайте X
как массив ячеек длины n, содержащий d-by-K матрицы проекта.
Чтобы включать постоянный термин в модели регрессии, каждая матрица проекта должна содержать столбец из единиц.
mvregress
обрабатывает значения NaN
в X
как отсутствующие значения и игнорирует строки в X
с отсутствующими значениями.
Типы данных: single
| double
| cell
Y
Переменные откликаПеременные отклика, заданные как n-by-d матрица. n является количеством наблюдений в данных, и d является количеством размерностей в ответе. Когда d = 1, mvregress
обрабатывает значения в Y
как n независимые значения ответа.
mvregress
обрабатывает значения NaN
в Y
как отсутствующие значения и обрабатывает их согласно алгоритму оценки, заданному с помощью аргумента пары "имя-значение" algorithm
.
Типы данных: single | double
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'algorithm','cwls','covar0',C
задает оценку метода взвешенных наименьших квадратов ковариации с помощью ковариационной матрицы C
.'algorithm'
— Алгоритм оценки'mvn'
| 'ecm'
| 'cwls'
Алгоритм оценки, заданный как пара, разделенная запятой, состоящая из 'algorithm'
и одно из следующих.
'mvn' | Обычная многомерная нормальная оценка наибольшего правдоподобия. |
'ecm' | Оценка наибольшего правдоподобия с помощью алгоритма ECM. |
'cwls' | Оценка метода взвешенных наименьших квадратов ковариации. |
Алгоритм по умолчанию зависит от присутствия недостающих данных.
Для полных данных значением по умолчанию является 'mvn'
.
Если существуют какие-либо недостающие ответы (обозначенный NaN
), значением по умолчанию является 'ecm'
, если объем выборки достаточен, чтобы оценить все параметры. В противном случае алгоритмом по умолчанию является 'cwls'
.
Если algorithm
имеет значение 'mvn'
, то mvregress
удаляет наблюдения с недостающими значениями ответа перед оценкой.
Пример: 'algorithm','ecm'
'beta0'
— Первоначальные оценки для коэффициентов регрессииПервоначальные оценки для коэффициентов регрессии, заданных как пара, разделенная запятой, состоящая из 'beta0'
и вектора с элементами K. Значение по умолчанию является вектором 0s.
Аргумент beta0
не используется, если оценкой algorithm
является 'mvn'
.
'covar0'
— Первоначальная оценка для ковариационной матрицы отклоненияПервоначальная оценка для ковариационной матрицы отклонения, Sigma
, заданного как пара, разделенная запятой, состоящая из 'covar0'
и симметричного, определенного положительного, d-by-d матрица. Значение по умолчанию является единичной матрицей.
Если оценка, algorithm
является 'cwls'
, то mvregress
использует covar0
в качестве матрицы взвешивания в каждой итерации, не изменяя его.
'covtype'
— Тип ковариационной матрицы отклонения'full'
(значение по умолчанию) | 'diagonal'
Тип ковариационной матрицы отклонения, чтобы оценить для Y
, заданного как пара, разделенная запятой, состоящая из 'covtype'
и одно из следующих.
'full' | Оцените весь d (d + 1)/2 элементы ковариации отклонения. |
'diagonal' | Оцените только элементы диагонали d ковариационной матрицы отклонения. |
Пример: 'covtype','diagonal'
'maxiter'
— Максимальное количество итераций100
(значение по умолчанию) | положительное целое числоМаксимальное количество итераций для алгоритма оценки, заданного как пара, разделенная запятой, состоящая из 'maxiter'
и положительного целого числа.
Итерации продолжаются, пока оценками не является в допусках сходимости tolbeta
и tolobj
, или максимальное количество итераций, заданных maxiter
, достигнуто. Если и tolbeta
и tolobj
0, то mvregress
выполняет итерации maxiter
без тестов сходимости.
Пример: 'maxiter',50
'OutputFcn'
Функция, чтобы оценить каждую итерациюФункция, чтобы оценить в каждой итерации, заданной как пара, разделенная запятой, состоящая из 'outputfcn'
и указателя на функцию. Функция должна возвратить логический true
или false
. В каждой итерации mvregress
выполняет функцию. Если результатом является true
, остановка итераций. В противном случае итерации продолжаются. Например, вы могли задать функцию, которая строит или отображает текущие результаты итерации и возвращает true
, если вы закрываете фигуру.
Функция должна принять три входных параметра в этом порядке:
Вектор текущих содействующих оценок
Структура, содержащая эти три поля:
Covar | Текущее значение ковариационной матрицы отклонения |
iteration | Текущий номер итерации |
fval | Текущее значение loglikelihood целевой функции |
Текст, который принимает эти три значения:
'init' | Когда функция вызвана во время инициализации |
'iter' | Когда функция вызвана после итерации |
'done' | Когда функция вызвана после завершения |
'tolbeta'
— Допуск сходимости для коэффициентов регрессииsqrt(eps)
(значение по умолчанию) | значение положительной скалярной величиныДопуск сходимости для коэффициентов регрессии, заданных как пара, разделенная запятой, состоящая из 'tolbeta'
и значения положительной скалярной величины.
Пусть обозначьте оценку вектора коэффициентов в итерации t, и будьте допуском, заданным tolbeta
. Критерий сходимости для оценки коэффициента регрессии
где K является длиной и норма вектора
Итерации продолжаются, пока оценками не является в допусках сходимости tolbeta
и tolobj
, или максимальное количество итераций, заданных maxiter
, достигнуто. Если и tolbeta
и tolobj
0, то mvregress
выполняет итерации maxiter
без тестов сходимости.
Пример: 'tolbeta',1e-5
'tolobj'
— Допуск сходимости для loglikelihood целевой функцииeps^(3/4)
(значение по умолчанию) | значение положительной скалярной величиныДопуск сходимости для loglikelihood целевой функции, заданной как пара, разделенная запятой, состоящая из 'tolobj'
и значения положительной скалярной величины.
Пусть обозначьте значение loglikelihood целевой функции при итерации t, и будьте допуском, заданным tolobj
. Критерий сходимости для целевой функции
Итерации продолжаются, пока оценками не является в допусках сходимости tolbeta
и tolobj
, или максимальное количество итераций, заданных maxiter
, достигнуто. Если и tolbeta
и tolobj
0, то mvregress
выполняет итерации maxiter
без тестов сходимости.
Пример: 'tolobj',1e-5
'varformat'
— Формат для параметра оценивает ковариационную матрицу отклонения'beta'
(значение по умолчанию) | 'full'
Формат для параметра оценивает ковариационную матрицу отклонения, CovB
, заданный как пара, разделенная запятой, состоящая из 'varformat'
и одно из следующих.
'beta' | Возвратите ковариационную матрицу отклонения только для оценок коэффициента регрессии, beta . |
'full' | Возвратите ковариационную матрицу отклонения и для оценок коэффициента регрессии, beta , и для оценки ковариационной матрицы отклонения, Sigma . |
Пример: 'varformat','full'
vartype
Тип ковариационной матрицы отклонения для оценок параметра'hessian'
(значение по умолчанию) | 'fisher'
Тип ковариационной матрицы отклонения для оценок параметра, заданных как пара, разделенная запятой, состоящая из 'vartype'
и или 'hessian'
или 'fisher'
.
Если значением является 'hessian'
, то mvregress
использует Гессиан или наблюдаемую информацию, матрица, чтобы вычислить CovB
.
Если значением является 'fisher'
, то mvregress
использует полные данные Фишер или ожидаемая информация, матрица, чтобы вычислить CovB
.
Метод 'hessian'
учитывает неуверенность увеличения из-за недостающих данных, в то время как метод 'fisher'
не делает.
Пример: 'vartype','fisher'
\beta
Предполагаемые коэффициенты регрессииПредполагаемые коэффициенты регрессии, возвращенные как вектор-столбец или матрица.
Если вы задаете X
как один n-by-K матрица проекта, то mvregress
возвращает beta
как вектор-столбец длины K. Например, если X
20 5 матрица проекта, то beta
является вектор-столбцом 5 на 1.
Если вы задаете X
как массив ячеек, содержащий один или несколько d-by-K матрицы проекта, то mvregress
возвращает beta
как вектор-столбец длины K. Например, если X
является массивом ячеек, содержащим, 2 10 разрабатывают матрицы, то beta
является вектор-столбцом 10 на 1.
Если вы задаете X
как один n-by-p матрица проекта (не в массиве ячеек), и Y
имеет размерность d> 1, то mvregress
возвращает beta
как p-by-d матрица. Например, если X
20 5 матрица проекта, и Y
имеет две размерности, таким образом, что d = 2, затем beta
5 2 матрица, и подходящими значениями Y
является X
× beta
.
\sigma
Предполагаемая ковариационная матрица отклоненияE
НевязкиНевязки для подходящей модели регрессии, возвращенной как n-by-d матрица.
Если algorithm
имеет значение 'ecm'
или 'cwls'
, то mvregress
вычисляет остаточные значения, соответствующие отсутствующим значениям в Y
как различие между условно оценочными значениями и подходящими значениями.
Если algorithm
имеет значение 'mvn'
, то mvregress
удаляет наблюдения с недостающими значениями ответа перед оценкой.
CovB
— Оценочная ковариационная матрица отклонения параметраОценочная ковариационная матрица отклонения параметра, возвращенная как квадратная матрица.
logL
— Значение целевой функции LoglikelihoodЗначение целевой функции Loglikelihood после последней итерации, возвращенной как скалярное значение.
Многомерная нормальная регрессия является регрессией d - размерный ответ на матрице проекта переменных прогноза с нормально распределенными ошибками. Ошибки могут быть heteroscedastic и коррелируемый.
Модель
где
d - размерный вектор ответов.
матрица проекта переменных прогноза.
вектор или матрица коэффициентов регрессии.
d - размерный вектор остаточных членов, с многомерным нормальным распределением
Максимизация ожидания/условного выражения ('ecm'
) и метод взвешенных наименьших квадратов ковариации ('cwls'
) алгоритмы оценки включает обвинение недостающих значений ответа.
Пусть обозначьте недостающие наблюдения. Условно оценочные значения являются ожидаемым значением недостающего наблюдения, учитывая наблюдаемые данные,
Совместное распределение пропавших без вести и наблюдаемые ответы являются многомерным нормальным распределением,
Используя свойства многомерного нормального распределения, оценочным условным ожиданием дают
mvregress
только приписывает недостающие значения ответа. Наблюдения с отсутствующими значениями в матрице проекта удалены.
[1] Мало, Родерик Дж. А. и Дональд Б. Рубин. Статистический анализ с Недостающими Данными. 2-й редактор, Хобокен, NJ: John Wiley & Sons, Inc., 2002.
[2] Мэн, Xiao-литий и Дональд Б. Рубин. “Оценка Наибольшего правдоподобия с помощью Алгоритма ECM”. Biometrika. Издание 80, № 2, 1993, стр 267–278.
[3] Дьячок, Джо, и А. Р. Свенсен. “Алгоритмы ECM, которые Сходятся по курсу EM”. Biometrika. Издание 87, № 3, 2000, стр 651–662.
[4] Демпстер, A. P. Н. М. Лэрд и Д. Б. Рубин. “Наибольшее правдоподобие от Неполных данных с помощью Алгоритма EM”. Журнал Королевского Статистического Общества. Серии B, Издание 39, № 1, 1977, стр 1–37.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.