Some tools for fitting t-distributions to data.
These methods find the maximum likelihood parameters using the expectation-maximization algorithm. Since I am fitting these distributions primarily to calculate entropy I am using covergence of entropy as a stopping criteria for the EM algorithm (rather than the full likelihood) but it is easy to change this if it is not suitable for your purposes.
fitt
: fits a multivariate t-distribution using ECME algorithm 1fitt_fixnu
: fits a t-distribution with d.o.f. (nu) specified.fitt_commonnu
: fit t-distributions to grouped data, with d.o.f. (nu) common across groupsfitt_commonsnu
: fit t-distributions to grouped, with covariance (S) and d.o.f. (nu) common across groups
These use a closed form approximation the ML estimate which is faster to compute. However, they didn't work well for me - with the data I was using I sometimes got negative values for terms which should be non-negative (although it seemed to work OK with generated t-distributed samples).
fitt_approx
: fits using the approximate method of Aeschliman et al. 2
This project is licensed under the GNU General Public License. For the exact terms please see the LICENSE file.
vim: set ft=markdown:
Footnotes
-
C Liu and D B Rubin, (1995) "ML estimation of the t distribution using EM and its extensions, ECM and ECME", Statistica Sinica, 5, pp19-39 ↩
-
C Aeschlimna, J Park and KA Cak, "A Novel Parameter Estimation Algorithm for the Multivariate t-Distribution and its Application to Computer Vision" ECCV 2010 ↩