exponenta event banner

ecmmvnrmle

Многомерная нормальная регрессия с отсутствующими данными

Описание

пример

[Param,Covar] = ecmmvnrmle(Data,Design) оценивает многомерную нормальную регрессионную модель с отсутствующими данными. Модель имеет форму

Datak∼N (Параметры Designk ×, ковариация)

для образцов k = 1,..., NUMSAMPLES.

пример

[Param,Covar,Resid,Info] = ecmmvnrmle(___,MaxIterations,TolParam,TolObj,Param0,Covar0,CovarFormat) добавляет необязательные аргументы для MaxIterations, TolParam, TolObj, Param0, Covar0, и CovarFormat.

Примеры

свернуть все

В этом примере показано, как оценить многомерную модель нормальной регрессии с отсутствующими данными.

Во-первых, загрузка дат, итоговых возвращений и символов бегущей строки для двенадцати запасов из MAT-файла.

load CAPMuniverse
whos Assets Data Dates
  Name           Size             Bytes  Class     Attributes

  Assets         1x14              1568  cell                
  Data        1471x14            164752  double              
  Dates       1471x1              11768  double              
Dates = datetime(Dates,'ConvertFrom','datenum');

Активы в модели имеют следующие символы, где последние две серии являются прокси для рынка и безрискового актива.

Assets(1:14)
ans = 1x14 cell
  Columns 1 through 6

    {'AAPL'}    {'AMZN'}    {'CSCO'}    {'DELL'}    {'EBAY'}    {'GOOG'}

  Columns 7 through 12

    {'HPQ'}    {'IBM'}    {'INTC'}    {'MSFT'}    {'ORCL'}    {'YHOO'}

  Columns 13 through 14

    {'MARKET'}    {'CASH'}

Данные охватывают период с 1 января 2000 года по 7 ноября 2005 года с ежедневной общей доходностью. Две акции в этой вселенной имеют отсутствующие значения, которые представлены NaNs. Одна из двух акций имела IPO в течение этого периода и, следовательно, имеет значительно меньше данных, чем другие акции.

Вычислите отдельные регрессии для каждого запаса, где запасы с отсутствующими данными имеют оценки, которые отражают их уменьшенную наблюдаемость.

[NumSamples, NumSeries] = size(Data);
NumAssets = NumSeries - 2;

StartDate = Dates(1);
EndDate = Dates(end);

Alpha = NaN(1, length(NumAssets));
Beta = NaN(1, length(NumAssets));
Sigma = NaN(1, length(NumAssets));
StdAlpha = NaN(1, length(NumAssets));
StdBeta = NaN(1, length(NumAssets));
StdSigma = NaN(1, length(NumAssets));
for i = 1:NumAssets
	% Set up separate asset data and design matrices
	TestData = zeros(NumSamples,1);
	TestDesign = zeros(NumSamples,2);

	TestData(:) = Data(:,i) - Data(:,14);
	TestDesign(:,1) = 1.0;
	TestDesign(:,2) = Data(:,13) - Data(:,14);

	% Estimate the multivariate normal regression for each asset separately.
	[Param, Covar] = ecmmvnrmle(TestData, TestDesign)
    
end   
Param = 2×1

    0.0012
    1.2294

Covar = 0.0010
Param = 2×1

    0.0006
    1.3661

Covar = 0.0020
Param = 2×1

   -0.0002
    1.5653

Covar = 8.8911e-04
Param = 2×1

   -0.0000
    1.2594

Covar = 6.4996e-04
Param = 2×1

    0.0014
    1.3441

Covar = 0.0014
Param = 2×1

    0.0046
    0.3742

Covar = 6.3272e-04
Param = 2×1

    0.0001
    1.3745

Covar = 6.5040e-04
Param = 2×1

   -0.0000
    1.0807

Covar = 2.8562e-04
Param = 2×1

    0.0001
    1.6002

Covar = 6.9146e-04
Param = 2×1

   -0.0002
    1.1765

Covar = 3.7138e-04
Param = 2×1

    0.0000
    1.5010

Covar = 0.0010
Param = 2×1

    0.0001
    1.6543

Covar = 0.0015

Входные аргументы

свернуть все

Данные, указанные как NUMSAMPLESоколо-NUMSERIES матрица с NUMSAMPLES образцы NUMSERIES-мерный случайный вектор. Отсутствующие значения обозначаются NaNs. Только образцы, которые полностью NaNs игнорируются. (Игнорировать образцы хотя бы с одним NaN, использовать mvnrmle.)

Типы данных: double

Модель конструирования, заданная как матрица или массив ячеек, который обрабатывает две структуры модели:

  • Если NUMSERIES = 1, Design является NUMSAMPLESоколо-NUMPARAMS матрица с известными значениями. Эта структура является стандартной формой для регрессии в одном ряду.

  • Если NUMSERIES1, Design является массивом ячеек. Массив ячеек содержит один или NUMSAMPLES клетки. Каждая ячейка содержит NUMSERIESоколо-NUMPARAMS матрица известных значений.

    Если Design имеет одну ячейку, предполагается, что она имеет одну и ту же Design матрица для каждого образца. Если Design имеет более одной ячейки, каждая ячейка содержит Design матрица для каждого образца.

Типы данных: double | cell

(Необязательно) Максимальное количество итераций для алгоритма оценки, заданного как числовое.

Типы данных: double

(Необязательно) Допуск сходимости для алгоритма оценки на основе изменений в оценках параметров модели, заданных как числовые. Тест сходимости для изменений параметров модели:

Paramk−Paramk−1‖<TolParam× (1+‖Paramk ‖)

где Param представляет выходные данные Parametersи итерация k = 2, 3,... Сходимость принимается, когда оба TolParam и TolObj условия выполнены. Если оба TolParam0 и TolObj0, выполнить максимальное количество итераций (MaxIterations), независимо от результатов тестов сходимости.

Типы данных: double

(Необязательно) Допуск сходимости для алгоритма оценки на основе изменений целевой функции, указанный как числовой. Тест сходимости для изменений целевой функции:

| Objk Objk 1 | < TolObj × (1 + | Objk |)

для итерации k = 2, 3,.... Сходимость принимается, когда оба TolParam и TolObj условия выполнены. Если оба TolParam0 и TolObj0, выполнить максимальное количество итераций (MaxIterations), независимо от результатов тестов сходимости.

Типы данных: double

(Необязательно) Оценка параметров регрессионной модели, указанных как NUMPARAMSоколо-1 вектор столбца.

Типы данных: double

(Необязательно) Оценка ковариационной матрицы остатков регрессии, указанная как NUMSERIESоколо-NUMSERIES матрица.

Типы данных: double

(Необязательно) Формат ковариационной матрицы, определяемый как символьный вектор. Возможны следующие варианты:

  • 'full' - вычислить полную ковариационную матрицу.

  • 'diagonal' - Заставьте ковариационную матрицу быть диагональной матрицей.

Типы данных: char

Выходные аргументы

свернуть все

Оценки для параметров регрессионной модели, возвращаемые как NUMPARAMSоколо-1 вектор столбца.

Оценки ковариации остатков регрессионной модели, возвращенные как NUMSERIESоколо-NUMSERIES матрица.

Остатки из регрессии, возвращенные как NUMSAMPLESоколо-NUMSERIES матрица. Для любых отсутствующих значений в Data, соответствующий остаток - разница между условно вмененным значением для Data и модель, то есть вмененный остаток.

Примечание

Оценка ковариации Covariance не может быть производным от остатков.

Дополнительная информация из регрессии, возвращенная в виде структуры. Структура имеет следующие поля:

  • Info.Obj - вектор столбца переменной протяженности, не более MaxIterations элементы, которые содержат каждое значение целевой функции при каждой итерации алгоритма оценки. Последнее значение в этом векторе, Obj(end), - терминальная оценка целевой функции. Если вы делаете максимальную оценку правдоподобия, целевая функция является логарифмической функцией правдоподобия.

  • Info.PrevParametersNUMPARAMSоколо-1 вектор столбца оценок параметров модели из итерации непосредственно перед конечной итерацией.Info.PrevCovarianceNUMSERIESоколо-NUMSERIES матрица оценок параметров ковариации из итерации непосредственно перед терминальной итерацией.

Ссылки

[1] Литтл, Родерик Дж. А. и Дональд Б. Рубин. Статистический анализ с отсутствующими данными. 2-е издание. John Wiley & Sons, Inc., 2002.

[2] Мэн, Сяо-Ли и Дональд Б. Рубин. «Оценка максимального правдоподобия с помощью алгоритма ECM». Биометрика. т. 80, № 2, 1993, стр. 267-278.

[3] Секстон, Джо и Андерс Райг Свенсен. «Алгоритмы ECM, сходящиеся со скоростью EM». Биометрика. т. 87, № 3, 2000, стр. 651-662.

[4] Демпстер, А. П., Н. М. Лэрд и Дональд Б. Рубин. «Максимальное вероятность неполных данных через алгоритм EM». Журнал Королевского статистического общества. Серия В, т. 39, № 1, 1977, стр. 1-37.

Представлен в R2006a