OpenBUGS

Last updated

OpenBUGS
Original author(s) Andrew Thomas
Developer(s) OpenBUGS Foundation
Initial release2005 (2005)
Stable release
v3.2.3 / 8 March 2014;9 years ago (2014-03-08)
Repository
Written in Component Pascal
Operating system Microsoft Windows, Unix/Linux & macOS (using Wine)
Platform Intel x86 - 32-bit
Size 5.6  MB
Available inEnglish
Type Statistical package
License GNU General Public License
Website

OpenBUGS is a software application for the Bayesian analysis of complex statistical models using Markov chain Monte Carlo (MCMC) methods. OpenBUGS is the open source variant of WinBUGS (Bayesian inference Using Gibbs Sampling). It runs under Microsoft Windows and Linux, as well as from inside the R statistical package. Versions from v3.0.7 onwards have been designed to be at least as efficient and reliable as WinBUGS over a range of test applications. [1]

Contents

Differences from WinBUGS

In addition to the different licence and greater range of operating systems, a fundamental difference between OpenBUGS and WinBUGS is the way in which the expert system selects the updating algorithm to use for the class of full conditional distribution of each node. While WinBUGS defines one algorithm for each possible class, there is no limit to the number of algorithms that OpenBUGS can use, allowing greater flexibility and extensibility. [1] [2] The user can select the updater to be used for each node after compilation. Further differences are detailed on the OpenBUGS website. [3]

Programming language

The source code of OpenBUGS is written in the Component Pascal programming language and is dependent on the Component Pascal libraries provided by Oberon Microsystems as part of the Blackbox Component Framework. The development tools are available as open source. Binaries of the current version of OpenBUGS are available for Microsoft Windows, and the previous version for Linux, it can also run under WINE for Linux. Installation problems, development and usage questions are discussed at the OpenBUGS Bulletin Board.

Attempts to port OpenBUGS to Java with the Gardens Point Component Pascal were given up in favor of a new portable implementation called JAGS.

The BUGS language is the language that specifies the model code. It is parsed by OpenBUGS, which then creates an executable (compiled code) that generates a sample from the posterior distribution when run.

OpenBUGS was designed to run together with S-Plus [4] and the BUGS language is similar to the S programming language. OpenBUGS works well together with R; the R2OpenBUGS or BRugs packages provides some interoperability, and R modules help further analyses.

Related Research Articles

<span class="mw-page-title-main">Pascal (programming language)</span> Programming language

Pascal is an imperative and procedural programming language, designed by Niklaus Wirth as a small, efficient language intended to encourage good programming practices using structured programming and data structuring. It is named in honour of the French mathematician, philosopher and physicist Blaise Pascal.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

<span class="mw-page-title-main">Gambas</span> Integrated development environment

Gambas is the name of an object-oriented dialect of the BASIC programming language, as well as the integrated development environment that accompanies it. Designed to run on Linux and other Unix-like computer operating systems, its name is a recursive acronym for Gambas Almost Means Basic. Gambas is also the word for prawns in the Spanish, French, and Portuguese languages, from which the project's logos are derived.

A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is running. For example, a compiler that runs on a PC but generates code that runs on an Android smartphone is a cross compiler.

<span class="mw-page-title-main">Delphi (software)</span> General-purpose programming language and a software product

Delphi is a general-purpose programming language and a software product that uses the Delphi dialect of the Object Pascal programming language and provides an integrated development environment (IDE) for rapid application development of desktop, mobile, web, and console software, currently developed and maintained by Embarcadero Technologies.

<span class="mw-page-title-main">LabVIEW</span> System-design platform and development environment

Laboratory Virtual Instrument Engineering Workbench (LabVIEW) is a system-design platform and development environment for a visual programming language from National Instruments.

Object Pascal is an extension to the programming language Pascal that provides object-oriented programming (OOP) features such as classes and methods.

<span class="mw-page-title-main">Free Pascal</span> Free compiler and IDE for Pascal and ObjectPascal

Free Pascal Compiler (FPC) is a compiler for the closely related programming-language dialects Pascal and Object Pascal. It is free software released under the GNU General Public License, with exception clauses that allow static linking against its runtime libraries and packages for any purpose in combination with any other software license.

Borland Kylix is a compiler and integrated development environment (IDE) formerly sold by Borland, but later discontinued. It is a Linux software development environment based on Borland Delphi and Borland C++ Builder, which runs under Microsoft Windows. Continuing Delphi's classical Greek theme, Kylix is the name for an ancient Greek drinking cup. The closest supported equivalent to Kylix is the free Lazarus IDE package, designed to be code-compatible with Delphi. As of 2010 the project has been resurrected in the form of Delphi cross compiler for Mac and Linux, as shown in the Embarcadero's Delphi and C++ Builder roadmap. As of September 2011 with Kylix discontinued the framework for cross-platform development by Embarcadero is FireMonkey.

<span class="mw-page-title-main">Lazarus (software)</span> Free cross-platform integrated development environment for Free Pascal

Lazarus is a free, cross-platform, integrated development environment (IDE) for rapid application development (RAD) using the Free Pascal compiler. Its goal is to provide an easy-to-use development environment for programmers developing with the Object Pascal language, which is as close as possible to Delphi.

<span class="mw-page-title-main">WinBUGS</span> Statistical software for Bayesian analysis

WinBUGS is statistical software for Bayesian analysis using Markov chain Monte Carlo (MCMC) methods.

<span class="mw-page-title-main">BlackBox Component Builder</span> Software development tool

BlackBox Component Builder is an integrated development environment (IDE) optimized for component-based software development developed by a small spin-off company, Oberon microsystems AG, of ETH Zurich in Switzerland. The IDE consists of development tools, a library of reusable components, a framework that simplifies developing robust custom components and applications, and a run-time environment for components.

Just another Gibbs sampler (JAGS) is a program for simulation from Bayesian hierarchical models using Markov chain Monte Carlo (MCMC), developed by Martyn Plummer. JAGS has been employed for statistical work in many fields, for example ecology, management, and genetics.

<span class="mw-page-title-main">Node.js</span> JavaScript runtime environment

Node.js is a cross-platform, open-source server environment that can run on Windows, Linux, Unix, macOS, and more. Node.js is a back-end JavaScript runtime environment, runs on the V8 JavaScript Engine, and executes JavaScript code outside a web browser.

Probabilistic programming (PP) is a programming paradigm in which probabilistic models are specified and inference for these models is performed automatically. It represents an attempt to unify probabilistic modeling and traditional general purpose programming in order to make the former easier and more widely applicable. It can be used to create systems that help make decisions in the face of uncertainty.

Bayesian inference using Gibbs sampling (BUGS) is a statistical software for performing Bayesian inference using Markov chain Monte Carlo (MCMC) methods. It was developed by David Spiegelhalter at the Medical Research Council Biostatistics Unit in Cambridge in 1989 and released as free software in 1991.

Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers. The service has both free and premium tiers. The software that hosts the containers is called Docker Engine. It was first started in 2013 and is developed by Docker, Inc.

Microsoft, a technology company historically known for its opposition to the open source software paradigm, turned to embrace the approach in the 2010s. From the 1970s through 2000s under CEOs Bill Gates and Steve Ballmer, Microsoft viewed the community creation and sharing of communal code, later to be known as free and open source software, as a threat to its business, and both executives spoke negatively against it. In the 2010s, as the industry turned towards cloud, embedded, and mobile computing—technologies powered by open source advances—CEO Satya Nadella led Microsoft towards open source adoption although Microsoft's traditional Windows business continued to grow throughout this period generating revenues of 26.8 billion in the third quarter of 2018, while Microsoft's Azure cloud revenues nearly doubled.

References

  1. 1 2 Thomas, Neal (20 January 2010). "Overview". OpenBUGS website. Retrieved 9 October 2010.
  2. Lunn, D.; Spiegelhalter, D.; Thomas, A.; Best, N. (2009). "The BUGS project: Evolution, critique and future directions". Statistics in Medicine. 28 (25): 3049–3067. doi:10.1002/sim.3680. PMID   19630097.
  3. Thomas, Neal (5 October 2010). "Changes Between WinBUGS and OpenBUGS". OpenBUGS website. Retrieved 9 October 2010.
  4. BUGS 0.5 Manual, date 1996-08-14