Given a partial order (arguments profiles
and/or
zeta
) and a selected threshold
,
the function computes the identification function, as a S3 class object parsec
. The identification function is computed by uniform sampling of the linear extensions of the input poset, through a C implementation of the Bubley - Dyer (1999) algorithm. idn is a simplified and faster version of evaluation, computing just the identification function.
idn(
profiles = NULL,
threshold,
error = 10^(-3),
zeta = getzeta(profiles),
weights = {
if (!is.null(profiles))
profiles$freq
else rep(1, nrow(zeta))
},
linext = lingen(zeta),
nit = floor({
n <- nrow(zeta)
n^5 * log(n) + n^4 * log(error^(-1))
}),
maxint = 2^31 - 1
)
an object of S3 class wprof
reporting poset profiles
and their associated frequencies (number of statistical units in each profile).
number of profiles.
number of variables.
S3 class incidence
, incidence matrix of the poset.
S3 class cover
, cover matrix of the poset.
boolean vector specifying whether a profile belongs to the threshold.
number of iterations performed by the Bubley Dyer algorithm.
matrix reporting by rows the relative frequency distribution of the poverty ranks of each profile, over the set of sampled linear extensions.
vector reporting the relative frequency a profile is used as threshold in the sampled linear extensions. This result is useful for a posteriori valuation of the poset threshold.
vector of weights assigned to each profile.
matrix of distances between profiles, used to evaluate the measures of gap.
vector reporting the identification function, computed as the fraction of sampled linear extensions where a profile is in the downset of the threshold.
NA
use evaluation to obtain this result.
NA
use evaluation to obtain this result.
NA
use evaluation to obtain this result.
NA
use evaluation to obtain this result.
NA
use evaluation to obtain this result.
NA
use evaluation to obtain this result.
NA
use evaluation to obtain this result.
an object of S3 class wprof
.
a vector identifying the threshold. It can be a vector of indexes (numeric), a vector of poset element names (character) or a boolean vector of length equal to the number of elements.
the "distance" from uniformity in the sampling distribution of linear extensions.
the incidence matrix of the poset. An object of S3 class incidence
.
By default, extracted from profiles
.
weights assigned to profiles. If the argument profiles
is not NULL
,
weights are by default set equal to profile frequencies, otherwise they are
set equal to 1.
the linear extension initializing the sampling algorithm. By default, it is generated by lingen(zeta)
. Alternatively, it can be provided by
the user through a vector of elements positions.
Number of iterations in the Bubley-Dyer algorithm, by default evaluated using a formula of Karzanov and Khachiyan
based on the number of poset elements and the argument error
(see Bubley and Dyer, 1999).
Maximum integer. By default the maximum integer obtainable in a 32bit system.
This argument is used to group iterations and run the compiled
C code more times, so as to avoid memory indexing problems. User can
set a lower value to maxint
in case of lower RAM availability.
Bubley R., Dyer M. (1999), Faster random generation of linear extensions, Discrete Math., 201, 81-88.
Fattore M., Arcagni A. (2013), Measuring multidimensional polarization with ordinal data, SIS 2013 Statistical Conference, BES-M3.1 - The BES and the challenges of constructing composite indicators dealing with equity and sustainability
profiles <- var2prof(varlen = c(3, 2, 4))
threshold <- c("311", "112")
res <- idn(profiles, threshold, maxint = 10^5)
summary(res)
plot(res)
Run the code above in your browser using DataLab