Главная > Статистический анализ данных с пропусками
НАПИШУ ВСЁ ЧТО ЗАДАЛИ
СЕКРЕТНЫЙ БОТ В ТЕЛЕГЕ
<< Предыдущий параграф
Пред.
След.
Макеты страниц

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

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO

10. ТЕКСТ ПРОГРАММЫ ЕМ-АЛГОРИТМА ДЛЯ МНОГОМЕРНОГО НОРМАЛЬНОГО РАСПРЕДЕЛЕНИЯ

Приводимый в распечатке текст адаптирован из текста программы, входящей в состав диалоговой статистической системы ЦСМИ (см. раздел 9), функционирующей под управлением операционной системы РАФОС для ЭВМ, программно совместимых с ЭВМ СМ-4.

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

Для вызова программы пользователь должен лишь написать три простые дополнительные процедуры-функции DEF, DEFOBS и COND (тип функций — LOGICAL »1). В DEF должен быть один входной параметр X вещественного типа, в DEFOBS - два входных параметра: первый — число признаков, второй — вещественный массив длины (вектор значений одного объекта). Значение DEF должно быть равно .FALSE., если X — значение, и .TRUE., если X — пропуск. Значение DEFOBS должно быть равно .FALSE., если в нет ни одного пропуска, и .TRUE., если в есть хотя бы один пропуск. Значение COND, равное .TRUE., должно означать, что условие сходимости не удовлетворено (самое простое условие — достижение заданного числа итераций — реализовано в подпрограмме, содержащейся в тексте).

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

В этих выражениях используются обозначения из раздела 8.2 книги, а штрих в знаке суммирования обозначает, что суммы вычисляются только по наблюдениям, в которых присутствуют значения переменной (в первой сумме) или переменных и к (во второй сумме). Далее эти суммы складываются в (8.1) и (8.2), см. раздел 8.2 книги, с соответствующими компонентами для пропущенных значений. Суммы (27) вычисляются однократно за время работы программы. Благодаря этому приему увеличивается эффективность алгоритма.

Входной массив данных (таблица «объект-признак») X не должен содержать «пустых» переменных или наблюдений (т. е. полностью состоящих из пропусков), а также переменных, состоящих только из совпадающих значений.

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

В распечатке имеется текст программы, реализующей оператор «свертки», описанный в разделе 6.5 (подпрограмма SWEEP2). Еще один доступный источник — [Clarke (1982)], программа в котором отличается от приведенной по двум пунктам: во-первых, в [Clarke (1982)] проводится проверка на вырожденность обрабатываемой матрицы, во-вторых, входная матрица разрушается в процессе вычисления.

Цель этой публикации — служить иллюстрацией к материалу книги, а также быть основой для разработки собственных программ по ЕМ-алгоритму, в том числе и для более сложных моделей, связанных с многомерным нормальным распределением. В распечатке продемонстрирована требующаяся в ЕМ-алгоритме для многомерного нормального распределения последовательность процедур и сами процедуры, типичные технические приемы и т. п. При профессиональном программировании, конечно, может потребоваться ввести в данный текст более эффективный алгоритм сортировки, включение проверок на правильное функционирование программы, способы более точного вычисления ковариаций и дисперсий, другие варианты вычисления начальных значений (см. раздел 8.2 книги) и т. п.

(см. скан)

(см. скан)

(см. скан)

(см. скан)

(см. скан)

(см. скан)

(см. скан)

(см. скан)

(см. скан)

(см. скан)

(см. скан)

ЛИТЕРАТУРА

(см. скан)

(см. скан)

(см. скан)

1
Оглавление
email@scask.ru