You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何输入数据不同时,我的等高线图呈现差异?

多变量正态分布等高线图异常问题

问题背景

基于多个二维点的多变量正态分布概率密度函数(PDF)叠加生成等高线图时,不同数据集表现出异常:

  • 第一组数据集:出现不明黑线,伴随巨大圆形轮廓
  • 第二组数据集:表现正常
  • 第三组数据集:仅显示3层等高线(代码中设置为5层)

复现代码

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import multivariate_normal


# 第一组数据集
data_1=[8.58 ,8.584 ,8.569 ,8.538]
data_2=[119.614, 119.633, 119.697, 119.96 ]

# 第二组数据集(取消注释可切换)
#data_1=[8.601 ,8.605 ,8.607 ,8.624]
#data_2=[120.976 ,120.988 ,120.961, 120.988]

# 第三组数据集(取消注释可切换)
#data_1=[8.901, 8.907 ,8.902, 8.89 ]
#data_2= [121.547, 121.56,  121.547 ,121.514]

x_axis=np.linspace((min(data_1)-0.01),(max(data_1)+0.01),100)
y_axis=np.linspace((min(data_2)-0.01),(max(data_2)+0.01),100)
spread=[[2e-6, 1e-9], [1e-9, 2e-6]]
x,y=np.meshgrid(x_axis,y_axis)
pos=np.dstack((x,y))
pdf_sum=np.zeros_like(x)
for points in np.stack((data_1,data_2),axis=-1):
    pdf_sum+=(multivariate_normal(points,spread)).pdf(pos)
plt.contour(x,y,pdf_sum,levels=5,colors='black')

plt.show()

异常现象说明

  • 第一组:图中出现贯穿性不明黑线,同时存在覆盖大范围的巨大圆形轮廓,推测黑线由该大圆圈导致
  • 第二组:正常显示5层等高线,符合代码设置
  • 第三组:仅渲染出3层等高线,与levels=5的设置不符

原因分析与修复方案

核心问题

  1. 数据尺度与协方差不匹配:第一组数据中data_2的取值范围(119.614119.96)远大于`data_1`(8.5388.584),但协方差矩阵spread给两个维度设置了相同的极小方差,导致y轴方向的正态分布被极度拉伸,生成覆盖整个绘图区域的超大轮廓,表现为黑线。
  2. 自动分层逻辑限制:第三组数据的PDF叠加后数值差异较小,matplotlib的自动分层算法无法识别出5个有效差异区间,仅能生成3层等高线。

修复方案

  • 匹配数据尺度调整协方差:根据数据的实际范围设置对应维度的协方差,避免分布过度拉伸:
    x_range = max(data_1) - min(data_1)
    y_range = max(data_2) - min(data_2)
    # 将方差设为对应维度数据范围1/10的平方,适配数据尺度
    spread = [[(x_range/10)**2, 0], [0, (y_range/10)**2]]
    
  • 手动指定等高线层级:绕过自动分层,基于PDF的实际数值范围手动生成5个层级:
    pdf_min = pdf_sum.min()
    pdf_max = pdf_sum.max()
    levels = np.linspace(pdf_min, pdf_max, 5)
    plt.contour(x, y, pdf_sum, levels=levels, colors='black')
    
  • 标准化数据消除尺度差异:对两组数据做标准化处理,统一尺度后再生成分布:
    data_1 = (np.array(data_1) - np.mean(data_1)) / np.std(data_1)
    data_2 = (np.array(data_2) - np.mean(data_2)) / np.std(data_2)
    

内容的提问来源于stack exchange,提问作者samman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 04:11:05