R: The decision-relative discernibility matrix based on fuzzy...

BC.discernibility.mat.FRST {RoughSets} | R Documentation

## The decision-relative discernibility matrix based on fuzzy rough set theory

### Description

This is a function that is used to build the decision-relative discernibility matrix based on FRST. It is a matrix whose elements contain discernible attributes among pairs of objects. By means of this matrix, we are able to produce all decision reducts of the given decision system.

### Usage

    BC.discernibility.mat.FRST(decision.table,
      type.discernibility = "standard.red", control = list())

### Arguments

`decision.table` | a `"DecisionTable"` class representing the decision table. See `SF.asDecisionTable`. It should be noted that this case only supports the nominal/symbolic decision attribute.
`type.discernibility` | a string representing a type of discernibility. See in Section `Details`.
`control` | a list of other parameters. `type.relation`: a type of fuzzy indiscernibility relation. The default value is `type.relation = c("tolerance", "eq.1")`. See `BC.IND.relation.FRST`. `type.aggregation`: a type of aggregation operator. The default value is `type.aggregation = c("t.tnorm", "lukasiewicz")`. See `BC.IND.relation.FRST`. `t.implicator`: a type of implicator operator. The default value is `"lukasiewicz"`. See `BC.LU.approximation.FRST`. `type.LU`: a type of method of lower and upper approximations. The default value is `"implicator.tnorm"`. See `BC.LU.approximation.FRST`. `alpha.precision`: a numeric value representing a precision variable. It is used when using `"alpha.red"` as `type.discernibility`. The default value is 0.05. See `BC.LU.approximation.FRST`. `show.discernibilityMatrix`: a boolean value determining whether the discernibility matrix will be shown or not (NULL). The default value is `FALSE`. `epsilon`: a numeric between 0 and 1 representing the ε value on `type.discernibility = "gaussian.red"`. It should be noted that when having nominal values on all attributes then ε should be 0. The default value is 0. `delta`: a numeric representing the δ value on `"gaussian"` equations (see `BC.IND.relation.FRST`). The default value is 2. `range.object`: a vector representing considered objects to construct the `k`-relative discernibility matrix. The default value is `NULL` which means that we are using all objects in the decision table.

### Details

In this function, we provide several approaches in order to generate the decision-relative discernibility matrix. Theoretically, all reducts are found by constructing the matrix that contains elements showing discernible attributes among objects. The discernible attributes are determined by a specific condition which depends on the selected algorithm. A particular approach can be executed by selecting a value of the parameter `type.discernibility`. The following shows the different values of the parameter `type.discernibility` corresponding approaches considered in this function.

- `"standard.red"`: It is adopted from (Tsang et al, 2008)'s approach. The concept has been explained briefly in `B.Introduction-FuzzyRoughSets`. In order to use this algorithm, we assign the `control` parameter with the following components:

  `control = list(type.aggregation, type.relation, type.LU, t.implicator)`

  The detailed description of the components can be seen in `BC.IND.relation.FRST` and

  `BC.LU.approximation.FRST`. Furthermore, in this case the authors suggest to use the "min" t-norm (i.e., `type.aggregation = c("t.tnorm", "min")`) and the implicator operator "kleene_dienes" (i.e., `t.implicator = "kleene_dienes"`).

- `"alpha.red"`: It is based on (Zhao et al, 2009)'s approach where all reductions will be found by building an α-discernibility matrix. This matrix contains elements which are defined by

  1) if x_i and x_j belong to different decision concept,

  c_{ij} = \{R : \mathcal{T}(R(x_i, x_j), λ) ≤ α \},

  where λ = (R_{α} \downarrow A)(u) which is lower approximation of FVPRS (See `BC.LU.approximation.FRST`).

  2) c_{ij}={\oslash}, otherwise.

  To generate the discernibility matrix based on this approach, we use the `control` parameter with the following components:

  `control = list(type.aggregation, type.relation, t.implicator, alpha.precision)`

  where the lower approximation λ is fixed to `type.LU = "fvprs"`. The detailed description of the components can be seen in `BC.IND.relation.FRST` and `BC.LU.approximation.FRST`. Furthermore, in this case the authors suggest to use \mathcal{T}-similarity relation

  e.g., `type.relation = c("transitive.closure", "eq.3")`,

  the "lukasiewicz" t-norm (i.e., `type.aggregation = c("t.tnorm", "lukasiewicz")`), and `alpha.precision` from 0 to 0.5.

- `"gaussian.red"`: It is based on (Chen et al, 2011)'s approach. The discernibility matrix contains elements which are defined by:

  1) if x_i and x_j belong to different decision concept,

  c_{ij}= \{R : R(x_i, x_j) ≤ √{1 - λ^2(x_i)}\},

  where λ = inf_{u \in U}\mathcal{I}_{cos}(R(x_i, u), A(u)) - ε. To generate fuzzy relation R , we use the fixed parameters as follows:

  `t.tnorm = "t.cos"` and `type.relation = c("transitive.kernel", "gaussian")`.

  2) c_{ij}={\oslash}, otherwise.

  In this case, we need to define `control` parameter as follows.

  `control <- list(epsilon)`

  It should be noted that when having nominal values on all attributes then `epsilon` (ε) should be 0.

- `"min.element"`: It is based on (Chen et al, 2012)'s approach where we only consider finding the minimal element of the discernibility matrix by introducing the binary relation DIS(R) the relative discernibility relation of conditional attribute R with respect to decision attribute d, which is computed as

  DIS(R) = \{(x_i, x_j) \in U \times U: 1 - R(x_i, x_j) > λ_i, x_j \notin [x_i]_d\},

  where λ_i = (Sim(R) \downarrow [x_i]_d)(x_i) with Sim(R) a fuzzy equivalence relation. In other words, this algorithm does not need to build the discernibility matrix. To generate the fuzzy relation R and lower approximation λ, we use the `control` parameter with the following components:

  `control = list(type.aggregation, type.relation, type.LU, t.implicator)`.

  The detailed description of the components can be seen in `BC.IND.relation.FRST` and

  `BC.LU.approximation.FRST`.

### Value

A class `"DiscernibilityMatrix"` containing the following components:

- `disc.mat`: a matrix showing the decision-relative discernibility matrix M(\mathcal{A}) which contains n \times n where n is the number of objects. It will be printed when choosing

  `show.discernibilityMatrix = TRUE`.

- `disc.list`: the decision-relative discernibility represented in a list.

- `discernibility.type`: a string showing the chosen type of discernibility methods.

- `type.model`: in this case, it is `"FRST"`.

### Author(s)

Lala Septem Riza

### References

D. Chen, L. Zhang, S. Zhao, Q. Hu, and P. Zhu, "A Novel Algorithm for Finding Reducts with Fuzzy Rough Sets", IEEE Trans. on Fuzzy Systems, vol. 20, no. 2, p. 385 - 389 (2012).

D. G. Chen, Q. H. Hu, and Y. P. Yang, "Parameterized Attribute Reduction with Gaussian Kernel Based Fuzzy Rough Sets", Information Sciences, vol. 181, no. 23, p. 5169 - 5179 (2011).

E. C. C. Tsang, D. G. Chen, D. S. Yeung, X. Z. Wang, and J. W. T. Lee, "Attributes Reduction Using Fuzzy Rough Sets", IEEE Trans. Fuzzy Syst., vol. 16, no. 5, p. 1130 - 1141 (2008).

S. Zhao, E. C. C. Tsang, and D. Chen, "The Model of Fuzzy Variable Precision Rough Sets", IEEE Trans. on Fuzzy Systems, vol. 17, no. 2, p. 451 - 467 (2009).

### See Also

`BC.discernibility.mat.RST`, `BC.LU.approximation.RST`, and `BC.LU.approximation.FRST`

### Examples

    #######################################################################
    ## Example 1: Constructing the decision-relative discernibility matrix
    ## In this case, we are using The simple Pima dataset containing 7 rows.
    #######################################################################
    data(RoughSetData)
    decision.table <- RoughSetData$pima7.dt

    ## using "standard.red"
    control.1 <- list(type.relation = c("tolerance", "eq.1"),
                    type.aggregation = c("t.tnorm", "min"),
                    t.implicator = "kleene_dienes", type.LU = "implicator.tnorm")
    res.1 <- BC.discernibility.mat.FRST(decision.table, type.discernibility = "standard.red",
                                        control = control.1)

    ## using "gaussian.red"
    control.2 <- list(epsilon = 0)
    res.2 <- BC.discernibility.mat.FRST(decision.table, type.discernibility = "gaussian.red",
                                        control = control.2)

    ## using "alpha.red"
    control.3 <- list(type.relation = c("tolerance", "eq.1"),
                    type.aggregation = c("t.tnorm", "min"),
                    t.implicator = "lukasiewicz", alpha.precision = 0.05)
    res.3 <- BC.discernibility.mat.FRST(decision.table, type.discernibility = "alpha.red",
                                        control = control.3)

    ## using "min.element"
    control.4 <- list(type.relation = c("tolerance", "eq.1"),
                    type.aggregation = c("t.tnorm", "lukasiewicz"),
                    t.implicator = "lukasiewicz", type.LU = "implicator.tnorm")
    res.4 <- BC.discernibility.mat.FRST(decision.table, type.discernibility = "min.element",
                                        control = control.4)

    #######################################################################
    ## Example 2: Constructing the decision-relative discernibility matrix
    ## In this case, we are using the Hiring dataset containing nominal values
    #######################################################################
    ## Not run: data(RoughSetData)
    decision.table <- RoughSetData$hiring.dt

    control.1 <- list(type.relation = c("crisp"),
                    type.aggregation = c("crisp"),
                    t.implicator = "lukasiewicz", type.LU = "implicator.tnorm")
    res.1 <- BC.discernibility.mat.FRST(decision.table, type.discernibility = "standard.red",
                                        control = control.1)

    control.2 <- list(epsilon = 0)
    res.2 <- BC.discernibility.mat.FRST(decision.table, type.discernibility = "gaussian.red",
                                        control = control.2)
    ## End(Not run)

[Package RoughSets version 1.3-7 Index]