使用MATLAB进行计算时
Log_likelihood =日志((1/1E8)*EXP(-0.5*SSR)),
如果SSR(即标准平方误差)很大(例如SSR = 1e4)则exp()变为零并且Log_likelihood变为-inf.
有没有可以解决这个问题的数字/数学技巧?
谢谢
假设你log是一个自然对数:
log(a*exp(b)) = log(a) + log(exp(b)) = log(a) + b.
Run Code Online (Sandbox Code Playgroud)
其中a=(1/1e8),b = -0.5*SSR
此外,log(1/1e8) = log(1) - log(1e8),因此上述线匝是-log(1e8) + b,在第一项是一个常数,并且可以预先计算.