use*_*639 5 python numpy scipy
我正在编写一个脚本,使用scipy.stats在数据集上找到最适合的分布.我首先有一个分发名称列表,我迭代它:
dists = ['alpha', 'anglit', 'arcsine', 'beta', 'betaprime', 'bradford', 'norm']
for d in dists:
dist = getattr(scipy.stats, d)
ps = dist.fit(selected_data)
errors.loc[d,['D-Value','P-Value']] = kstest(selected.tolist(), d, args=ps)
errors.loc[d,'Params'] = ps
Run Code Online (Sandbox Code Playgroud)
现在,在此循环之后,我选择最小D值以获得最佳拟合分布.现在,每个分布返回ps中的一组特定参数,每个参数都带有它们的名称等等(例如,对于'alpha',它将是alpha,而对于'norm',它们将是mean和std).
有没有办法在scipy.stats中获取估计参数的名称?
先感谢您
此代码演示了ev-br在其答案中提供的信息,以防其他人登陆这里。
>>> from scipy import stats
>>> dists = ['alpha', 'anglit', 'arcsine', 'beta', 'betaprime', 'bradford', 'norm']
>>> for d in dists:
... dist = getattr(scipy.stats, d)
... dist.name, dist.shapes
...
('alpha', 'a')
('anglit', None)
('arcsine', None)
('beta', 'a, b')
('betaprime', 'a, b')
('bradford', 'c')
('norm', None)
Run Code Online (Sandbox Code Playgroud)
我要指出的是,形状参数对于分布(例如按位置和比例参数化的法线)产生 None 值。
| 归档时间: |
|
| 查看次数: |
912 次 |
| 最近记录: |