scores            package:relations            R Documentation(utf8)

_R_e_l_a_t_i_o_n _S_c_o_r_e_s

_D_e_s_c_r_i_p_t_i_o_n:

     Compute scores for the tuples of (ensembles of) endorelations.

_U_s_a_g_e:

     ## S3 method for class 'relation':
     relation_scores(x,
                     method = c("ranks", "Barthelemy/Monjardet", "Borda",
                                "Kendall", "Wei", "differential", "Copeland"),
                     normalize = FALSE, ...)
     ## S3 method for class 'relation_ensemble':
     relation_scores(x,
                     method = c("Borda", "Kendall", "differential", "Copeland"),
                     normalize = FALSE,
                     weights = 1, ...)

_A_r_g_u_m_e_n_t_s:

       x: an object inheriting from class 'relation', representing an
          endorelation.

  method: character string indicating the method (see *Details*).

normalize: logical indicating whether the score vector should be
          normalized to sum up to 1.

 weights: Numeric vector of weights used in incidence aggregation,
          recycled as needed.

     ...: further arguments to be passed to methods.

_D_e_t_a_i_l_s:

     In the following, consider an endorelation R on n objects. Let the
     _in-degree_ I(a) and _out-degree_ O(a) of an object a be defined
     as the numbers of objects b such that b R a and, respectively, a R
     b, and let D(a) = I(a) - O(a) be the _differential_ of a (see
     Regenwetter and Rykhlevskaia (2004)).  Note that I and O are given
     by the column sums and row sums of the incidence matrix of R.  If
     R is a preference relation with a <= interpretation, D(a) is the
     difference between the numbers of objects dominated by a (i.e., <
     a) and dominating a (i.e., > a), as "ties" cancel out.

     'relation_score()' is generic with methods for relations and
     relation ensembles. Available built-in score methods for the
     relation method are as follows:


     '"_r_a_n_k_s"' generalized ranks.  A linear transformation of the
          differential D to the range from 1 to n.  An additional
          argument 'decreasing' can be used to specify the order of the
          ranks.  By default, or if 'decreasing' is true, objects are
          ranked according to decreasing differential ("from the
          largest to the smallest" in the <= preference context) using
          (n + 1 - D(a)) / 2. Otherwise, if 'decreasing' is false,
          objects are ranked via (n + 1 + D(a)) / 2 ("from the smallest
          to the largest"). See Regenwetter and Rykhlevskaia (2004) for
          more details on generalized ranks.

     '"_B_a_r_t_h_e_l_e_m_y/_M_o_n_j_a_r_d_e_t"' (M(a) + N(a) - 1) / 2, where M(a) and
          N(a) are the numbers of objects b such that b R a, and b R a
          and not a R b, respectively.  If R is a <= preference
          relation, we get the number of dominated objects plus half
          the number of the equivalent objects minus 1 (the "usual"
          average ranks minus one if the relation is complete).  See
          Barthélemy and Monjardet (1981).

     '"_B_o_r_d_a"', '"_K_e_n_d_a_l_l"' the out-degrees. See Borda (1770) and
          Kendall (1955).

     '"_W_e_i"' the eigenvector corresponding to the greatest eigenvalue
          of the incidence matrix of the complement of R. See Wei
          (1952).

     '"_d_i_f_f_e_r_e_n_t_i_a_l"', '"_C_o_p_e_l_a_n_d"' the differentials, equivalent to
          the negative _net flow_ of Bouyssou (1992), and also to the
          Copeland scores.

     For relation ensembles, currently only
     '"differential"'/'"Copeland"' and '"Borda"'/'"Kendall"' are
     implemented. They are computed on the aggregated incidences of the
     ensembles' relations.

     Definitions of scores for "preference relations" R are somewhat
     ambiguous because R can encode <= or >= (or strict variants
     thereof) relationships (and all such variants are used in the
     literature).  Package 'relations' generally assumes a <= encoding,
     and that scores in the strict sense should increase with
     preference (the most preferred get the highest scores) whereas
     ranks decrease with preference (the most preferred get the lowest
     ranks).

_V_a_l_u_e:

     A vector of scores, with names taken from the relation domain
     labels.

_R_e_f_e_r_e_n_c_e_s:

     J.-P. Barthélemy and B. Monjardet (1981), The median procedure in
     cluster analysis and social choice theory. _Mathematical Social
     Sciences_, *1*, 235-267.

     J. C. Borda (1781), Mémoire sur les élections au scrutin.
     Histoire de l'Académie Royale des Sciences.

     D. Bouyssou (1992), Ranking methods based on valued preference
     relations: A characterization of the net flow network. _European
     Journal of Operational Research_, *60*, 61-67.

     M. Kendall (1955), Further contributions to the theory of paired
     comparisons. _Biometrics_, *11*, 43-62.

     M. Regenwetter and E. Rykhlevskaia (2004), On the (numerical)
     ranking associated with any finite binary relation. _Journal of
     Mathematical Psychology_, *48*, 239-246.

     T. H. Wei (1952). _The algebraic foundation of ranking theory_.
     Unpublished thesis, Cambridge University.

_E_x_a_m_p_l_e_s:

     ## Example taken from Cook and Cress (1992, p.74)
     I <- matrix(c(0, 0, 1, 1, 1,
                   1, 0, 0, 0, 1,
                   0, 1, 0, 0, 1,
                   0, 1, 1, 0, 0,
                   0, 0, 0, 1, 0),
                 ncol = 5,
                 byrow = TRUE)
     R <- relation(domain = letters[1:5], incidence = I)

     ## Note that this is a "preference matrix", so take complement:
     R <- !R

     ## Compare Kendall and Wei scores
     cbind(
           Kendall = relation_scores(R, method = "Kendall", normalize = TRUE),
           Wei = relation_scores(R, method = "Wei", normalize = TRUE)
          )

     ## Example taken from Cook and Cress (1992, p.136)
     ## Note that the results indicated for the Copeland scores have
     ## (erroneously?) been computed from the *unweighted* votes.
     ## Also, they report the votes as strict preferences, so we
     ## create the dual relations.

     D <- letters[1:5]
     X <- as.relation(ordered(D, levels = c("b", "c", "a", "d", "e")))
     Y <- as.relation(ordered(D, levels = c("d", "a", "e", "c", "b")))
     Z <- as.relation(ordered(D, levels = c("e", "c", "b", "a", "d")))
     E <- relation_ensemble(X, Y, Z)
     relation_scores(E, "Copeland")
     relation_scores(E, "Borda", weights = c(4, 3, 2))

