Я пишу сценарий, чтобы найти наиболее подходящий дистрибутив по набору данных с помощью 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?
Спасибо заранее
imho, сделайте это явно, так как вы знаете, какое распространение вы использовали ... создайте обертку вокруг своих ps и обрабатывайте их там с помощью простого метода, который расскажет вам, что такое дистрибутив и какие параметры вы можете ожидать. – user3012759
FWIW. Каждое распределение в scipy stats имеет атрибут 'shape'. –
Спасибо за ответы; в конце концов я должен был сделать это вручную, так как параметр 'forms' все еще не дал мне имени, которое могло бы быть действительным для публикации. – user1695639