7. 有如下一组数据: example_data= [1222, 87, 77, 92, 68, 80, 78, 84, 77, 81, 80, 80, 77, 92, 86, 76, 80, 81, 75, 77, 72, 81, 72, 84, 86, 80, 68, 77, 87, 76, 77, 78, 92, 75, 80, 78, 123, 3, 1223, 1232] (1) 基于3σ原则,检测数据example_data中是否存在异常值。 (2) 利用箱型图检测数据example_data中是否存在异常值
时间: 2023-08-25 20:06:15 浏览: 195
好的,我来为您解答这个问题。
(1)基于3σ原则,检测数据example_data中是否存在异常值。
首先,我们需要计算出这组数据的平均值和标准差,然后根据3σ原则,判断是否存在异常值。代码如下:
```python
import numpy as np
example_data= [1222, 87, 77, 92, 68, 80, 78, 84, 77, 81, 80, 80, 77, 92, 86, 76, 80, 81, 75, 77, 72, 81, 72, 84, 86, 80, 68, 77, 87, 76, 77, 78, 92, 75, 80, 78, 123, 3, 1223, 1232]
mean = np.mean(example_data) # 计算平均值
std = np.std(example_data) # 计算标准差
upper_limit = mean + 3 * std # 上限
lower_limit = mean - 3 * std # 下限
# 判断是否存在异常值
for data in example_data:
if data > upper_limit or data < lower_limit:
print('存在异常值:', data)
```
根据3σ原则,我们认为数据的分布在距离平均值3个标准差以内的范围内,其余的部分为异常值。根据上述代码,我们可以得出结论:这组数据中不存在异常值。
(2)利用箱型图检测数据example_data中是否存在异常值。
利用箱型图检测异常值,我们可以通过绘制箱型图来观察数据是否存在离群值。箱型图中的箱子代表数据的四分位数范围,箱子上下的线条分别表示上四分位数和下四分位数,箱子中间的线条代表中位数,箱子外的点代表离群值。代码如下:
```python
import matplotlib.pyplot as plt
example_data= [1222, 87, 77, 92, 68, 80, 78, 84, 77, 81, 80, 80, 77, 92, 86, 76, 80, 81, 75, 77, 72, 81, 72, 84, 86, 80, 68, 77, 87, 76, 77, 78, 92, 75, 80, 78, 123, 3, 1223, 1232]
plt.boxplot(example_data)
plt.show()
```
根据上述代码,我们可以得出结论:这组数据中存在两个离群值,分别是1222和1232。
综上所述,这组数据中不存在异常值基于3σ原则,但存在两个离群值基于箱型图检测。
阅读全文