python 求离差_指标权重确定方法之标准离差法(均方差法)
时间: 2023-06-24 12:08:10 浏览: 203
离差是指一组数据中,每个数据与数据的平均值之差的绝对值。离差可以用来衡量数据的分散程度,离差越大,说明数据的分散程度越大。
指标权重确定方法之标准离差法(均方差法)就是使用离差来确定指标的权重。具体步骤如下:
1. 对每个指标进行归一化处理,使得各个指标的取值范围相同。
2. 计算每个指标的标准差,即离差的平均值。
3. 计算每个指标的标准离差,即离差除以标准差。
4. 计算每个指标的权重,即标准离差的平均值除以每个指标的标准离差。
5. 将每个指标的权重进行归一化处理,使得各个指标的权重之和为1。
下面是 Python 代码实现:
```python
import numpy as np
# 数据
data = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
# 归一化
data_norm = (data - data.min(axis=0)) / (data.max(axis=0) - data.min(axis=0))
# 标准差
std = np.std(data_norm, axis=0)
# 标准离差
std_diff = np.abs(data_norm - np.mean(data_norm, axis=0)) / std
# 权重
weights = np.mean(std_diff, axis=0) / std_diff
# 归一化权重
weights_norm = weights / np.sum(weights)
print(weights_norm)
```
以上代码中,我们使用 numpy 库来进行数值计算,并且假设我们的数据集是一个3行4列的矩阵,每一行代表一个样本,每一列代表一个指标。我们首先对每列数据进行归一化处理,然后计算标准差和标准离差,最后计算每个指标的权重并归一化。最终输出的是一个长度为4的一维数组,表示每个指标的权重。
阅读全文