2015-05-26 5 views
4

Я пишу сценарий, чтобы найти наиболее подходящий дистрибутив по набору данных с помощью scipy.stats. я сначала список имен распределения, над которым я итерацией:Получение имен параметров распределений 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 

Теперь, после этого цикла я выбрать минимальную D-значение для того, чтобы получить наиболее подходящее распределение. Теперь каждый дистрибутив возвращает определенный набор параметров в ps, каждый с их именами и т. Д. (Например, для «альфа» это будет альфа, тогда как для «нормы» они будут означать и std).

Есть ли способ получить имена оценочных параметров в scipy.stats?

Спасибо заранее

+0

imho, сделайте это явно, так как вы знаете, какое распространение вы использовали ... создайте обертку вокруг своих ps и обрабатывайте их там с помощью простого метода, который расскажет вам, что такое дистрибутив и какие параметры вы можете ожидать. – user3012759

+2

FWIW. Каждое распределение в scipy stats имеет атрибут 'shape'. –

+0

Спасибо за ответы; в конце концов я должен был сделать это вручную, так как параметр 'forms' все еще не дал мне имени, которое могло бы быть действительным для публикации. – user1695639

ответ

0

Этот код показывает информацию, которую 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) 

Я хотел бы подчеркнуть, что формы параметра дает значение None для распределений, таких как нормальные, которые параметризируются по местоположению и масштабу.

Смежные вопросы