ecmnmle

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

Описание

пример

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

пример

[Mean,Covariance] = ecmnmle(Data) оценивает среднее значение и ковариацию набора данных (Data). Если набор данных имеет отсутствующие значения, эта стандартная программа реализует алгоритм ECM Meng и Rubin [2] с улучшениями Sexton и Swensen [3]. ECM обозначает условную форму максимизации алгоритма EM Dempster, Laird и Rubin [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-by- NUMSERIES матрица с NUMSAMPLES выборки NUMSERIES-мерный случайный вектор. Отсутствующие значения обозначаются NaNс.

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

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

  • 'nanskip' - Пропустить все записи с NaNс.

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

  • 'diagonal' - Образуйте диагональную ковариацию.

Примечание

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

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

Алгоритмы

свернуть все

Модель

Общая модель

ZN(Mean,Covariance),

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

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

Эта стандартная программа оценивает среднее значение и ковариацию по данным. Если значения данных отсутствуют, в стандартной программе реализуется алгоритм ECM Meng и Rubin [2] с улучшениями Sexton и Swensen [3].

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

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

Требования

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

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

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

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

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

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

  • diagonal

    The 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». Журнал Королевского статистического общества. Серия B, том 39, № 1, 1977, стр. 1-37.

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