含离群值时如何确定赛车g-g图的真实凸包?
解决g-g图加速度极限凸包的离群值过滤与边界提取问题
一、先做鲁棒性离群值过滤
不用依赖直方图分箱,先把明显异常的点干掉:
- 中位数绝对偏差(MAD)过滤:对每个极坐标扇区的R值(加速度幅值),计算中位数和MAD(
MAD = median(|x - median(x)|)),保留中位数 + 3*MAD以内的点。MAD比标准差抗极端值,3倍MAD对应约99.7%的置信区间,能有效过滤3g这类离谱的异常点。 - 自适应百分位截断:根据每个扇区的样本量调整截断阈值:样本量≥100时取99th百分位,50-100取97th,<50取90th。这种方式避免小样本下极端值拉高边界,同时比固定取最大值保守但更真实。
二、改进边界提取逻辑,摆脱直方图分箱限制
- 核密度估计(KDE)找极限边界:对每个扇区过滤后的R值,用KDE拟合概率密度曲线,取密度下降到峰值10%对应的R值作为该扇区的极限。KDE是连续拟合,不会被分箱数影响,能更平滑地捕捉真实的极限分布。
- 过滤后点集直接计算凸包:如果两条赛道的样本量足够,把所有过滤后的g-g点(x向加速度、y向加速度)直接输入凸包算法(比如Scipy的
scipy.spatial.ConvexHull)。凸包会自动包裹所有边缘的有效点,前提是已经做好离群值过滤,不然异常点会把凸包拉变形。
三、跨赛道数据融合优化
因为你有两条赛道的数据,合并后能提升结果可靠性:
- 对相同theta扇区,取两条赛道过滤后R值的对应百分位的最大值,或者按样本量加权平均(样本多的赛道权重高)。
- 合并所有过滤后的点再做全局凸包,这样能覆盖两条赛道的不同极限场景,边界更通用。
四、验证与校准
- 把提取的边界和原始散点图叠加,检查是否覆盖了95%以上的正常极限点,同时排除明显的异常值。
- 用专业车手的实测极限数据(如果有的话)校准阈值,比如调整MAD的倍数或百分位,让边界更贴合真实驾驶的加速度极限。
内容的提问来源于stack exchange,提问作者M.P.
相关产品推荐
相关产品推荐

