Blang: Bayesian Modeling of General Data StructuresCorrectness: Bayesian inference software is notoriously difficult to implement. An example from the tip of the iceberg is shown in Geweke (2004), which identifies software bugs and erroneous results in earlier published studies. We address this issue using a marriage of statistical theory and software engineering methodology, such as compositionality and unit testing.Ease of use: Blang uses a familiar BUGS-like syntax and it is designed to be integrated well in modern data science workflows (input in tidy format, Wickham 2014, samples output in tidy format).Generality: As a programming language, Blang is Turing-complete and equipped with an open type system, as well as facilities to quickly develop and test sampling algorithms for new types. By an open type system, we mean that the set of types is not limited to integers and real numbers, and can be arbitrary classes. Blang does not fully automate the process of posterior sampling from user-defined types but instead greatly facilitates the development, composition and sharing of custom sampling algorithms. Computational scalability:The language is designed to ensure that state-of-the-art Monte Carlo methods can be utilized. In particular, we made certain trade-offs to ensure that a well-behaved continuum of distributions can be automatically created. This is complemented with methods that extend existing PPL strategies to the combinatorial space, for example a code scoping analysis to discover sparsity patterns with arbitrary types, as well as built-in support for parallelization to arbitrary numbers of cores. License, source, version and documentation availabilityBlang is free and open source. The language and SDK are available under a permissive BSD 2-Clause license. The relevant GitHub repositories are linked at https://github. com/UBC-Stat-ML/blangDoc. Online documentation is available at https://www.stat.ubc. ca/~bouchard/blang/, including Javadoc pages at https://www.stat.ubc.ca/~bouchard/ blang/Javadoc.html. TutorialThis section aims to introduce readers to Blang by presenting a minimal working example. We begin with instructions for performing inference on a simple model using the commandline interface (CLI). Realistic applications are demonstrated in Sections 6 and 9. Advanced tutorials can be found in Appendix A. Installing Blang's command-line interfaceWe provide instructions here for installing and using Blang via the CLI. Alternative Blang interfaces include an integrated development environment (IDE) as well as a Web interface, both detailed in Section 10.1. Instructions are also available from the documentation website (https://www.stat.ubc.ca/~bouchard/blang/) under the link Tools. Additionally, an R (R Core Team 2022) and Python (van Rossum et al. 2011) interface to Blang are currently under development. 1 8 See https://github.com/UBC-Stat-ML/JSSBlangCode/blob/master/reproduction_material/example/ jss/gmm/MixtureModel.bl. Complete and commented implementations in this section are available in the...
Online homework systems are being increasingly used for auto-graded, instant feedback homework and practice for students in math, science and engineering. Students may use these systems, which often allow multiple or unlimited tries, in ways that are different from completing traditional paper-based homework, however research relating online homework system patterns of usage and learning outcomes is limited. This study explores online homework submission patterns and their links to student learning outcomes (weighted individual grades) by analyzing the submission patterns of two second-year engineering courses (~130 students each) from our institution over the 2017-2018 academic year using WeBWorK, an open online homework platform. Students in each of the two courses were clustered into three groups using a K-means algorithm based on when during the homework period they tended to submit attempts. Clusters were used to approximately represent a submission pattern, meaning groups of students that submit attempts mostly early, mostly late, or more evenly over the period. Conducting one-way ANOVAs for each course, we found that there is a significant difference between clusters (submission patterns) in terms of mean individual weighted grades on tests and exams (p < 1.07e-08, p < 2.68e-5). Post-hoc analyses revealed that the best performing cluster (students who submit attempts mostly early) had a mean tests/exams grades that were about 10% higher than worst performing cluster (students who submit attempts mostly late) (p < 2.6e-06, p < 9.9e-05).
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.