Вы подписаны на Машинное обучение доступно
Отлично! завершите оплату для полного доступа к Машинное обучение доступно
Снова приветствуем Вас! Вы успешно авторизовались
Успех! Аккаунт активирован, и Вы имеете полный доступ к контенту.
Степени свободы (Degrees of Freedom)

Степени свободы (Degrees of Freedom)

Степени свободы (Df, C) – это количество параметров (точек контроля) Модели (Model). Они указывают количество независимых значений, которые могут изменяться в ходе анализа без нарушения каких-либо ограничений.

Пример.

  • Рассмотрим Выборку (Sample) данных, состоящую для простоты из пяти положительных целых чисел. Значения могут быть любыми числами без известной связи между ними. Эта выборка данных теоретически должна иметь пять степеней свободы.
  • Четыре числа в выборке - это {3, 8, 5 и 4}, а среднее значение всей выборки данных равно 6.
  • Это должно означать, что пятое число равно 10. Иначе быть не может. У пятого значения нет свободы варьироваться.
  • Таким образом, степень свободы для этой выборки данных равна 4.

Формула степени свободы выглядит следующим образом:

$$D_f = N - 1$$

где

D_f – степень свободы

N – количество значений

Математически степени свободы часто представляют, используя греческую букву "ню", которая выглядит так: ν. Вы наверняка встретите и такие сокращения: 'd.o.f.', 'dof', 'd.f.' или просто 'df'.

Степени свободы в статистике

Степени свободы в статистике – это количество значений, используемых при вычислении переменной.

Степени свободы = Количество независимых значений - Количество статистик

Пример. У нас есть 50 независимых значений, и мы хотим вычислить одну-единственную статистику "среднее". Согласно формуле, степеней свободы будет 50 - 1 = 49.

Степени свободы в Машинном обучении

В прогностическом моделировании, степени свободы часто относятся к количеству параметров, включая данные, используемые при вычислении ошибки модели. Наилучший способ понять это – рассмотреть модель линейной регрессии.

Рассмотрим модель линейной регрессии для Датасета (Dataset) с двумя входными переменными. Нам потребуется один коэффициент в модели для каждой входной переменной, то есть модель будет иметь еще и два параметра.

$$\hat{y} = x_1 * β_1 + x_2 * β_2$$

где

y – целевая переменная
x_1, x_2 – входные переменные
β_1, β_2 – параметры модели

Эта модель линейной регрессии имеет две степени свободы, потому что есть два параметра модели, которые должны быть оценены на основе обучающего датасета. Добавление еще одного столбца к данным (еще одной входной переменной) добавит модели еще одну степень свободы. Сложность обучения модели линейной регрессии описывается степенью свободы, например, "модель четвертой степени сложности" означает наличие четырех входных переменных, а также степень свободы, равную четырем.

Степени свободы для ошибки линейной регрессии

Количество обучающих примеров имеет значение и влияет на количество степеней свободы регрессионной модели. Представьте, что мы создаем модель линейной регрессии на базе датасета, состоящего из ста строк.

Сравнивая предсказания модели с реальными выходными значениями, мы минимизируем ошибку. Итоговая ошибка модели имеет одну степень свободы для каждого ряда за вычетом количества параметров. В нашем случае ошибка модели 98 степеней свободы (100 рядов - 2 параметра).

Итоговые степени свободы для линейной регрессии

Конечные степени свободы для модели линейной регрессии рассчитываются как сумма степеней свободы модели плюс степени свободы ошибки модели. В нашем примере это 100 (2 степени свободы модели + 98 степеней свободы ошибки). Как вы уже заметили, степеней свободы столько, сколько рядов в датасете.

Теперь рассмотрим набор данных из 100 строк, но теперь у нас есть 70 входных переменных. Это означает, что модель имеет еще и 70 коэффициентов, что дает нам d.o.f. ошибки, равной 30 (100 строк - 70 коэффициентов). d.o.f. самой модели по-прежнему равен ста.

Отрицательные степени свободы

Что происходит, когда у нас больше столбцов, чем строк данных? Отрицательные значения вполне допустимы здесь. Например, у нас может быть 100 строк данных и 10 000 переменных, к примеру, маркеры генов для 100 пациентов. Следовательно, модель линейной регрессии будет иметь 10 000 параметров, то есть модель будет иметь 10 000 степеней свободы.

Тогда степени свободы рассчитываются следующим образом:

Степень свободы модели = Количество независимых значение - Количество параметров = 100 - 10 000 = -9 900

В свою очередь, степени свободы модели линейной регрессии будут следующими:

Степени свободы модели линейной регрессии  = Степени свободы модели - Степени свободы ошибки модели = 10 000 - 9 900 = 100

Фото: @mickeyoneil