我有1000个大数,随机分布在37231到56661的范围内。
我试图使用stats.gaussian_kde
,但是似乎出了些问题(也许是因为我对统计学知识了解不够?)。
以下是代码:
from scipy import stats.gaussian_kde
import matplotlib.pyplot as plt
# 'data' is a 1D array that contains the initial numbers 37231 to 56661
xmin = min(data)
xmax = max(data)
# get evenly distributed numbers for X axis.
x = linspace(xmin, xmax, 1000) # get 1000 points on x axis
nPoints = len(x)
# get actual kernel density.
density = gaussian_kde(data)
y = density(x)
# print the output data
for i in range(nPoints):
print "%s %s" % (x[i], y[i])
plt.plot(x, density(x))
plt.show()
在打印输出中,第一列中得到了x值,在第二列中得到了零值。图表显示一条平直的线。
我无法找到解决方案。 我尝试了非常广泛的X值,但结果相同。
问题出在哪里?我做错了什么? 大数是否可能是原因?