峰值拟合
将数据拟合到复合峰值模型。
输入
• 数据:输入数据集
输出
• 拟合参数:模型参数的最佳拟合值
• 拟合结果:评估后的总最佳拟合曲线
• 残差:拟合结果与原始数据的差值
• 标注数据:附带拟合参数的输入数据集
峰值拟合小部件通过最小二乘法对用户自定义的复合峰值模型进行曲线拟合,输出模型的最佳参数及最终拟合结果。
操作步骤
- 从下拉菜单中选择添加模型组件。
- 输入模型的初始参数和约束条件。
- 可视化初始峰值及其颜色。
- 选择子数据集进行拟合预览计算。
- 查看子数据集拟合结果的预览图:
- 黑色虚线:选中的曲线
- 红色实线:总拟合结果
- 彩色实线:单个组件的拟合曲线
- 彩色虚线:单个组件的初始值
- 浅灰色:其他可选子数据集光谱
- 提交后对完整数据集执行拟合计算。
模型与参数
峰值拟合小部件使用 lmfit
包进行模型定义和非线性优化计算。
峰值类模型至少包含以下参数:
- 中心值(center):峰值的中心位置(x 值)
- 振幅(amplitude):峰值强度或面积的乘数因子
- 标准差(sigma):峰值的特征宽度
支持的模型类型
- 高斯模型(Gaussian)
- 洛伦兹模型(Lorentzian)
- 分离洛伦兹模型(Split Lorentzian)
- 佛克特模型(Voigt)
- 伪佛克特模型(pseudo-Voigt)
- 莫法特模型(Moffat)
- 皮尔逊 VII 模型(Pearson VII)
- 学生 t 分布模型(Student’s t)
- 布雷特-维格纳-法诺模型(Breit-Wigner-Fano)
- 对数正态分布模型(Log-normal)
- 阻尼谐振子振幅模型(Damped Harmonic Oscillator Amplitude)
- DAVE 阻尼谐振子模型(Damped Harmonic Oscillator (DAVE))
- 指数修正高斯模型(Exponential Gaussian)
- 偏态高斯模型(Skewed Gaussian)
- 偏态佛克特模型(Skewed Voigt)
- 热分布模型(Thermal Distribution)
- 多尼亚克-孙吉克模型(Doniach Sunjic)
基线处理
建议在预处理阶段移除基线(如使用“光谱预处理”工具),以减少模型参数数量并提升拟合性能。
参数约束
可对参数应用以下约束以提高拟合效果:
- 固定(fixed):参数值保持不变
- 范围限制(limits):设定最小和最大值
- 增量约束(delta):以初始值为中心,允许 ± delta 的浮动
- 表达式(expr):部分模型默认通过其他参数计算参数值(不支持自定义表达式)
典型应用场景
- 限制中心值在特定 x 范围内
- 设置最小振幅以强制正向峰值
- 设置最大标准差以排除过宽的峰值
高级设置
峰值拟合小部件默认使用多进程加速拟合计算(默认额外进程数为 2)。可通过以下方式调整:
- 设置环境变量
QUASAR_N_PROCESSES
为期望的进程数,或设为all
以使用os.cpu_count()
的返回值。