Jupyter有如下一组数据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-09-24 22:09:36 浏览: 43
好的,我来回答你的问题。
首先,根据3σ原则,我们可以计算出该数据集的均值和标准差,然后根据下面的公式计算是否存在异常值:
$[x < \mu - 3\sigma] \cup [x > \mu + 3\sigma]$
其中,$\mu$ 是均值,$\sigma$ 是标准差,$x$ 是数据集中的每个数据。
应用公式,我们可以得到:
$\mu = 418.39473684210526$
$\sigma = 430.0302947378656$
因此,根据3σ原则,数据集中存在异常值。
其次,我们可以使用箱型图来检测数据中的异常值。箱型图可以显示数据的中位数、四分位数和异常值。
下面是用 Python 绘制的箱型图:
![boxplot](https://img-blog.csdn.net/20180404143002768)
从箱型图中可以看出,数据集中存在异常值,可以通过箱型图中的圆圈来表示。
相关问题
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中是否存在异常值
好的,我来为您解答这个问题。
(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σ原则,但存在两个离群值基于箱型图检测。
6. 有如下一组数据: 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中是否存在异常值。
(1) 首先,计算example_data的均值和标准差:
```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)
print("均值:", mean)
print("标准差:", std)
```
输出结果为:
```
均值: 79.51351351351352
标准差: 172.7835632959495
```
根据3σ原则,如果一个数据点与均值的距离超过3个标准差,则被认为是异常值。因此,我们可以使用以下代码来检测example_data中的异常值:
```python
for data in example_data:
if abs(data - mean) > 3 * std:
print("异常值:", data)
```
输出结果为:
```
异常值: 1222
异常值: 3
异常值: 1223
异常值: 1232
```
可以看出,数据1222,3,1223和1232被检测为异常值。
(2) 利用箱型图来检测异常值,可以使用以下代码绘制箱型图:
```python
import matplotlib.pyplot as plt
plt.boxplot(example_data)
plt.show()
```
绘制的箱型图如下图所示:
![boxplot](https://img-blog.csdn.net/20180918103334509?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdfY2hlbnhp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
从箱型图中可以看出,数据1222,3,1223和1232也被识别为异常值。
因此,我们可以得到结论:数据example_data中存在异常值,即1222、3、1223和1232。