Я думаю, что стоит добавить, что в большинстве случаев, с помощью пакета fitdistrplus, чтобы соответствовать т-распределение к реальным данным, приведет к очень плохой подгонки, которая на самом деле довольно заблуждение. Это связано с тем, что используются функции t-распределения по умолчанию в R, и они не поддерживают сдвиг или масштабирование. То есть, если ваши данные имеют значение, отличное от 0, или каким-то образом масштабируется, то функция fitdist
просто приведет к плохой подгонке.
В реальной жизни, если данные соответствуют t-распределению, оно обычно смещается (то есть имеет среднее значение, отличное от 0) и/или масштабируется. Давайте генерировать некоторые данные, такие как, что:
data = 1.5*rt(10000,df=5) + 0.5
Учитывая это выборка данных из распределения Стьюдента с 5 степенями свободы, можно подумать, что подстраиваться Т-распределение на это должно работать достаточно хорошо. Но на самом деле, вот результат. Он оценивает df равным 2 и обеспечивает плохое соответствие, как показано на графике qq.
> fit_bad <- fitdist(data,"t",start=list(df=3))
> fit_bad
Fitting of the distribution ' t ' by maximum likelihood
Parameters:
estimate Std. Error
df 2.050967 0.04301357
> qqcomp(list(fit_bad)) # generates plot to show fit
Когда вы подходите к т-распределения вы хотите не только оценить степень свободы, но и среднего и масштабирования параметра.
Пакет metRology предоставляет версию t-распределения, называемую t.scaled, которая имеет дополнительный параметр и sd в дополнение к параметру df [metRology]. Теперь давайте уместить его снова:
> library("metRology")
> fit_good <- fitdist(data,"t.scaled",
start=list(df=3,mean=mean(data),sd=sd(data)))
> fit_good
Fitting of the distribution ' t.scaled ' by maximum likelihood
Parameters:
estimate Std. Error
df 4.9732159 0.24849246
mean 0.4945922 0.01716461
sd 1.4860637 0.01828821
> qqcomp(list(fit_good)) # generates plot to show fit
Намного лучше :-) параметры очень близки к тому, как мы получили данные в первую очередь! И график QQ показывает гораздо приятнее.
Большое вам спасибо! –