| Statistic | R Documentation |
A Statistic is a functional that when applied to
a Bayesian network returns a value. Usually, the statistic is a
function of the distribution of a single node, but it could also be a
function of several nodes. Statistic objets have a
calcStat method, which when applied to a network,
produces the value. Lists of statistics are often maintained by Bayes
net engines to report values at designated times (e.g., after new
evidence arrives). The Statistic function is the constructor
or Statistic objects.
Statistic(fun, node, name = sprintf("%s(%s)", fun, node), ...)
calcStat(stat, net)
fun |
Object of class |
node |
Object of class |
name |
Object of class |
... |
Other optional arguments for later extension. |
stat |
An object of class |
net |
A |
The Statistic class represents a functional which
can be applied to a Bayes net (a distribution, Pnet),
which returns a value of interest. Usually the functional is a
function of the marginal or joint distribution of a number of nodes,
Pnode. Some connonical examples are the expected value
and the median of the marginal distribution for a node.
Because the functional can be applied to different networks, the nodes
are referenced by name instead of actual node objects. The
calcStat method finds the nodes in the network, and then
calls the refenced fun with arguments
signature(net="Pnet", node), where node can either be a node or
list of nodes. (Note that the network object may or may not be needed
to calculate the statistic value).
Note that the statistic is free to return any kind of value. The mean
of a discrete variable is typically numeric (using
PnodeStateValues to link states of the node with numeric
values). The mode and median return a factor
variable, and the margin is a vector of values on the unit simplex.
The current statistics are currently supported are:
PnodeMarginProvides the marginal distribution of a node.
PnodeEAPProvides the expected a posteriori
(i.e., mean) of a node using numeric values for the state from
PnodeStateValues.
PnodeSDProvides the standard deviation of a
node using numeric values for the state from
PnodeStateValues.
PnodeMedianProvides the median value for a node, that is if the states are ordered, the one which is reached at a probability mass of 0.5.
PnodeModeReturns the most likely state for (the marginal distribution of) node.
The Statistic function returns an object of class
Statistic.
Russell Almond
Almond, R.G., Mislevy, R.J. Steinberg, L.S., Yan, D. and Willamson, D. M. (2015). Bayesian Networks in Educational Assessment. Springer. Chapter 13.
Class:
Statistic
calcStat
Avaliable Statistic functions:
PnodeMargin, PnodeEAP, PnodeSD,
PnodeMedian, PnodeMode.
These statistics will likely produce errors unless
PnetCompile has been run first.
## Not run:
library(PNetica) ## Need a specific implementation
sess <- NeticaSession()
startSession(sess)
irt10.base <- ReadNetworks(system.file("testnets", "IRT10.2PL.base.dne",
package="PNetica"),
session=sess)
irt10.base <- as.Pnet(irt10.base) ## Flag as Pnet, fields already set.
irt10.theta <- PnetFindNode(irt10.base,"theta")
irt10.items <- PnetPnodes(irt10.base)
## Flag items as Pnodes
for (i in 1:length(irt10.items)) {
irt10.items[[i]] <- as.Pnode(irt10.items[[i]])
}
## Make some statistics
marginTheta <- Statistic("PnodeMargin","theta","Pr(theta)")
meanTheta <- Statistic("PnodeEAP","theta","EAP(theta)")
sdTheta <- Statistic("PnodeSD","theta","SD(theta)")
medianTheta <- Statistic("PnodeMedian","theta","Median(theta)")
modeTheta <- Statistic("PnodeMedian","theta","Mode(theta)")
BuildAllTables(irt10.base)
CompileNetwork(irt10.base) ## Netica requirement
calcStat(marginTheta,irt10.base)
calcStat(meanTheta,irt10.base)
calcStat(sdTheta,irt10.base)
calcStat(medianTheta,irt10.base)
calcStat(modeTheta,irt10.base)
DeleteNetwork(irt10.base)
stopSession(sess)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.