Интерпретация ловушек WinBUGS и как автоматизировать программу?

Во-первых, кто-нибудь знает руководство для разработчиков по WinBUGS? На веб-сайте полно подробных примеров для дудлов и документации по языку модели, но я еще не нашел ничего о том, как интерпретировать окна-ловушки.

Во-вторых, кто-нибудь нашел способы упростить цикл проверки/загрузки/компиляции/инициализации/мониторинга/обновления? Под этим я подразумеваю, что, похоже, нет никакого способа сказать: «Не беспокойтесь о перепроверке модели или возвращении каких-либо настроек к их значениям по умолчанию (!!!), просто продолжайте загружать данные из этих файлов, инициализируйте их из эти файлы и для каждого генерировать новую коду". Даже стандартные ярлыки Windows здесь стерилизованы, заставляя пользователя продолжать нажимать и заполнять одни и те же поля одними и теми же значениями снова и снова. Это может показаться незначительной проблемой, но когда вы выполняете много подобных анализов один за другим, это быстро надоедает.

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


person bokov    schedule 08.07.2012    source источник


Ответы (3)


Ну... это обычный WinBUGS :-) Недружественный, показывает ловушки, которые напугали бы опытного хакера ядра.. :-) Не думаю, что существует какое-то руководство по ловушкам. Я имею в виду, что если бы создатели WinBUGS хотели приложить некоторые усилия, чтобы сделать их более удобными для пользователя, они, вероятно, сначала сделали бы ловушки более понятными, так что руководство не понадобилось.

Я пытался сделать что-то подобное, то есть настроить поведение WinBUGS. Во-первых, вы можете вызвать WinBUGS из R, используя R2WinBUGS. Таким образом, вы можете автоматизировать многое, но не все. Например, я хотел иметь что-то вроде информации о прогрессе в WinBUGS. Проблема в том, что пользовательский интерфейс WinBUGS зависает во время циклов обновления. R2WinBUGS создает командный сценарий script.txt, и есть команда update (<big number of cycles>). Здесь я хотел настроить этот script.txt так, чтобы он содержал множество небольших команд update(..) вместо одной большой. Но проблема в том, что R2WinBUGS сам генерирует этот скрипт и изменить его нельзя.

Таким образом, способ настройки WinBUGS может заключаться в создании собственной оболочки, которая создает файл script.txt и другие файлы. Я считаю, что таким образом вы могли бы сделать намного больше настроек WinBUGS.

Однако я не уверен, что WinBUGS того стоит. Его развитие остановилось, и, несмотря на то, что он любим многими людьми, он остается жестким. Вы можете попробовать JAGS или CppBugs, которые, кажется, имеют гораздо более многообещающее будущее.

person Tomas    schedule 10.07.2012

Оболочку вокруг R2WinBUGS, которая добавляет множество функций для упрощения серьезного использования WinBUGS, см. в моем пакете rube (http://www.stat.cmu.edu/~hseltman/rube/), которого еще нет в CRAN.

Среди прочего, он выдает сообщения об ошибках на простом английском языке, а не передает вашу модель/данные/инициалы вместе с WinBUGS, когда определена ошибка-ловушка. Он также дает очень полезную сводку вашей модели/данных/инициалов для поиска проблем, которые не могут быть обнаружены автоматически. Конечно, он не перехватывает все ловушки-ошибки.

person Howard Seltman    schedule 30.05.2013

Оказывается, я недостаточно RTFM ответил на вторую часть моего вопроса. Оказывается, в разделе руководства WinBUGS 1.4 под названием «Пакетный режим: сценарии» перечислены все пакетные команды. Все важные функции пользовательского интерфейса доступны в пакетном режиме. Были лишь небольшие пробы и ошибки при правильном подборе аргументов (например, over.relax('true')). Что мне действительно потребовалось некоторое время, чтобы разобраться, так это то, что WinBUGS, кажется, имеет проблемы с некоторыми путями Windows, но пока все находится в подкаталоге каталога, где установлен WinBUGS, все работает нормально.

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

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

person bokov    schedule 13.07.2012