Git Product home page Git Product logo

bayes4psy's Introduction

bayes4psy

CRAN_Status_BadgeDownloads

The package

This is an R package intended for Bayesian statistical analysis in the field of psychology. Psychology is one of the fields where the replication crisis is the most prominent. Scientist believe that one of the main reason for this might be non-transparent and inappropriate use of frequentist statistics. We believe that using fully transparent Bayesian methods provided in this package could greatly alleviate the replication crisis in psychology.

We also prepared several examples where we used the bayes4psy package to perform Bayesian data analysis for scientific publications on actual data gathered by psychological tests. These examples can be found on our GitHub repository. This repository also includes short test scenarios (these scenarios execute all developed functionalities on dummy data) intended for debugging the package.

This readme document provides only a brief overview of the package, a detailed description of all implemented functions is provided in package's help pages.

Models

Bayesian models in the bayes4psy package are written with the Stan language. Stan functions required for working with these models are accessed via the RStan package. There are currently five models in the package:

  • a Bayesian t-test (Bayesian alternative to the classic t-test, see John Kruschke -- Doing Bayesian Data Analysis: A Tutorial with R, JAGS, and Stan),
  • a reaction time model (a hierarchical exponentially modified Gaussian model),
  • a success rate model (a hierarchical Bernoulli-Beta model),
  • a linear model (a hierarchical linear regression),
  • a color model (normal/Von Mises model).

Model fitting

The fitted model objects returned by the bayes4psy package are called b_results objects. These objects contain three components, extract contains values of fitted parameters, fit is the original stanfit object and data is the input data used for fitting. To fit a model to the data one has to first prepare the input data and then call an appropriate fitting function:

  • b_ttest (the Bayesian t-test),
  • b_reaction_time (the reaction time model),
  • b_success_rate (the success rate model,
  • b_linear (the linear model),
  • b_color (the color model).

If no priors are provided as parameters for fitting functions, then flat (improper) priors are put on all parameters. See provided examples and tests to see how one can specify their own priors.

Analyzing fits

To enable users without extensive programming knowledge to perform professional level Bayesian data analysis we developed a number of custom methods. Below is a short description of functions common to all models, for descriptions of functions specific to certain models consult the package's help pages.

  • summary prints a summary of the fit.
  • print, show prints a more detailed summary of the fit (same as RStan's print function).
  • plot_fit visualize the quality of the fitted model against the input data.
  • plot_trace construct a trace plot for relevant parameters of the fitted model.
  • get_parameters extracts the parameters of the fitted model.
  • get_subject_parameters get parameters for each subject (useful only for hierarchical models).
  • plot_means visualize means for a single or multiple fitted models.
  • compare_means compare means between two or more fitted models.
  • plot_means_difference visualize the difference of means between two or more fitted models.
  • plot_distributions visualize distributions underlying fitted models, can be used to visualize one or more fitted models.
  • compare_distributions draw and compare samples from distributions underlying fitted models, can be used to compare two or more fitted models.
  • plot_distributions_difference visualize the difference in distributions underlying fitted models, can be used to compare two or more fitted models.

Resources

  • bayes4psy_tools repository with real life examples that use the package to perform scientific paper grade Bayesian data analysis.
  • Open an issue GitHub issues for bug reports, feature requests.
  • Stan the Stan homepage.

Development Version

You can install the development version from GitHub. To do so you first have to install the RStan package and C++ toolchain (instructions). Once RStan and the toolchain are installed, you can install bayes4psy by using the devtools package in R:

if (!require(devtools)) {
  install.packages("devtools")
  library(devtools)
}
install_github("bstatcomp/bayes4psy")

bayes4psy's People

Contributors

demsarjure avatar estrumbelj avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.