我使用瑞利分布来估计尺度参数,并且得到负值,尽管数据集不包含任何负值。这个负值意味着什么?如果我有负值,那么ppf给出nan输出。
from scipy.stats import rayleigh
def baseline_rayleigh(data):
pd = rayleigh.fit(data)
B = pd[0]
return B
p = 0.1
B = baseline_rayleigh(data)
ThreshL = rayleigh.ppf(1 - p, scale=B)
对于相同的数据,Matlab rayleigh函数给出非负值,并从raylinv函数获得有效输出,而Python等效的rayleigh.ppf给出nan输出。
pd = fitdist(data,'Rayleigh')
B = pd.B;
ThreshL = raylinv(1-p,B);
1条答案
按热度按时间rlcwz9us1#
rayleigh.fit(data)
返回2元组location, scale
。简单修复:您还可以通过固定位置参数来改进估计:
双参数瑞利分布的解释here。请注意,它以不同的方式定义了scale参数,例如\lambda = 1/2\sigma^2。
scipy
估计并返回\sigma,而不是\lambda