使用MATLAB计算时
Log_likelihood = log((1 / 1e8)* exp(-0.5 * SSR)),
如果SSR(即标准平方误差)很大(例如SSR = 1e4)则exp()变为零并且Log_likelihood变为-inf。
有没有可以解决这个问题的数字/数学技巧?
谢谢
答案 0 :(得分:6)
假设您的log
是自然对数:
log(a*exp(b)) = log(a) + log(exp(b)) = log(a) + b.
a=(1/1e8)
,b = -0.5*SSR
此外,log(1/1e8) = log(1) - log(1e8)
,所以上面变为-log(1e8) + b
,而第一项是常数,可以预先计算。