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 [^1]
fitt_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 groups
fitt_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]
[^1]: 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
[^2]: 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
This project is licensed under the GNU General Public License. For the exact terms please see the LICENSE file.
vim: set ft=markdown: