Многомерная линейная регрессия
возвращает оцененные коэффициенты для многомерной нормальной регрессии 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 design.
Если d > 1 и все d размерности имеют одинаковую матрицу проекта, то можно задать X как одну матрицу n -by p проекта (не в массиве ячеек).
Если d > 1 и все n наблюдения имеют одинаковую матрицу проекта, то можно задать X как массив ячеек, содержащий одну матрицу d -by K design.
Если 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 - имя аргумента и 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.
The 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 | Текущее значение целевой функции логарифмической правдоподобности |
Текст, который принимает эти три значения:
'init' | Когда функция вызывается во время инициализации |
'iter' | Когда функция вызывается после итерации |
'done' | Когда функция вызывается после завершения |
'tolbeta' - Допуск сходимости для коэффициентов регрессииsqrt(eps) (по умолчанию) | положительное скалярное значениеДопуск сходимости для коэффициентов регрессии, заданный как разделенная разделенными запятой парами, состоящая из 'tolbeta' и положительная скалярная величина значение.
Давайте обозначить оценку вектора коэффициента при итерации t, и быть допуском, заданным как tolbeta. Критерий сходимости для оценки коэффициента регрессии
где K - длина и - норма вектора
Итерации продолжаются до тех пор, пока оценки не окажутся в пределах допусков сходимости tolbeta и tolobj, или максимальное количество итераций, заданных maxiter достигается. Если оба tolbeta и tolobj равны 0, тогда mvregress выполняет maxiter итерации без тестов сходимости.
Пример: 'tolbeta',1e-5
'tolobj' - Допуск сходимости для целевой функции логарифмической правдоподобностиeps^(3/4) (по умолчанию) | положительное скалярное значениеДопуск сходимости для целевой функции логарифмической правдоподобности, заданный как разделенная разделенными запятой парами, состоящая из 'tolobj' и положительная скалярная величина значение.
Давайте обозначить значение целевой функции логарифмической правдоподобности в 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 использует матрицу Fisher полных данных или ожидаемую информацию для вычисления CovB.
The 'hessian' метод учитывает увеличение неопределенности из-за недостающих данных, в то время как 'fisher' метод не делает.
Пример: 'vartype','fisher'
beta - Предполагаемые коэффициенты регрессииПредполагаемые коэффициенты регрессии, возвращенные как вектор-столбец или матрица.
Если вы задаете X как одну матрицу n -by K design, затемmvregress возвращает beta как вектор-столбец длины K. Для примера, если X - матрица проекта 20 на 5, затем beta является вектор-столбец 5 на 1.
Если вы задаете X как массив ячеек, содержащий одну или несколько матриц d -by K design, 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 - значение целевой функции логарифмической правдоподобностиЗначение целевой функции логарифмической правдоподобности после последней итерации, возвращенное в виде скалярного значения.
Многомерная нормальная регрессия является регрессией d -мерного отклика на матрице проекта переменных-предикторов с обычно распределенными ошибками. Ошибки могут быть гетероскедастическими и коррелированными.
Модель является
где
является d -мерным вектором откликов.
- проект переменных.
является вектором или матрицей коэффициентов регрессии.
является d -мерным вектором членов ошибки с многомерным нормальным распределением
Ожидание/условная максимизация ('ecm') и ковариационно-взвешенные наименьшие квадраты ('cwls') алгоритмы оценки включают вменение отсутствующих значений отклика.
Давайте обозначают отсутствующие наблюдения. Условно вменяемые значения являются ожидаемым значением отсутствующего наблюдения, учитывая наблюдаемые данные,
Совместное распределение отсутствующих и наблюдаемых ответов является многомерным нормальным распределением,
Используя свойства многомерного нормального распределения, вмененное условное ожидание задается как
Примечание
mvregress вводит только отсутствующие значения отклика. Наблюдения с отсутствующими значениями в матрице проекта удаляются.
[1] Литтл, Родерик Дж. А. и Дональд Б. Рубин. Статистический анализ с отсутствующими данными. 2-е изд., Хобокен, Нью-Джерси: John Wiley & Sons, Inc., 2002.
[2] Мэн, Сяо-Ли и Дональд Б. Рубин. «Максимальная оценка правдоподобия через алгоритм ECM». Биометрика. Том 80, № 2, 1993, стр. 267-278.
[3] Секстон, Джо и А. Р. Свенсен. «Алгоритмы ECM, которые сходятся со скоростью EM». Биометрика. Том 87, № 3, 2000, стр. 651-662.
[4] Демпстер, А. П., Н. М. Лэрд и Д. Б. Рубин. «Максимальная правдоподобность из неполных данных через алгоритм EM». Журнал Королевского статистического общества. Серия B, том 39, № 1, 1977, стр. 1-37.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.