我试图找到更符合我数据的概率分布。我已尝试使用我在不同线程中找到的代码,但结果并不是我所期望的。
我的数据的描述性统计和直方图如下: Data Histogram
数865.000000
平均值43.476713
std 12.486362
分4.075682
25%34.934609
50%41.917304
75%51.271708
最大值88.843940
我尝试使用以下代码找到正确的分布函数,但结果不是我所期望的。
size = 865
kappa=99
x = scipy.arange(size)
y = scipy.int_(scipy.round_(st.vonmises.rvs(kappa,size=size)*100))
h = plt.hist(df['spreadMaizChicagoAtlantico'],bins=100,color='b')
dist_names = ['gamma', 'beta', 'rayleigh', 'norm', 'pareto']
for dist_name in dist_names:
dist = getattr(scipy.stats, dist_name)
param = dist.fit(y)
pdf_fitted = dist.pdf(x, *param[:-2], loc=param[-2], scale=param[-1]) * size
plt.plot(pdf_fitted, label=dist_name)
plt.xlim(0,100)
plt.legend(loc='upper right')
plt.show()
任何人都可以告诉我我做错了什么,并指导我更好地理解这个解决方案。
答案 0 :(得分:0)
感谢我之前的回复,我发现了自己的错误。
我从DataFrame中获取了所有值并创建了一个numpy数组。
ItemTouchHelper.SimpleCallback simpleItemTouchCallback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
return false;
}
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
//Remove swiped item from the list and notify the RecyclerView
}
@Override
public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) {
}
};
然后我在修正分布拟合到正确数据之前运行了类似的代码
ser=df.values
结果如下,显示the histogram and three probability density functions。