If I generate normally distributed data and then use this data to estimate the parameters of a normal distribution using, say, maximum likelihood I would expect the estimated standard deviation to be close to the true standard deviation given enough data. If I instead use this normally distributed data to estimate the parameters of a t distribution with a fixed DF the scale does not approach the true sd. There should, however, exist a functional relationship between the SD of the data and the scale of the t-distribution. I haven’t manage to figure this relationship out so my question is:
What is the relation between the estimated standard deviation of a normal distribution and the scale of a t distribution when applied to the same (truly) normally distributed data?
I've done some numerical simulations, where I generated normally distributed data, fitted a normal and a t with a fixed DF and looked at the ratio between the estimated SD of the normal and the scale of the t. It definitely looks like there is a relation, but it would be nice to have a formula for this :)
Here is the simulation in R code:
library(MASS)
scale_ratio <- sapply(seq(1, 10, 0.1), function(df) {
x <- rnorm(9999, sd=100)
fitdistr(x, "normal")$estimate[2] / fitdistr(x, "t", df=df)$estimate[2]
})
plot(seq(1, 10, 0.1), scale_ratio, xlab="DF", ylab="normal SD / t scale")
Edit: 1
A possible use for the transform I'm looking for would be when using a t-distribution as a robust alternative to the normal distribution when modelling data. The t distribution is a consistent estimator of the mean of normally distributed data with the added benefit that it will be more robust against contamination/outliers in the data. As shown above, the t-distribution will not be a consistent estimator of the SD but it would be neat if it could be made consistent by transforming the scale somehow.
Edit 2:
One way of transforming the scale of the t distribution so that it becomes more similar to the SD of the normal data is by taking the Interquartile range (IQR) of the estimated t distribution and then dividing the IQR by 1.349 which, if the IRQ would have come from a normal distribution, would have resulted in the SD of that normal. This transform feels a bit like a hack to me and does not make the discrepancy go away completely as seen below.
Another possibility would be to use the SD of the t-distribution, instead of the scale parameter, as an estimumate of the SD of the normal data. This does not work well, however, but instead overestimates the SD of the normal data as seen below: