MASS, the book (4th edition, page 110) advices against trying to estimate $\nu$, the degrees of freedom parameter in the t distribution with maximum likelihood (with some literature references: [Lange et al. (1989), "Robust statistical modeling Using the t distribution", *JASA*, **84**, 408](http://www.tandfonline.com/doi/abs/10.1080/01621459.1989.10478852), and [Fernandez & Steel (1999), "Multivariate Student-*t* regression models: Pitfalls and inference", *Biometrika*, **86**, 1](http://biomet.oxfordjournals.org/content/86/1/153.abstract)). The reason is that the likelihood function for $\nu$ based on the t density function, may be unbounded! and will in those cases not give a well defined maximum. Let us see at an artificial example where location and scale is known (as the standard $t$-distribution) and only the degrees of freedom is unknown. Below is some R code, simulating some data, defining the loglikelihood function and plotting it: set.seed(1234) n <- 10 x <- rt(n, df=2.5) make_loglik <- function(x) Vectorize( function(nu) sum(dt(x, df=nu, log=TRUE)) ) loglik <- make_loglik(x) plot(loglik, from=1, to=100, main="loglikelihood function for df parameter", xlab="degrees of freedom") abline(v=2.5, col="red2") [![enter image description here][1]][1] If you play around with this code, you can find some cases where there is a well-defined maximum, especially with the sample size $n$ large. But is the maximum likelihood estimator then any good? Let us try some simulations: t_nu_mle <- function(x) { loglik <- make_loglik(x) res <- optimize(loglik, interval=c(0.01, 200), maximum=TRUE)$maximum res } nus <- replicate(1000, {x <- rt(10, df=2.5) t_nu_mle(x) }, simplify=TRUE) > mean(nus) [1] 45.20767 > sd(nus) [1] 78.77813 Showing the estimation is very unstable (looking at the histogram, a sizeable portion of the estimated values is at the upper limit given to optimize of 200). [1]: https://i.sstatic.net/Rnjuv.png Repeating with a larger sample size: nus <- replicate(1000, {x <- rt(50, df=2.5) t_nu_mle(x) }, simplify=TRUE) > mean(nus) [1] 4.342724 > sd(nus) [1] 14.40137 which is much better, but the mean is stil way above the true value of 2.5. Then remember that this is a simplified version of the real problem when location and scale parameters also have to be estimated. If the reason of using the $t$-distribution is to "robustify", then estimating $\nu$ from the data well may destroy the robustness.