我正在使用beta.fit(W)进行beta分发。 W的值未达到[0,1]边界。我的问题如下 - 我是否需要通过beta.fit强制[0,1]界限(W,loc = min(W),scale = max(W) - min(W)),或者我可以假设为只要数据在[0,1]范围内,拟合“就没事了”?显然,缩放数据应该给出不同的a和b值。哪一个是“正确的”?
这个问题与以下内容有关: https://stats.stackexchange.com/questions/68983/beta-distribution-fitting-in-scipy
不幸的是,当数据在预期范围内时,没有有效的答案是...
我试图使用a和b的已知值生成数据,但这两种技术都不合适,尽管缩放看起来有点帮助。
由于
答案 0 :(得分:1)
如果未传递floc
和fscale
参数,fit
会尝试估算它们。如果您知道数据在特定的时间间隔内,您应该使拟合函数知道其他信息(通过自己设置参数)以改善拟合。您还可以对α,β和比例参数进行初步猜测(通过loc
和scale
关键字参数);不过,SciPy的默认猜测功能似乎相当复杂。
从样本集is not a good idea的限制中导出floc
和fscale
,因为对于大多数α和β值,β分布在区间边界处为零,这意味着您是在数据和所有可能的拟合之间产生很大的差异。