我正在尝试绘制一个卡方概率密度函数,该函数在 python 中的不同条件下对一些实验数据进行训练。我的代码如下所示。
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as ss
data= [] #read from CSV file.
chi_linespace = np.linspace(4, 1500, len(data))
x,y,z = ss.chi2.fit(data)
pdf_chi2 = ss.chi2.pdf(linespace, x,y,z)
plt.hist(data, bins=100, density=True, alpha=0.3)
plt.plot(linespace, pdf_chi2, label='Chi2')
plt.legend()
plt.show()
我对每个示例大约有 1500 个观察值,当我运行下面的代码时,大多数时候我得到一个很好的拟合分布。
我有时会发现,当我在不同的数据集上运行相同的代码时,概率密度函数explodes在~0并且看起来根本不适合数据集。
以前有人遇到过这个问题,他们是如何解决这个问题的?