bayesian_info_criterion#

astropy.stats.bayesian_info_criterion(log_likelihood: float, n_params: int, n_samples: int) float[源代码]#

计算贝叶斯信息准则(BIC),给出在估计(或分析推导)参数下评估的似然函数的对数、参数的数量和样本的数量。

BIC通常用于确定是否增加自由参数的数量(因此,增加模型的复杂性)会产生更好的拟合效果。这一决定有利于BIC最低的模型。

BIC表示为

\[\mathrm{BIC}=k\ln(n)-2L,\]

在哪儿 \(n\) 是样本量, \(k\) 是可用参数的数目,并且 \(L\) 是在最大似然估计(即,L最大化的参数)下评估的模型的对数似然函数。

当比较两个模型时,定义 \(\Delta \mathrm{{BIC}} = \mathrm{{BIC}}_h - \mathrm{{BIC}}_l\) ,其中 \(\mathrm{{BIC}}_h\) 是较高的BIC,并且 \(\mathrm{{BIC}}_l\) 是较低的BIC。更高的是 \(\Delta \mathrm{{BIC}}\) BIC越高的模型越不符合模型。

一般的经验法则是:

\(0 < \Delta\mathrm{{BIC}} \leq 2\) :低模型更好的证据不足

\(2 < \Delta\mathrm{{BIC}} \leq 6\) :适度的证据表明低模式更好

\(6 < \Delta\mathrm{{BIC}} \leq 10\) :强有力的证据表明低模型更好

\(\Delta\mathrm{{BIC}} > 10\) :非常有力的证据表明低模式更好

有关详细说明,请参见 [1] - [5].

参数:
log_likelihood : floatPython :浮点

在最大值点处评估的模型的似然函数的对数(相对于参数空间)。

n_params : intPython :整型

模型的自由参数个数,即参数空间的维数。

n_samples : intPython :整型

观察次数。

返回:
bic : floatPython :浮点

贝叶斯信息准则。

工具书类

[1] (1,2)

最大似然估计与贝叶斯信息准则。<https://hea-www.harvard.edu/astrostat/Stat310_0910/dr_20100323_mle.pdf>

[2]

维基百科。贝叶斯信息准则。<https://en.wikipedia.org/wiki/Bayesian_information_标准>

[3]

原始实验室。比较两个拟合函数。<https://www.originlab.com/doc/Origin-Help/PostFit-CompareFitFunc>

[4]

Liddle,A.R.天体物理模型选择的信息准则。2008<https://arxiv.org/pdf/astro-ph/0701113v2.pdf>

[5]

Liddle,A.R.有多少宇宙参数?2008<https://arxiv.org/pdf/astro-ph/0401198v3.pdf>

实例

以下示例最初在 [1]. 考虑高斯模型(mu,sigma)和t-Student模型(mu,sigma,delta)。另外,假设t模型具有较高的似然性。建议BIC回答的问题是:“可能性的增加是由于参数数量的增加吗?”

>>> from astropy.stats.info_theory import bayesian_info_criterion
>>> lnL_g = -176.4
>>> lnL_t = -173.0
>>> n_params_g = 2
>>> n_params_t = 3
>>> n_samples = 100
>>> bic_g = bayesian_info_criterion(lnL_g, n_params_g, n_samples)
>>> bic_t = bayesian_info_criterion(lnL_t, n_params_t, n_samples)
>>> bic_g - bic_t
np.float64(2.1948298140119391)

因此,有一个适度的证据表明t-Student模型的似然增加是由于参数数目较多。