Многомерная линейная регрессия
возвращает предполагаемые коэффициенты для многомерной нормальной регрессии 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
имя аргумента и 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'
— Максимальное количество итераций
(значение по умолчанию) | положительное целое числоМаксимальное количество итераций для алгоритма оценки в виде разделенной запятой пары, состоящей из '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
использует полные данные Фишер или ожидаемая информация, матрица, чтобы вычислить 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
— Значение целевой функции логарифмической правдоподобностиЗначение целевой функции логарифмической правдоподобности после последней итерации, возвращенной как скалярное значение.
Многомерная нормальная регрессия является регрессией 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.