Каждая регрессионная функция имеет определенную операцию. В этом разделе показано, как использовать эти функции для выполнения определенных типов регрессий. Чтобы проиллюстрировать использование функций для различных регрессий, «типичное» использование показано с необязательными аргументами, сведенными к минимуму. Для типичной регрессии вы оцениваете параметры модели и остаточные ковариационные матрицы с mle
функции и оценить стандартные ошибки параметров модели с std
функций. Регрессии «без отсутствующих данных» по существу игнорируют выборки с отсутствующими значениями, а регрессии «с отсутствующими данными» игнорируют выборки с каждым отсутствующим значением.
Многомерная нормальная регрессия, или MVNR, является «стандартной» реализацией регрессионых функций в программном обеспечении Financial Toolbox™.
Оцените параметры используя mvnrmle
:
[Parameters, Covariance] = mvnrmle(Data, Design);
Оцените стандартные ошибки, используя mvnrstd
:
StdParameters = mvnrstd(Data, Design, Covariance);
Оцените параметры используя ecmmvnrmle
:
[Parameters, Covariance] = ecmmvnrmle(Data, Design);
Оцените стандартные ошибки, используя ecmmvnrstd
:
StdParameters = ecmmvnrstd(Data, Design, Covariance);
Регрессия методом наименьших квадратов, или LSR, иногда называемая обыкновенной методом наименьших квадратов или многофакторной линейной регрессии, является самой простой линейной регрессионой моделью. Он также пользуется свойством, которое, независимо от базового распределения, является лучшим линейным объективным оценщиком (BLUE).
Заданный m = NumSamples
наблюдения, типичная регрессионая модель методом наименьших квадратов стремится минимизировать целевую функцию
который в пределах максимальной вероятностной среды многомерной нормальной регрессии стандартной программы mvnrmle
, эквивалентно оценке с одной итерацией только параметров, которые нужно получить Parameters
с начальной ковариационной матрицей Covariance
удерживаемая фиксированная как матрица тождеств. Однако в случае отсутствующих данных внутренний алгоритм для обработки недостающих данных требует отдельной стандартной программы ecmlsrmle
делать наименьшие квадраты вместо многомерной нормальной регрессии.
Оцените параметры используя mvnrmle
:
[Parameters, Covariance] = mvnrmle(Data, Design, 1);
Оцените стандартные ошибки, используя mvnrstd
:
StdParameters = mvnrstd(Data, Design, Covariance);
Оцените параметры используя ecmlsrmle
:
[Parameters, Covariance] = ecmlsrmle(Data, Design);
Оцените стандартные ошибки, используя ecmmvnrstd
:
StdParameters = ecmmvnrstd(Data, Design, Covariance);
Заданный m = NUMSAMPLES
наблюдения, типичная ковариационная взвешенная модель наименьших квадратов, или CWLS, регрессия стремится минимизировать целевую функцию
с фиксированной ковариацией C 0.
В большинстве случаев C 0 является матрицей диагонали. Обратная матрица имеет диагональные элементы, которые можно считать относительными «весами» для каждой серии. Таким образом, CWLS является формой взвешенных наименьших квадратов с весами, применяемыми в разных рядах.
Оцените параметры используя mvnrmle
:
[Parameters, Covariance] = mvnrmle(Data, Design, 1, [], [], [], Covar0);
Оцените стандартные ошибки, используя mvnrstd
:
StdParameters = mvnrstd(Data, Design, Covariance);
Оцените параметры используя ecmlsrmle
:
[Parameters, Covariance] = ecmlsrmle(Data, Design, [], [], [], [], Covar0);
Оцените стандартные ошибки, используя ecmmvnrstd
:
StdParameters = ecmmvnrstd(Data, Design, Covariance);
Специальная форма наименьших квадратов, которая имеет удивительно хорошие свойства для миссидифицированных или ненормальных моделей, известна как допустимая обобщенная аппроксимация наименьших квадратов или FGLS. Основная процедура состоит в том, чтобы сделать регрессию методом наименьших квадратов, а затем сделать ковариационно-взвешенную регрессию методом наименьших квадратов с полученной остаточной ковариацией от первой регрессии.
Оцените параметры используя mvnrmle
:
[Parameters, Covariance] = mvnrmle(Data, Design, 2, 0, 0);
или (чтобы четко проиллюстрировать процесс FGLS)
[Parameters, Covar0] = mvnrmle(Data, Design, 1); [Parameters, Covariance] = mvnrmle(Data, Design, 1, [], [], [], Covar0);
Оцените стандартные ошибки, используя mvnrstd
:
StdParameters = mvnrstd(Data, Design, Covariance);
Оцените параметры используя ecmlsrmle
:
[Parameters, Covar0] = ecmlsrmle(Data, Design); [Parameters, Covariance] = ecmlsrmle(Data, Design, [], [], [], [], Covar0);
Оцените стандартные ошибки, используя ecmmvnrstd
:
StdParameters = ecmmvnrstd(Data, Design, Covariance);
Учитывая многомерную нормальную регрессионую модель в стандартной форме со Data
матрица и Design
массив, можно преобразовать задачу в, казалось бы, несвязанную регрессионую (SUR) задачу путем простого преобразования Design
массив. Основная идея SUR состоит в том, что вместо того, чтобы иметь общий вектор параметра во всех рядах данных, у вас есть отдельный вектор параметра, сопоставленный с каждым отдельным рядом или с отдельными группами рядов, которые, тем не менее, имеют общую остаточную ковариацию. Именно эта способность агрегировать и дезагрегировать серии и выполнять сравнительные тесты на каждом проекте является степенью SUR.
Чтобы сделать преобразование, используйте функцию convert2sur
, который преобразует массив проекта стандартной формы в эквивалентный массив проекта, чтобы сделать SUR с заданным отображением ряда в NUMGROUPS
группы. Регрессионные функции используются обычным способом, но с конструкторским массивом SUR вместо исходного конструкторского массива. Вместо того, чтобы иметь NUMPARAMS
элементы, вектор выходного параметра SUR имеет NUMGROUPS
из комплексных оценок параметров, где первый NUMPARAMS
элементы Parameters
содержат оценки параметров, сопоставленные с первой группой рядов, следующими NUMPARAMS
элементы Parameters
содержат оценки параметров, сопоставленные со второй группой рядов, и так далее. Если модель имеет только одну серию, например, NUMSERIES
= 1
, тогда конструкторский массив SUR аналогичен исходному конструкторскому массиву, так как SUR требует двух или более серий, чтобы сгенерировать различные оценки параметров.
Заданные NUMPARAMS
параметры и NUMGROUPS
группы с вектором параметра (Parameters
) с NUMGROUPS * NUMPARAMS
элементы из любой из стандартных программ регрессии, следующий MATLAB® фрагмент кода показывает, как напечатать таблицу оценок параметров SUR со строками, которые соответствуют каждому параметру, и столбцами, которые соответствуют каждой группе или ряду:
fprintf(1,'Seemingly Unrelated Regression Parameter Estimates\n'); fprintf(1,' %7s ',' '); fprintf(1,' Group(%3d) ',1:NumGroups); fprintf(1,'\n'); for i = 1:NumParams fprintf(1,' %7d ',i); ii = i; for j = 1:NumGroups fprintf(1,'%12g ',Param(ii)); ii = ii + NumParams; end fprintf(1,'\n'); end fprintf(1,'\n');
Сформируйте проект SUR с помощью convert2sur
:
DesignSUR = convert2sur(Design, Group);
Оцените параметры используя mvnrmle
:
[Parameters, Covariance] = mvnrmle(Data, DesignSUR);
Оцените стандартные ошибки, используя mvnrstd
:
StdParameters = mvnrstd(Data, DesignSUR, Covariance);
Сформируйте проект SUR с помощью convert2sur
:
DesignSUR = convert2sur(Design, Group);
Оцените параметры используя ecmmvnrmle
:
[Parameters, Covariance] = ecmmvnrmle(Data, DesignSUR);
Оцените стандартные ошибки, используя ecmmvnrstd
:
StdParameters = ecmmvnrstd(Data, DesignSUR, Covariance);
Без пропущенных данных можно оценить среднее значение своего Data
с функцией mean
и ковариация с функцией cov
. Тем не менее, функция ecmnmle
делает это для вас, если он обнаруживает отсутствие отсутствующих значений. В противном случае он использует алгоритм ECM, чтобы обработать отсутствующие значения.
Оцените параметры используя ecmnmle
:
[Mean, Covariance] = ecmnmle(Data);
Оцените стандартные ошибки, используя ecmnstd
:
StdMean = ecmnstd(Data, Mean, Covariance);
convert2sur
| ecmlsrmle
| ecmlsrobj
| ecmmvnrfish
| ecmmvnrfish
| ecmmvnrmle
| ecmmvnrobj
| ecmmvnrstd
| ecmmvnrstd
| ecmnfish
| ecmnhess
| ecmninit
| ecmnmle
| ecmnobj
| ecmnstd
| mvnrfish
| mvnrmle
| mvnrobj
| mvnrstd