bartMachine (version 1.2.6)

# bart_machine_get_posterior: Get Full Posterior Distribution

## Description

Generates draws from posterior distribution of $$\hat{f}(x)$$ for a specified set of observations.

## Usage

bart_machine_get_posterior(bart_machine, new_data)

## Arguments

bart_machine

An object of class bartMachine''.

new_data

A data frame containing observations at which draws from posterior distribution of $$\hat{f}(x)$$ are to be obtained.

## Value

Returns a list with the following components:

y_hat

Posterior mean estimates. For regression, the estimates have the same units as the response. For classification, the estimates are probabilities.

new_data

The data frame with rows at which the posterior draws are to be generated. Column names should match that of the training data.

y_hat_posterior_samples

The full set of posterior samples of size num_iterations_after_burn_in for each observation. For regression, the estimates have the same units as the response. For classification, the estimates are probabilities.

%% ...

calc_credible_intervals, calc_prediction_intervals

## Examples

# NOT RUN {
#Regression example

#generate Friedman data
set.seed(11)
n  = 200
p = 5
X = data.frame(matrix(runif(n * p), ncol = p))
y = 10 * sin(pi* X[ ,1] * X[,2]) +20 * (X[,3] -.5)^2 + 10 * X[ ,4] + 5 * X[,5] + rnorm(n)

##build BART regression model
bart_machine = bartMachine(X, y)

#get posterior distribution
posterior = bart_machine_get_posterior(bart_machine, X)
print(posterior$y_hat) #Classification example #get data and only use 2 factors data(iris) iris2 = iris[51:150,] iris2$Species = factor(iris2$Species) #build BART classification model bart_machine = bartMachine(iris2[ ,1 : 4], iris2$Species)

#get posterior distribution
posterior = bart_machine_get_posterior(bart_machine, iris2[ ,1 : 4])
print(posterior\$y_hat)
# }
# NOT RUN {

# }