96SEO 2026-05-25 18:15 1
Python如何用Z-Score、MAD和分位数过滤异常值?
在金融数据分析中,异常值的存在可Neng严重影响策略回测的结果。未被清洗的异常数据就像回测记录中的隐蔽凶手,可Neng导致策略在实盘中表现不佳。因此,如何有效识别并处理异常值成为关键挑战。
常见异常值检测方法常见的异常值检测方法包括Z-Score、MAD和分位数过滤。每种方法dou有其适用场景和局限性。

Z-Score计算每个数据点距离均值有多少个标准差。当|z|> 3时标记为异常值。但Z-Score对异常值敏感,且假设数据服从正态分布。金融收益率分布通常是厚尾分布,因此Z-Score并不完全适用。
def detect_by_zscore -> pd.Series:
mean = series.mean
std = series.std
if std == 0:
return pd.Series
z_scores = np.abs / std)
return z_scores> threshold
MAD 方法
MAD使用中位数替代均值,用中位数偏差替代标准差,对异常值具有geng强的鲁棒性。MAD方法适合处理偏态或重尾分布的数据。
def detect_by_mad -> pd.Series:
median = series.median
mad = np.median)
if mad == 0:
mad = 1e-6
modified_z = 0.6745 * / mad
return np.abs> threshold
分位数过滤
分位数过滤通过设定上下分位数阈值,超出范围即标记为异常。这种方法简单直观,适合作为第一道粗筛。
def detect_by_quantile -> pd.Series:
lower = series.quantile
upper = series.quantile
return |
双层过滤架构:粗筛 + 精检
为了geng有效地检测异常值,Ke以采用双层过滤架构:先用分位数进行粗筛,再用MAD进行精检。这样Ke以在保留市场信号的同时过滤掉明显的异常值。
def clean_price_data(df: pd.DataFrame, price_col: str = "close", volume_col: str = "volume",
mad_threshold: float = 3, quantile_range: Tuple = ) -> Tuple:
# 第一层:分位数粗筛
price_lower = df.quantile
price_upper = df.quantile
quantile_masked = |
# 第二层:MAD 精检
price_mad_anomalies = detect_by_mad
volume_mad_anomalies = detect_by_mad
# 标记异常但不自动删除
df = price_mad_anomalies
df = volume_mad_anomalies
df = quantile_masked
df = df | df | df
# 生成报告
report = {
"total_rows": len,
"quantile_outliers": int),
"mad_price_outliers": int),
"mad_volume_outliers": int),
"total_flagged": int),
"flagged_pct": round / len * 100, 2),
"price_range": , float),
"method": f"Quantile + MAD"
}
return df, report
人工审核队列
自动标记之后并不是直接删除异常值,而是建立人工审核队列,按异常置信度降序排列,审核者从上往下处理。这样Ke以确保市场信号不被误删,同时提高数据质量。
def build_review_queue -> pd.DataFrame:
review = df].copy
median = df.median
mad = np.median)
if mad == 0:
mad = 1e-6
review = np.abs / mad)
review = review.sort_values
review = df.shift.loc
review = / review * 100)
return review]
方向
成交量对数变换对成交量取log后再ZuoMAD检测,解决成交量分布极度右偏的问题。
多维度联合检测结合价格MAD + 成交量MAD + 日内分时形态,Zuo三维异常评分。
滚动窗口版本使用滚动MAD检测,避免前视偏差。
本文不构成任何投资建议。异常值检测结果仅供数据清洗参考,不构成买卖依据。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback