ecmninit

Начальное среднее значение и ковариация

Описание

пример

[Mean,Covariance] = ecmninit(Data,InitMethod) создает начальное среднее значение и оценки ковариации для функции ecmnmle.

пример

[Mean,Covariance] = ecmninit(___,InitMethod) добавляет дополнительный аргумент для InitMethod.

Примеры

свернуть все

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

load ecmtechdemo.mat

Период времени для этих данных расширяет с 19 апреля 2000 до 18 апреля 2005. Шестым запасом в Активах является Google (GOOG), который начал торговать 19 августа 2004. Так, все возвращается, до 20 августа 2004 отсутствуют и представленные как NaNs. Кроме того, Amazon (AMZN) имел несколько дней с отсутствующими значениями, рассеянными в течение прошлых пяти лет.

Наивный подход к оценке среднего значения и ковариации для этих 12 активов должен устранить все дни, которые имеют отсутствующие значения для любого из этих 12 активов. Используйте ecminit функция с 'nanskip' опция, чтобы сделать это.

[NaNMean, NaNCovar] = ecmninit(Data,'nanskip')
NaNMean = 12×1

    0.0054
   -0.0006
   -0.0006
    0.0002
   -0.0009
    0.0042
    0.0011
   -0.0005
    0.0002
    0.0001
      ⋮

NaNCovar = 12×12
10-3 ×

    0.7271    0.1003    0.0755    0.0585    0.1363    0.1030    0.0084    0.0741    0.0808    0.0407    0.0889    0.1219
    0.1003    0.5958    0.1293    0.0919    0.2700    0.0554    0.0668    0.0548    0.1223    0.0724    0.1252    0.2317
    0.0755    0.1293    0.2480    0.0841    0.0680    0.0322    0.0721    0.0632    0.1360    0.0562    0.0808    0.1014
    0.0585    0.0919    0.0841    0.1414    0.0656   -0.0010    0.0386    0.0460    0.0617    0.0331    0.0499    0.0528
    0.1363    0.2700    0.0680    0.0656    0.6223    0.2062    0.0797    0.0515    0.0850    0.0436    0.1155    0.2515
    0.1030    0.0554    0.0322   -0.0010    0.2062    0.8376   -0.0103    0.0345    0.0236   -0.0034    0.0069    0.2788
    0.0084    0.0668    0.0721    0.0386    0.0797   -0.0103    0.2462    0.0414    0.0881    0.0268    0.0406    0.0621
    0.0741    0.0548    0.0632    0.0460    0.0515    0.0345    0.0414    0.1011    0.0561    0.0321    0.0494    0.0548
    0.0808    0.1223    0.1360    0.0617    0.0850    0.0236    0.0881    0.0561    0.2642    0.0647    0.1102    0.1094
    0.0407    0.0724    0.0562    0.0331    0.0436   -0.0034    0.0268    0.0321    0.0647    0.0619    0.0583    0.0472
      ⋮

Входные параметры

свернуть все

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

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

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

  • 'nanskip' — Пропустите все записи с NaNs.

  • 'twostage' — Оценочное среднее значение. Заполните NaNs со средним значением. Затем оцените ковариацию.

  • 'diagonal' — Сформируйте диагональную ковариацию.

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

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

свернуть все

Первоначальная оценка среднего значения Data, возвращенный как NUMSERIES- 1 вектор-столбец.

Первоначальная оценка ковариации Data, возвращенный как NUMSERIES- NUMSERIES матрица.

Алгоритмы

свернуть все

Модель

Общая модель

ZN(Mean,Covariance),

где каждая строка Data наблюдение за Z.

Каждое наблюдение за Z принято, чтобы быть iid (независимый, тождественно распределенный), многомерные нормальные, и отсутствующие значения приняты, чтобы быть пропавшими без вести наугад (MAR).

Методы инициализации

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

nanskip

nanskip метод работает хорошо с небольшими проблемами (меньше чем 10 рядов или с монотонностью недостающие шаблоны данных). Это перескакивает через любые записи с NaNs и оценочные начальные значения от полных данных записывает только. Этот метод инициализации имеет тенденцию давать к самой быстрой сходимости алгоритма ECM. Эта стандартная программа переключается на twostage метод, если это решает, что значительное количество записей содержит NaN.

twostage

twostage метод является лучшим выбором для больших проблем (больше чем 10 рядов). Это оценивает среднее значение для каждого ряда с помощью всех доступных данных для каждого ряда. Это затем оценивает ковариационную матрицу с отсутствующими значениями, обработанными как равную среднему значению, а не как NaNs. Этот метод инициализации устойчив, но имеет тенденцию приводить к более медленной сходимости алгоритма ECM.

диагональ

diagonal метод является подходом худшего случая, который имеет дело с проблематичными данными, такими как непересекающийся ряд и чрезмерные недостающие данные (больше чем 33% недостающие данные). Из трех методов инициализации этот метод вызывает самую медленную сходимость алгоритма ECM.

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