exponenta event banner

ecmnmle

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

Описание

пример

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

пример

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

пример

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

Примеры

свернуть все

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

load ecmtechdemo.mat

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

ecmnmle(Data)

Figure contains an axes. The axes with title \bfProgress of ECM Algorithm in ecmnmle 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, указанный как числовой. Если Tolerance0, выполните максимальные итерации, указанные в MaxIterations и не вычислять целевую функцию на каждом шаге, кроме как в режиме отображения.

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

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

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

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

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

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

свернуть все

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

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

Алгоритмы

свернуть все

Модель

Общая модель:

Z∼N (Среднее, ковариация),

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

Предполагается, что каждое наблюдение Z является iid (независимым, идентично распределенным) многомерным нормальным, а отсутствующие значения считаются отсутствующими случайным образом (MAR). Точное определение MAR см. в Little and Rubin [1].

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

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

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

Требования

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

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

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

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

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

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

  • diagonal

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

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

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

Сходимость

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

Ссылки

[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