这个仓库主要是我学习如何拟合两点关联函数的记录
各个文件分别是:
mass/ 格点生成的关联函数数据,15个Configration,96个时间点
direct_fit.py 直接对cosh型函数做单态拟合
jackknife_fit.py 做jackknife fit
two_state_fit.py 使用cosh型函数,做双态拟合
fit_result_plot.py 比较单态和双态拟合的结果的绘图程序
scan_tmin.py 固定tmax,扫描一系列tmin做拟合
scan_tmax.py 固定tmin,扫描一系列tmax做拟合
jk_2_cosh_fit.py jackknife 2 state fit
bs_2_cosh_fit.py bootstrap 2 state fit
- First thing first, 先观察一下你拿到的关联函数数据,画一下correlator 的图像。
- 对数据可以做对折平均(对一半的数据拟合),缩放(对放大之后的数据拟合)
- 计算有效质量effective mass,
- 从预处理后的correlator中计算y_mean和y_error
- 利用最小二乘法做拟合,我们要minimize的函数是residual
$$\text{residual} = \frac{y_{model} - y_{data}}{y_{error}}`$$ - 推荐LMfit来做最小化拟合,拟合算法使用
least_squares或者leastsq - 拟合的初始值设定时,
m0可以使用effective mass - 不出问题,应该能成功✌。
varying_tmax_5 tmax从10-24,tmin=5
varying_tmin_48 tmin从1-20,tmax=48从拟合图像上来看,改变tmax似乎对与拟合结果改变不大,而改变tmin则会明显的影响拟合结果,而且jackknife fit和direct fit给出的结果似乎十分接近,除了前者给出的误差更大以外.
- 实现jackknife与bootstrap resample method
- 对exp形式函数单态拟合
- 对exp形式函数双态拟合
- 对cosh形式函数单态拟合
- 对cosh形式函数双态拟合
- 变化拟合范围,绘制不同tmin下的拟合结果am0,chi2/dof以及AICC,尝试选择最好的拟合(select the best fit)
- 使用bootstrap做拟合,并与jackknife 拟合做比较
- jackknife/bootstrap fit 进阶
- correlated fit
- two state fit
- 推导一下direct fit 和 jackknife fit 的误差的关系
- jackknife fit 的实现存在严重的问题 fixed
- data_load() 中对原始的correlator数据进行对折取平均的时候出错7.1
- 在Analysistoolbox中jackknife与bootstrap的使用上出错
- Jackknife and Bootstrap Resampling Methods in Statistical Analysis to Correct for Bias
- Hadronic correlators from heavy to very light quarks Spectral and transport properties from lattice QCD
- 淬火近似下重夸克偶素热修正的格点量子色动力学研究
目前我的correlator是T=96,序列是(0-95),我原来的错误处理方法是直接对折取平均,导致0和95,1和94,...,47和48取平均,这么做是错的.
在格点 QCD 或类似时间相关关联函数分析中,常见的时间关联函数
因此我们在分析时,可以只保留一半(0 到 T/2)区间的数据,因为另一半是镜像。
对称化(folding)就是取
在实际测试中我发现使用bootstrap_fit 会出现$\text{tmax}$取某些区间的值时,对m0的估计出现很大的偏差,(这里的偏差是相较于eff_mass和jackknife_fit结果而言的).原先的代码中我对m0的估计是对bootstrap resamples得到的样本做拟合得到的结果$a_i$取平均值,但是通过绘制$a_i$的直方分布图,我发现在$m_0=0$处也出现了一个频率上的高峰,另一个高峰是在$m_0=0.65$附近,所以在这里我们似乎不能再使用取平均的方法来估计我们想要的m0的值,而应该使用中位数作为估计值.

