standard_deviation_weights
mcda.standard_deviation_weights(normalized)
Standard deviation weights for a [0, 1] normalized tool by metric matrix.
The principle is the same as for entropy: a metric that spreads the tools out should weigh more than one on which they all score alike. Standard deviation measures that spread directly, without converting the column to a probability mass first. The weight of each metric is its sample standard deviation divided by the sum of the standard deviations across metrics.
If every column is constant the total spread is zero and the weight vector would otherwise be 0 / 0. In that case the function falls back to equal weights.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
normalized |
np.ndarray | Shape (n_tools, n_metrics), values in [0, 1] (non-negative). |
required |
Returns
| Type | Description |
|---|---|
| np.ndarray | Shape (n_metrics,), non-negative weights summing to 1. |
Notes
The standard deviation is the sample version (ddof=1). Unlike entropy, these weights are not invariant under rescaling of a column, so the input is expected to be already normalized to a common scale.
References
Diakoulaki, D., Mavrotas, G., Papayannakis, L. Determining objective weights in multiple criteria problems: the CRITIC method. Computers and Operations Research 22 (1995), which reviews the standard deviation approach as the simpler precursor to CRITIC.