2017-08-18 78 views
2

当loglikelihoods工作时,我有时会somethink像:日志(0^0)给出了0,但0 *日志(0)给出的NaN

alpha*log(x) # log version of log(x^alpha) 

在非日志情况下,如果xalpha是零,R假定0^0 = 1,这通常是期望的行为(例如:情景“具有零概率的零观察”具有概率1)。但在alpha*log(x)版本给楠:

alpha <- 0 
x <- 0 
log(x^alpha) # gives 0 
alpha*log(x) # gives NaN 

我读过0*Inf = NaN是一个IEEE标准,但我们应该做的又是什么?为alpha = 0创建一个特定的情况?在这种情况下不使用日志?还有别的吗?

我想这是一个非常常见的情况,我想知道其他人是如何处理它或者是否有一些常见的做法。

+1

顺便说一句,如果x> 0并且log> 0!= 1的基数,log(x(x)=α* log(x))的幂规则是唯一的,所以对于x = 0,不能应用规则 –

回答

5

ř完成在步骤代数方法,这些将是步骤

日志(0^0)=日志(1)= 0

0 *日志(0)= 0 * = Inf文件?