有限尺寸标度:多系统尺寸数据坍缩为单曲线的拟合求助
多系统尺寸数据坍缩拟合方案
核心思路
要实现不同系统尺寸数据的坍缩,核心是通过变量变换将所有数据集映射到同一曲线:令 $z = x_{\text{arr}} / L^\beta$,则 $y_{\text{arr}} = L^\alpha \cdot f(z)$,即 $f(z) = y_{\text{arr}} / L^\alpha$。我们需要同时优化 $\alpha$、$\beta$ 和函数 $f$(你选的7次多项式),让所有变换后的 $(z, y_{\text{arr}}/L^\alpha)$ 点尽可能贴合同一条拟合曲线。
具体操作步骤
统一变量变换后再拟合
不要直接对原始数据拟合多项式,先对每个系统尺寸的数据集做标度变换:- 对每个系统尺寸 $L$,计算缩放后的自变量 $z_i = x_{\text{arr},i} / L^\beta$
- 计算缩放后的因变量 $\hat{y}i = y{\text{arr},i} / L^\alpha$
将三个数据集的 $(z_i, \hat{y}_i)$ 合并成统一数据集,再用7次多项式拟合这个合并后的数据集。
联合优化所有参数
用数值优化工具(比如Python的scipy.optimize.minimize)同时求解 $\alpha$、$\beta$ 和多项式的7个系数:- 定义损失函数:所有原始数据点的 $y_{\text{arr},i}$ 与预测值 $L^\alpha \cdot \text{poly}(x_{\text{arr},i}/L^\beta)$ 的残差平方和
- 初始化参数(比如 $\alpha=0$、$\beta=1$,多项式系数初始为随机小值),让优化器最小化损失函数
先从低次多项式尝试,避免过拟合
7次多项式容易出现过拟合,建议先从2-3次多项式开始验证坍缩效果,若残差过大再逐步提升次数。手动初估参数(优化收敛困难时用)
若优化器收敛不稳定,可以先手动估计 $\alpha$ 和 $\beta$ 的初始值:- 取两组数据,找到满足 $x_1/L_1^\beta = x_2/L_2^\beta$ 的对应点,对 $\log(y_1) - \log(y_2)$ 与 $\log(L_1) - \log(L_2)$ 做线性回归,斜率即为 $\alpha$
- 同理,固定 $y_1/L_1^\alpha = y_2/L_2^\alpha$,对 $\log(x_1) - \log(x_2)$ 与 $\log(L_1) - \log(L_2)$ 做线性回归,斜率即为 $\beta$
验证与调整
得到参数后,将所有变换后的 $(z, \hat{y})$ 点和拟合的 $f(z)$ 曲线画在同一张图上,观察坍缩效果。若部分区域偏离,可调整多项式次数或重新初始化优化参数再次求解。
内容的提问来源于stack exchange,提问作者Barry
相关产品推荐
相关产品推荐

