赞
踩
离群数据统计检验是数据分析中的一个重要环节,用于识别和处理那些与主体数据集显著不同的数据点。在水质在线数据分析过程中往往会遇到各种异常值,需要我们进行识别。
本文尝试通过对比不同的离群值检验方法,探究适合本地水质在线数据的检验方法。
常用的离群数据统计检验方法有四分位法、Z-Score 方法、孤立森林法、3σ原则等 4 种方法。
经过对比分析,Z-Score 与 3σ原则方法是最适合水质在线数据离群值检验的方法。具有离群值检验准确,原理清晰易懂,实现简单,配置参数少等优点。
上图是一个实际环境中运行的水质变化曲线,可见存在明显的离群值,如果不去除异常值,则是对后续分析是不利的。
IQR 方法是识别极端值的非参数方法,不需要数据遵循正态分布。
import matplotlib.pyplot as plt
import pandas as pd # Load the uploaded CSV file
file_path = '/mnt/data/2024-06-05T03-18_export.csv'
data = pd.read_csv(file_path)
# Convert '监测时间' to datetime format for better plotting
data['监测时间'] = pd.to_datetime(data['监测时间'])
# Sort the data by '监测时间' for better visualization in the plot
data_sorted = data.sort_values(by='监测时间')
# Create a boxplot for the '双河口' column
plt.figure(figsize=(10, 6))
plt.boxplot(data_sorted['双河口'], vert=False)
plt.title('Box Plot of 双河口')
plt.xlabel('双河口 Value')
plt.grid(True)
plt.show()
# Calculate IQR
Q1 = data_sorted['双河口'].quantile(0.25)
Q3 = data_sorted['双河口'].quantile(0.75)
IQR = Q3 - Q1
# Define the boundaries for outliers
lower_bound = Q1 - 1.5 * IQR
upper_bound = Q3 + 1.5 * IQR
# Filter out the outliers
outliers = data_sorted[(data_sorted['双河口'] < lower_bound) | (data_sorted['双河口'] > upper_bound)]
# Display the outliers
outliers
箱线图结果
Z-Score 方法,也称为标准分数,是一种用于评估数据点相对于数据集平均值的标准偏差的统计方法。这种方法通过计算每个数据点与数据集平均值的偏差,然后除以数据集的标准差,来衡量每个数据点的异常程度。具体来说,Z-Score 的计算公式如下:
Z
=
(
X
−
μ
)
σ
Z = \frac{(X - \mu)}{\sigma}
Z=σ(X−μ)
其中:
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。