This section explains how to use a few additional functions that come packaged with Scenarios, including the command ACTUAL. For additional explanation, contact Invrea here.

On this page

  1. ACTUAL
  2. BAYESLINEST
  3. COMPOUND

ACTUAL


Parameters: At least two: first a datum, then a type of distribution in double quotes, and then the parameters of this distribution.

Return Types: All data types - returns the datum supplied as the first argument

Description: ACTUAL is the Scenarios command that is used to train a model on true data. The first argument is the datum to be learned from, and the second argument is the type of distribution assumed for this data, in double quotes. The next arguments are the parameters of the distribution being used. For example, to observe that the value of the cell B7 is between 4 and 8, the following syntax should be used: =ACTUAL(B7, "between", 4, 8). In general, if DISTRIBUTION(X, Y, Z) is any random variable, then observing that this random variable takes value D is simply =ACTUAL(K, "DISTRIBUTION", X, Y, Z). The construct ACTUAL performs a function similar to the observe and factor keywords in probabilistic programming languages. For more information on using ACTUAL, look here.

Error Conditions: The error conditions for ACTUAL are determined by the error conditions for the corresponding distribution. For example, the standard deviation of the normal distribution must be positive. Therefore, =GAUSSIAN(1, -1), is invalid, and so =ACTUAL(3, "gaussian", 1, -1) is also invalid.


(↩)

BAYESLINEST


Parameters: Nine, all of which other than the first are optional. The first is a range of dependent variables Y, the second is a range or array of independent variables X, the third is a logical value determining whether linear regression is performed with or without a constant, the fourth is a logical value determining whether optional linear regression statistics are returned, the fifth and sixth are the shape and rate parameters respectively of the inverse-gamma prior, the seventh is a prior on the mean weights (a range or array), the eighth is a prior on the covariance matrix (a range or array), and the ninth is a model ID, an integer.

Return Type: A matrix, whose composition depends on whether statistics are enabled and/or a constant is encluded. See LINEST help for a description of what elements are where - LINEST and BAYESLINEST have the same form of outputs, although BAYESLINEST takes additional arguments.

Description: BAYESLINEST performs Bayesian linear regression from the input matrix X to the output vector Y using a standard normal-inverse-gamma model, generating a distribution over possible weights and possible statistics. BAYESLINEST returns one possible set of weights and statistics from this distribution. The default priors are a zero vector for the mean, an identity matrix for the covariance, and ones for the priors of the inverse-gamma distribution, but custom priors can be supplied. This ninth argument, the model identifier, exists to differentiate one Bayesian linear estimator from another on the same spreadsheet. If there are several Bayesian linear estimators with the same arguments on one spreadsheet, they will all return the same value; therefore, this ninth argument is provided to allow the user to implement multiple independent Bayesian linear estimators. For more information on the functions of the first four arguments to BAYESLINEST, consult the documentation on LINEST.

Error Conditions: The arguments to BAYESLINEST must obey quite a few constraints. The first argument, Y, must be a range. The second argument, X, must, if present, be a range of the same size as Y in one dimension (this dimension being the number of data points). The other dimension of X is the number of features. The next argument, const, is either TRUE or FALSE; the same holds for the fourth argument, stats. The next two arguments, the shape and rate parameters for the inverse-gamma prior, must be nonnegative scalar numbers. The next argument is a prior on the mean, which must be a range the same size as the number of features. However, if const is enabled, and it defaults to TRUE, then a prior for the constant must be specified as well - therefore, in this case, the size of the mean prior must be one plus the number of features. The next argument is a prior on the covariance, a matrix, for which the same warning holds. If const is disabled, the covariance must be a square symmetric matrix whose row length is the number of features; if const is enabled, the covariance must be a square symmetric matrix whose length is one plus the number of features. The ninth argument, which is optional, must be an integer.


(↩)

COMPOUND


Parameters: At least two: first a number of sums N, and second, a type of distribution in double quotes, just as in ACTUAL. Again, as in ACTUAL, the next parameters are the parameters of the appropriate distribution.

Return Type: Depends on the return type of the specified distribution.

Description: The command COMPOUND computes the sum of N random variables of the distribution sent in. That is, N random samples are taken independently from the supplied distribution and then added together. For example, =COMPOUND(100, "gaussian", 5, 1) computes the sum of 100 independent Gaussian random variables each with mean 5 and standard deviation 1. In general, COMPOUNDis able to add up no more than N=10,000 sums, and will fail if made to. However, for many distributions, COMPOUND automatically performs calculations that allow it to compute an unlimited number of sums. This unlimited form of COMPOUND is only available when generating scenarios.

Error Conditions: The number of sums N must be a number between 0 and 10,000. The distribution parameter must be a string and a valid Scenarios distribution. The next parameters must obey the error conditions of the supplied distribution type, just as in ACTUAL. For example, the beta distribution must take two numbers greater than zero: =BETA(-1, -1) is invalid, and therefore so is =COMPOUND(100, "beta", -1, -1).


(↩)