Skip to content
/ pbox Public

pbox R package. Exploring multivariate spaces with Probability Boxes

License

Notifications You must be signed in to change notification settings

athammad/pbox

Repository files navigation

PBOX

CRAN_Status_Badge Downloads

Version 0.1.8

Overview

The pbox R package is designed for risk assessment and management. It is an advanced statistical library that excels in exploring probability distributions within a given dataset. The tool offers a method to encapsulate and query the probability space effortlessly. Its distinctive feature lies in the ease with which users can navigate and analyze marginal, joint, and conditional probabilities while taking into account the underlying correlation structure inherent in the data. This unique capability empowers users to delve into intricate relationships and dependencies within a dataset, providing a solid foundation for making well-informed decisions in the context of risk management scenarios. With pbox is straightforward to answer questions like:

  • What is the probability of experiencing extreme heat waves in Indonesia with temperatures above 32 degrees?

  • What is the probability of simultaneous extreme heat waves in Vietnam with temperatures above than 31 degrees and the average regional temperature being above than 26 degrees?

  • Given that the average regional temperature is 26 degrees, what is the probability of experiencing extreme heat waves in both Vietnam and Indonesia with temperatures above 33 degrees?

Features

Generate a pbox object from data

data("SEAex")
pbx<-set_pbox(SEAex)
pbx

Access the data and the copula object

pbx@data
pbc@copula

Access the results of the automated selection for both the marginal distribution and the copula

pbx@fit

Explore the probabilistic space


#Get marginal distribution
qpbox(pbx,mj = "Malaysia:33")

#Get Joint distribution
qpbox(pbx,mj = "Malaysia:33 & Vietnam:34")

# Conditional distribution distribution with Pr(X <= x, Y <= y) / Pr(Y = y)
qpbox(pbx,mj = "Malaysia:33 & median:c(Vietnam,Thailand)", co="mean:c(avgRegion)", fixed=TRUE)

# Estimate confidence intervals
qpbox(pbx,mj = "Vietnam:31 & avgRegion:26", co="Malaysia:32",CI=T)


Map the probabilistic space with a gird of quantile values


grid_pbox(pbx, mj = c("Vietnam", "Malaysia"))


Query the probabilistic space under different scenarios with different combinations of parameters for a single query


scenario_pbox(pbx,mj = "Vietnam:31 & avgRegion:26", param_list = list(Vietnam="mu"))

Installation

The pbox package is currently under active development. The development version can be installed from GitHub,the stable version can be install directly from CRAN. Below are the installation instructions for both the development version and the CRAN version:

Development Version

To install the development version from GitHub, you first need to install the remotes package if you haven't already. Then, use remotes::install_github to install the pbox package from GitHub:

install.packages("remotes")
remotes::install_github("athammad/pbox")

CRAN Version

Install pbox directly from CRAN with the following command:

install.packages("pbox")

Getting Help or Reporting an Issue

To report bugs/issues/feature requests, please file an issue.

Author

pbox is written by Ahmed T. Hammad and is under active development. Please feel free to contribute by submitting any issues or requests—or by solving any current issues!