4.3 分形维数计算实操:盒计数与关联维数


4.3 分形维数计算实操:盒计数与关联维数

本节摘要:吸引子"奇异"在几何上意味着非整数维数。本节实操两种最常用的维数估计:盒计数法(数覆盖吸引子需要多少个边长减半的盒子)与关联维数法(格里-普罗卡西算法,量点对的距离分布)。前者直观易做,后者对混沌数据更稳健;两节的对照实验都从康托集与洛伦兹吸引子上取数,并把有限数据、噪声、饱和三大陷阱逐一踩过。

前两节的工具各管一摊:重构管"画出来",指数管"有多乱"。还剩最后一个问题——吸引子的几何到底特殊在哪?洛伦兹吸引子的维数约二点零六,这个数不是修辞,而是一台计数机器吐出的测量值。本节把这台机器拆开:先在已知答案的分形(康托集)上校准流程,再对洛伦兹吸引子实测,最后总结三个让无数论文翻车的陷阱。

学习目标

阅读完本节,你应当能够:

  1. 写出容量维数(盒计数维数)的定义,解释"维数是缩放的指数"这一定义视角;
  2. 对康托集做盒计数校准实验,验证其维数为 ln 2 除以 ln 3;
  3. 实现格里-普罗卡西关联维数算法,对洛伦兹吸引子报出约二点零六的估计;
  4. 说出标度区、饱和、噪声三大陷阱的成因与对策;
  5. 解释维数估计的实用价值:推断系统的有效自由度个数。

一、定义视角:维数是缩放的指数

普通人对维数的直觉是"独立方向的个数",但分形集合需要更普适的定义视角:看量怎么随尺度变化。一条线段长度减半后要两段才能盖住原线段,正方形要四块,立方体要八块——覆盖数与尺度之比的指数恰为维数一、二、三。把这条规律反着写成公式:维数 D 等于覆盖数关于尺度倒数的对数之比,即 D 等于 ln N 除以 ln(一除以 ε),其中 N 是边长 ε 的盒子盖住集合所需的个数。对整数维对象它给出熟悉的答案,对分形则给出小数——维数从"方向计数"升级为"缩放指数",这是整个分形几何的支点

以经典校准对象康托集演练:把区间砍掉中间三分之一、无限重复。第 k 层时盒子边长为三的负 k 次方,需盖住的非空盒子有二的 k 次方个,代入公式得 D 等于 ln 2 除以 ln 3,约零点六三。手推一遍这个数,胜过读十页定义——下面马上用数值流程复现它。

二、盒计数实操:从康托集到洛伦兹

盒计数流程五步:把数据归一化到单位盒内;对一系列盒尺寸 ε(每次减半);把每个点按坐标归入对应盒子并统计非空盒数 N(ε);在双对数坐标画 N 对 ε 的倒数;取直线段的斜率为维数。先跑校准实验——康托集前十二层共几千个点,复盘输出:从 ε 等于二的负四次方到二的负十次方之间,对数比稳定在零点六二至零点六四之间,与理论值零点六三吻合——流程无误。注意取"直线段"三个字的分量:ε 太大(比集合整体还大,N 恒为一)与 ε 太小(每盒至多一个点,N 恒为点数)都会让曲线拐弯,只有中间的标度区有效——这个"找直线"的动作是全部维数估计的核心技艺。

再对洛伦兹吸引子上机:取长期轨迹两万个点、三维归一化、盒尺寸扫十档。复盘的典型输出:

# 洛伦兹吸引子盒计数复盘(伪代码摘要) 数据: 轨迹积分至暂态后, 采样 20000 点, 坐标归一化 盒尺寸: eps = 1/4, 1/8, 1/16, ..., 1/2048 log(1/eps) log(N) 局部斜率 2.00 4.9 - 3.00 8.1 3.2 (仍在整尺度过渡区) 4.00 11.4 3.3 5.00 14.3 2.9 6.00 16.9 2.6 7.00 19.1 2.2 8.00 21.1 2.0 9.00 22.8 1.7 (开始受点数稀疏影响) 10.00 24.2 1.4 (饱和区, 无效) 标度区取 log(1/eps) 约 5..8, 加权直线拟合 -> D_box 约 2.05

读表的重点在"局部斜率"一列:它从三滑向一,中间只有一小段平台——平台值才是维数。左端偏三是因为大盒子还没切进褶皱尺度(三维物体的"体积感"仍在),右端偏一是因为点太稀(每盒一两个点,集合退化成散点列)。两个端点各骗一次,只有平台说真话

三、关联维数:格里-普罗卡西流程

盒计数有个隐患:维度越高,盒子数指数爆炸,且结果对盒子原点摆放敏感。混沌文献的主力是关联维数——不看盒子,看点对。定义:关联积分 C(r) 是随机抽出的两点距离小于 r 的概率;若吸引子是分形,C(r) 在标度区按 r 的 D2 次幂增长,双对数直线的斜率即 D2。它与盒维数理论上不等但数值接近,且"数点对"天然平均了摆放效应,对高维与噪声都更稳。

格里-普罗卡西算法的完整复盘(仍用洛伦兹两万点):

# 关联维数复盘(伪代码) 1. 用第 4.1 节流程确定嵌入维数 m(此处 m=5, 留裕量) 2. 对距离门槛 r = r_min..r_max 对数均匀取 20 档: 统计距离 < r 的点对占比 C(r) (用 5000 个参考点 x 全体, 控制计算量) 3. 双对数画 C(r) 对 r, 逐档算局部斜率 4. 取斜率平台段拟合 本复盘典型输出: 标度区: r 在 0.02..0.15 之间 局部斜率: 2.9 -> 2.3 -> 2.08 -> 2.06 -> 2.09 -> 2.15 平台拟合: D2 约 2.06 +- 0.03 5. 稳健性检查: 点数减半重跑(D2 变化 < 0.02); 嵌入维数取 6 重跑(平台不变)

第五步的稳健性检查不是可选项而是必选项:点数减半维数不变、嵌入维数加一平台不动,估计值才可信。第 3.3 节引用的"二点零六"正是这类流程的产物;文献早期曾有人报出二点五上下的值,后来查明大多是没做稳健性检查、掉进了数据长度陷阱。

图 4-3 维数估计的三段式曲线:哪一段才说真话

图 4-3 维数估计的三段式曲线:哪一段才说真话

四、维数有什么用与变式练习

除了给"奇异"定量,维数还有一个工程化的用途:推断系统的有效自由度。关联维数二点零六意味着吸引子大致需要三个独立变量才能容纳——这正是洛伦兹用三个变量就复原它的原因。反过来,对一段脑电或气候数据估出 D2 约五,就可以说"一个五变量级的模型是合理起点",这比"系统很复杂"有用得多。维数因此常被用作建模的第一张处方单。

变式练习两则。其一,把洛伦兹数据的采样步长放宽十倍重跑关联维数——你会发现平台消失,因为过疏采样人为制造了小尺度空白;这个失败样本能训练你识别"采样病"。其二,给数据叠加百分之一的测量噪声再跑——小尺度段被噪声填平、平台整体上移;用滑动平均或小波去噪后平台可部分恢复,但永远无法恢复到无噪水平——噪声对维数估计的伤害是结构性的,这一认识直接通向第 7.3 节的判据:凡是没有讨论噪声水平的维数报告,都应打上问号。

顺便补一条把本章两件工具串起来的捷径:Kaplan-Yorke 公式——由指数谱可以推出维数的理论估计。洛伦兹系统用谱算出的估计约二点零六,与关联维数的实测值几乎重合。动力学的尺子与几何的尺子在同一个数上会师,这种两路对账,是诊断报告可信度的最好背书。

本节要点回顾

  • 定义升级:维数从方向计数升级为缩放指数;康托集的 ln 2 除以 ln 3 是最好的第一课。
  • 盒计数要点:双对数曲线只认中间的标度平台;两端分别被"体积感"与"点稀疏"污染。
  • 关联维数流程:格里-普罗卡西数点对,洛伦兹复盘约二点零六;点数减半与维数加一的稳健性检查是必选项。
  • 三陷阱:数据太短致缩水、噪声垫高小尺度、尺度过小致饱和;每个都有明确的对策与失效标志。
  • 实用出口:维数是有效自由度的处方单——D2 加一约等于合理的模型变量数。

工具箱至此配齐:重构、指数、维数,三件套能把一列数据加工成一份完整的动力学诊断。下一章把工具用于干预——如何用微小扰动驯服一头混沌猛兽。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U