Как мне подобрать параметры t-распределения, то есть параметры, соответствующие «среднему» и «стандартному отклонению» нормального распределения. Я предполагаю, что они называются «среднее» и «масштабирование / степени свободы» для t-распределения?
Следующий код часто приводит к ошибкам «сбой оптимизации».
library(MASS)
fitdistr(x, "t")
Нужно ли сначала масштабировать х или преобразовать в вероятности? Как лучше это сделать?
r
distributions
maximum-likelihood
fitting
robust
user12719
источник
источник
Ответы:
fitdistr
использует методы максимального правдоподобия и оптимизации, чтобы найти параметры данного распределения. Иногда, особенно для t-distribution, как заметил @ user12719, оптимизация в виде:не удается с ошибкой.
В этом случае вы должны помочь оптимизатору, указав начальную точку и нижнюю границу, чтобы начать поиск оптимальных параметров:
Обратите внимание,
df=3
это ваша лучшая догадка о том, какойdf
может быть «оптимальность» . После предоставления этой дополнительной информации ваша ошибка исчезнет.Несколько отрывков, которые помогут вам лучше понять внутреннюю механику
fitdistr
:...
источник
Давайте попробуем некоторые симуляции:
Отображение оценки очень нестабильно (глядя на гистограмму, значительная часть оценочных значений находится на верхнем пределе, заданном для оптимизации 200).
Повторяя с большим размером выборки:
что намного лучше, но среднее значение все еще намного выше истинного значения 2,5.
Затем помните, что это упрощенная версия реальной проблемы, где также необходимо оценить параметры местоположения и масштаба.
источник
В справке для fitdistr есть этот пример:
указывая, что вам просто нужно значение для df. Но это предполагает стандартизацию.
Для большего контроля они также показывают
где параметры будут m = среднее значение, s = стандартное отклонение, df = степени свободы
источник
\mu
и\sigma
хорошо. +1 давно, кстати.df
ошибки является причиной ошибки, и правильный ответ должен дать какой-то рецепт для ее обнаружения.df=9
это хорошо в их примере и не имеет значения здесь.