Степени свободы (D_f , C) – это количество параметров (точек контроля) Модели (Model). Они указывают количество независимых значений, которые могут изменяться в ходе анализа без нарушения каких-либо ограничений.
Пример.
- Рассмотрим выборку данных, состоящую для простоты из пяти положительных целых чисел. Значения могут быть любыми числами без известной связи между ними. Эта выборка данных теоретически должна иметь пять степеней свободы.
- Четыре числа в выборке - это {3, 8, 5 и 4}, а среднее значение всей выборки данных равно 6.
- Это должно означать, что пятое число равно 10. Иначе быть не может. У пятого значения нет свободы варьироваться.
- Таким образом, степень свободы для этой выборки данных равна 4.
Формула степени свободы выглядит следующим образом:
где
D_f – степень свободы
N – количество значений
Математически степени свободы часто представляют, используя греческую букву "ню", которая выглядит так: ν. Вы наверняка встретите и такие сокращения: 'd.o.f.', 'dof', 'd.f.' или просто 'df'.
Степени свободы в статистике
Степени свободы в статистике – это количество значений, используемых при вычислении переменной.
Степени свободы = Количество независимых значений - Количество статистик
Пример. У нас есть 50 независимых значений, и мы хотим вычислить одну-единственную статистику "среднее". Согласно формуле, степеней свободы будет 50 - 1 = 49.
Степени свободы в Машинном обучении
В прогностическом моделировании, степени свободы часто относятся к количеству параметров, включая данные, используемые при вычислении ошибки модели. Наилучший способ понять это – рассмотреть модель линейной регрессии.
Рассмотрим модель линейной регрессии для Датасета (Dataset) с двумя входными переменными. Нам потребуется один коэффициент в модели для каждой входной переменной, то есть модель будет иметь еще и два параметра.
где
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
Понравилась статья? Поддержите нас, поделившись статьей в социальных сетях и подписавшись на канал. И попробуйте наши курсы по Машинному обучению на Udemy.