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:
PnodeMargin
Provides the marginal distribution of a node.
PnodeEAP
Provides the expected a posteriori
(i.e., mean) of a node using numeric values for the state from
PnodeStateValues
.
PnodeSD
Provides the standard deviation of a
node using numeric values for the state from
PnodeStateValues
.
PnodeMedian
Provides 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.
PnodeMode
Returns 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.