ecmnmle

Среднее значение и ковариация неполных многомерных нормальных данных

Описание

пример

ecmnmle(Data) без выходных аргументов этот режим отображает сходимость алгоритма ECM в графике путем оценки значений целевой функции для каждой итерации алгоритма ECM до завершения.

пример

[Mean,Covariance] = ecmnmle(Data) оценивает среднее значение и ковариацию набора данных (Data). Если набор данных имеет отсутствующие значения, эта стандартная программа реализует алгоритм ECM Мэна и Рубина [2] с улучшениями Секстоном и Свенсеном [3]. ECM обозначает условную форму максимизации алгоритма EM Демпстера, Лэрда и Рубина [4].

пример

[Mean,Covariance] = ecmnmle(___,InitMethod,MaxIterations,Tolerance,Mean0,Covar0) добавляет дополнительные аргументы для InitMethod'MaxIterations' Допуск, Mean0, и Covar0.

Примеры

свернуть все

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

load ecmtechdemo.mat

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

ecmnmle(Data)

Figure contains an axes object. The axes object with title P r o g r e s s blank o f blank E C M blank A l g o r i t h m blank i n blank e c m n m l e contains an object of type line.

ans = 12×1

    0.0008
    0.0008
   -0.0005
    0.0002
    0.0011
    0.0038
   -0.0003
   -0.0000
   -0.0003
   -0.0000
      ⋮

Этот график показывает что, даже почти с 87% данных Google, являющихся NaN значения, алгоритм сходится только после четырех итераций.

[Mean,Covariance] = ecmnmle(Data)
Mean = 12×1

    0.0008
    0.0008
   -0.0005
    0.0002
    0.0011
    0.0038
   -0.0003
   -0.0000
   -0.0003
   -0.0000
      ⋮

Covariance = 12×12

    0.0012    0.0005    0.0006    0.0005    0.0005    0.0003    0.0005    0.0003    0.0006    0.0003    0.0005    0.0006
    0.0005    0.0024    0.0007    0.0006    0.0010    0.0004    0.0005    0.0003    0.0006    0.0004    0.0006    0.0012
    0.0006    0.0007    0.0013    0.0007    0.0007    0.0003    0.0006    0.0004    0.0008    0.0005    0.0008    0.0008
    0.0005    0.0006    0.0007    0.0009    0.0006    0.0002    0.0005    0.0003    0.0007    0.0004    0.0005    0.0007
    0.0005    0.0010    0.0007    0.0006    0.0016    0.0006    0.0005    0.0003    0.0006    0.0004    0.0007    0.0011
    0.0003    0.0004    0.0003    0.0002    0.0006    0.0022    0.0001    0.0002    0.0002    0.0001    0.0003    0.0016
    0.0005    0.0005    0.0006    0.0005    0.0005    0.0001    0.0009    0.0003    0.0005    0.0004    0.0005    0.0006
    0.0003    0.0003    0.0004    0.0003    0.0003    0.0002    0.0003    0.0005    0.0004    0.0003    0.0004    0.0004
    0.0006    0.0006    0.0008    0.0007    0.0006    0.0002    0.0005    0.0004    0.0011    0.0005    0.0007    0.0007
    0.0003    0.0004    0.0005    0.0004    0.0004    0.0001    0.0004    0.0003    0.0005    0.0006    0.0004    0.0005
      ⋮

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

свернуть все

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

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

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

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

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

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

Примечание

Если вы предоставляете Mean0 и Covar0, InitMethod не выполняется.

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

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

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

(Необязательно) Допуск сходимости для алгоритма ECM в виде числового. Если Tolerance≤ 0 , выполните максимальные итерации, заданные MaxIterations и не выполняйте целевую функцию на каждом шаге если в режиме отображения.

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

(Необязательно) Оценка для среднего значения в виде NUMSERIES- 1 вектор-столбец. Если вы оставляете Mean0 незаданный ([]), метод задан InitMethod используется. Если вы задаете Mean0, необходимо также задать Covar0.

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

(Необязательно) Оценка для ковариации в виде NUMSERIES- NUMSERIES матрица, где входная матрица должна быть положительно-определенной. Если вы оставляете Covar0 незаданный ([]), метод задан InitMethod используется. Если вы задаете Covar0, необходимо также задать Mean0.

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

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

свернуть все

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

Параметр наибольшего правдоподобия оценивает для ковариации Data использование алгоритма ECM, возвращенного как NUMSERIES- NUMSERIES матрица.

Алгоритмы

свернуть все

Модель

Общая модель

ZN(Mean,Covariance),

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

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

Эта стандартная программа оценивает среднее значение и ковариацию от определенных данных. Если значения данных отсутствуют, стандартная программа реализует алгоритм ECM Мэна и Рубина [2] с улучшениями Секстоном и Свенсеном [3].

Если запись пуста (каждым значением в выборке является NaN), эта стандартная программа игнорирует запись, потому что это не вносит информации. Если такие записи существуют в данных, количеством непустых выборок, используемых по оценке, является ≤ NumSamples.

Оценка для ковариации является смещенной оценкой наибольшего правдоподобия (MLE). Чтобы преобразовать в объективную оценку, умножьте ковариацию на Countколичество – 1), где Count количество непустых выборок, используемых по оценке.

Требования

Эта стандартная программа требует сопоставимых значений для NUMSAMPLES и NUMSERIES с NUMSAMPLES > NUMSERIES. Это должно иметь достаточно ненедостающих значений, чтобы сходиться. Наконец, это должно иметь положительно-определенную ковариационную матрицу. Несмотря на то, что ссылки обеспечивают некоторые необходимые и достаточные условия, общие условия для существования и уникальности решений в случае недостающих данных, не существовать. Основной тип отказа является плохо обусловленной оценкой ковариационной матрицы. Тем не менее, эта стандартная программа работает на большинство случаев, которые имеют меньше чем 15% недостающие данные (типичная верхняя граница для финансовых данных).

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

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

Следующее является руководством по поддерживаемым методам инициализации.

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

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

  • diagonal

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

    Mean0 = zeros(NumSeries);
    Covar0 = eye(NumSeries,NumSeries);
    

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

Сходимость

Алгоритм ECM не работает на все шаблоны отсутствующих значений. Несмотря на то, что это работает в большинстве случаев, это может не сходиться, если ковариация становится сингулярной. Если это происходит, графики функции логарифмической правдоподобности имеют тенденцию иметь постоянный восходящий наклон по многим итерациям, когда журнал отрицательного определителя ковариации переходит к нулю. В некоторых случаях цели не удается сходиться из-за ошибок точности машины. Никакая общая теория недостающих шаблонов данных не существует, чтобы определить эти случаи. Пример известного отказа происходит, когда два временных рядов пропорциональны везде, где оба ряда содержат ненедостающие значения.

Ссылки

[1] Мало, Родерик Дж. А. и Дональд Б. Рубин. Статистический анализ с Недостающими данными. 2-й выпуск. 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.

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте