Я пытаюсь сопоставить t-распределение с некоторыми имеющимися у меня данными. Чтобы проверить это, я сначала попытался создать образец из фиксированного дистрибутива и попытаться вписаться в него. Ниже приведен код, который я использую.
samp = t.rvs(loc=0, scale=0.6, df=1.3, size=150)
param = t.fit(samp)
x = linspace(-5,5,100)
pdf_fitted = t.pdf(x,loc=param[0],scale=param[1],df=param[2])
pdf = t.pdf(x,loc=0,scale=0.6,df=1.3)
title('Student\'s t Distribution')
plot(x,pdf_fitted,'r-',x,pdf,'b-')
hist(samp, normed=1,alpha=0.3)
show()
print(param)
Теперь можно было бы ожидать, что pdf
и pdf_fitted
будут по существу одинаковыми. Однако это не так. Когда показаны графики, исходное и подогнанное распределения выглядят очень по-разному. Более того, полученные параметры совершенно не соответствуют заданным (loc=0, scale=0.6, df=1.3)! Это меня смущает, потому что я просто адаптирую код с http://glowingpython.blogspot.com/2012/07/distribution-fitting-with-scipy.html для работы с t дистрибутивами. Может кто-нибудь сказать мне, есть ли какие-то нюансы с подгонкой t-распределений? Спасибо