R: Data-Utility measures

dUtility {sdcMicro} | R Documentation

## Data-Utility measures

### Description

`dUtility()` allows to compute different measures of data-utility based on various distances using original and perturbed variables.

### Usage

    dUtility(obj, ...)

### Arguments

`obj` | original data or object of class sdcMicroObj
`...` | see arguments below xm: perturbed data method: method IL1, IL1s or eigen. More methods are implemented in summary.micro()

### Details

The standardised distances of the perturbed data values to the original ones are measured. The following measures are available:

- `"IL1`: sum of absolute distances between original and perturbed variables scaled by absolute values of the original variables

- `"IL1s`: measures the absolute distances between original and perturbed ones, scaled by the standard deviation of original variables times the square root of `2`.

- `"eigen`; compares the eigenvalues of original and perturbed data

- `"robeigen`; compares robust eigenvalues of original and perturbed data

### Value

data utility or modified entry for data utility the sdcMicroObj.

### Author(s)

Matthias Templ

### References

for IL1 and IL1s: see Mateo-Sanz, Sebe, Domingo-Ferrer. Outlier Protection in Continuous Microdata Masking. International Workshop on Privacy in Statistical Databases. PSD 2004: Privacy in Statistical Databases pp 201-215.

Templ, M. and Meindl, B., `Robust Statistics Meets SDC: New Disclosure Risk Measures for Continuous Microdata Masking`, Lecture Notes in Computer Science, Privacy in Statistical Databases, vol. 5262, pp. 113-126, 2008.

### See Also

`dRisk()`, `dRiskRMD()`

### Examples

    data(free1)
    free1 <- as.data.frame(free1)
    m1 <- microaggregation(free1[, 31:34], method="onedims", aggr=3)
    m2 <- microaggregation(free1[, 31:34], method="pca", aggr=3)
    dRisk(obj=free1[, 31:34], xm=m1$mx)
    dRisk(obj=free1[, 31:34], xm=m2$mx)
    dUtility(obj=free1[, 31:34], xm=m1$mx)
    dUtility(obj=free1[, 31:34], xm=m2$mx)
    data(Tarragona)
    x <- Tarragona[, 5:7]
    y <- addNoise(x)$xm
    dRiskRMD(x, xm=y)
    dRisk(x, xm=y)
    dUtility(x, xm = y, method = "IL1")
    dUtility(x, xm = y, method = "IL1s")
    dUtility(x, xm = y, method = "eigen")
    dUtility(x, xm = y, method = "robeigen")

    ## for objects of class sdcMicro:
    data(testdata2)
    sdc <- createSdcObj(testdata2,
      keyVars=c('urbrur','roof','walls','water','electcon','relat','sex'),
      numVars=c('expend','income','savings'), w='sampling_weight')
    ## this is already made internally:
    ## sdc <- dUtility(sdc)
    ## and already stored in sdc

[Package sdcMicro version 5.6.1 Index]