我在计算Python 2.7中的似然比测试时遇到了问题。Python中的似然比测试
我有两个模型和相应的似然值。我相信比较模型L2是否优于模型L1(如果模型密切相关)的规则是看-2 * log(L2/L1)。
我然后想找到对应于-2 *日志(L2/L1)的p值和L2优选L1涉及这个的意义。以下是我迄今为止:
import numpy as np
from scipy.stats import chisqprob
L1 = 467400. # log(likelihood) of my 1st fit
L2 = 467414. # log(likelihood) of my 2nd fit
LR = -2. * np.log(L2/L1) # LR = -5.9905e-05
p = chisqprob(LR, 1) # L2 has 1 DoF more than L1
print 'p: %.30f' % p # p = 1.000000000000000000000000000000
five_sigma = 1 - scipy.special.erf(5/np.sqrt(2.)) :-)
print '5 sigma: %.30f' % five_sigma
five_sigma_check = 1 - 0.999999426696856 :-(
print 'Check : %.30f' % five_sigma_check
不过,我遇到两个问题:
我的p值是走出来是1的时候我会希望它是接近0.
例如,当我使用标记有:-)的线查找五个西格玛时,它与文献中引用的值不同 - 该线以高亮显示:-(。My value for five_sigma_check从here拍摄。
任何人都可以提供任何建议吗?我对Python和统计学领域相对陌生。
谢谢。
+0
是'L1'和'L2'似然性或日志似然性?如果它们是对数似然度,那么在计算LR –
+0
'L1'和'L2'是可能性的对数时,您不应该记录它们的日志。我明白你的意思,把日志的日志没有意义... –