通过
拟合威布尔分布我完全感到困惑weibull_params = sp.stats.exponweib.fit(df.speed, floc=0, f0=1)
# Returns (1, 1.7358162061451901, 0, 9.4955614228786978)
这些参数如何与https://en.wikipedia.org/wiki/Weibull_distribution中的威布尔分布相对应?具体来说,wiki a
和c
中的lambda
,k
是什么?
在http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.exponweib.html#scipy.stats.exponweib中,pdf
定义为
exponweib.pdf(x, a, c) =
a * c * (1-exp(-x**c))**(a-1) * exp(-x**c)*x**(c-1)
但在维基百科中,PDF是
另外,如果我将exponweib.pdf
与它返回的参数
df['speed'].hist(bins=arange(0, df.speed.max()), alpha=0.5, normed=True)
def weib(x,lamb,k):
return (k / lamb) * (x / lamb)**(k-1) * np.exp(-(x/lamb)**k)
k_shape, lamb_scale = weibull_params[1], weibull_params[3]
plt.plot(x, weib(x, lamb_scale, k_shape), label='self-defined weibull')
plt.plot(x, sp.stats.exponweib.pdf(x, k_shape, lamb_scale, loc=0, scale=1),'--', label ='custom_order')
plt.legend()