TotalVarDist {distrEx} | R Documentation |
Generic function for the computation of the total variation distance d_v of two distributions P and Q where the distributions may be defined for an arbitrary sample space (Omega, A). The total variation distance is defined as
d_v(P,Q)=sup{|P(B)-Q(B)| | B in A}
TotalVarDist(e1, e2, ...) ## S4 method for signature 'AbscontDistribution, ## AbscontDistribution': TotalVarDist(e1,e2) ## S4 method for signature 'AbscontDistribution, ## DiscreteDistribution': TotalVarDist(e1,e2) ## S4 method for signature 'DiscreteDistribution, ## AbscontDistribution': TotalVarDist(e1,e2) ## S4 method for signature 'DiscreteDistribution, ## DiscreteDistribution': TotalVarDist(e1,e2) ## S4 method for signature 'numeric, DiscreteDistribution': TotalVarDist(e1, e2) ## S4 method for signature 'DiscreteDistribution, numeric': TotalVarDist(e1, e2) ## S4 method for signature 'numeric, AbscontDistribution': TotalVarDist(e1, e2, asis.smooth.discretize = "discretize", n.discr = getdistrExOption("nDiscretize"), low.discr = getLow(e2), up.discr = getUp(e2), h.smooth = getdistrExOption("hSmooth")) ## S4 method for signature 'AbscontDistribution, numeric': TotalVarDist(e1, e2, asis.smooth.discretize = "discretize", n.discr = getdistrExOption("nDiscretize"), low.discr = getLow(e1), up.discr = getUp(e1), h.smooth = getdistrExOption("hSmooth")) ## S4 method for signature 'AcDcLcDistribution, ## AcDcLcDistribution': TotalVarDist(e1, e2)
e1 |
object of class "Distribution" or "numeric" |
e2 |
object of class "Distribution" or "numeric" |
asis.smooth.discretize |
possible methods are "asis" ,
"smooth" and "discretize" . Default is "discretize" . |
n.discr |
if asis.smooth.discretize is equal to
"discretize" one has to specify the number of lattice points
used to discretize the abs. cont. distribution. |
low.discr |
if asis.smooth.discretize is equal to
"discretize" one has to specify the lower end point of the lattice
used to discretize the abs. cont. distribution. |
up.discr |
if asis.smooth.discretize is equal to
"discretize" one has to specify the upper end point of the lattice
used to discretize the abs. cont. distribution. |
h.smooth |
if asis.smooth.discretize is equal to
"smooth" – i.e., the empirical distribution of the provided
data should be smoothed – one has to specify this parameter. |
... |
further arguments to be used in particular methods (not in package distrEx) |
In case we want to compute the total variation distance between (empirical) data
and an abs. cont. distribution, we can specify the parameter asis.smooth.discretize
to avoid trivial distances (distance = 1).
Using asis.smooth.discretize = "discretize"
, which is the default,
leads to a discretization of the provided abs. cont. distribution and
the distance is computed between the provided data and the discretized
distribution.
Using asis.smooth.discretize = "smooth"
causes smoothing of the
empirical distribution of the provided data. This is, the empirical
data is convoluted with the normal distribution Norm(mean = 0, sd = h.smooth)
which leads to an abs. cont. distribution. Afterwards the distance
between the smoothed empirical distribution and the provided abs. cont.
distribution is computed.
Total variation distance of e1
and e2
distrExIntegrate
.
=1
).
support
and sum
.
=1
).
Matthias Kohl Matthias.Kohl@stamats.de,
Peter Ruckdeschel Peter.Ruckdeschel@itwm.fraunhofer.de
Huber, P.J. (1981) Robust Statistics. New York: Wiley.
Rieder, H. (1994) Robust Asymptotic Statistics. New York: Springer.
TotalVarDist-methods
, ContaminationSize
,
KolmogorovDist
, HellingerDist
,
Distribution-class
TotalVarDist(Norm(), Gumbel()) TotalVarDist(Norm(), Td(10)) TotalVarDist(Norm(mean = 50, sd = sqrt(25)), Binom(size = 100)) # mutually singular TotalVarDist(Pois(10), Binom(size = 20)) x <- rnorm(100) TotalVarDist(Norm(), x) TotalVarDist(x, Norm(), asis.smooth.discretize = "smooth") y <- (rbinom(50, size = 20, prob = 0.5)-10)/sqrt(5) TotalVarDist(y, Norm()) TotalVarDist(y, Norm(), asis.smooth.discretize = "smooth") TotalVarDist(rbinom(50, size = 20, prob = 0.5), Binom(size = 20, prob = 0.5))