Перейти к основному содержимому

Обработка целевой переменной

Помимо предобработки признаков можно анализировать и обрабатывать и саму целевую переменную yy. Например, удалять объекты, у которых отклик получился аномально большим или малым.

Также часто случается так, что проще прогнозировать не исходный отклик yy, а некоторую его преобразованную версию g(y)g(y). Например, при построении линейной регрессии может выясниться, что признаки и отклик связаны не линейно, а по экспоненциальному закону.

Тогда нужно нелинейно преобразовывать целевую переменную:

yg(y),y\to g(y),

после чего обучать модель на выборке

{(x1,g(y1),(x2,g(y2),...(xN,g(yN)}.\{(\mathbf{x}_1,g(y_1),(\mathbf{x}_2,g(y_2),... (\mathbf{x}_N,g(y_N)\}.

Во время применения модели её прогнозы нужно возвращать в исходную шкалу изменения отклика:

y^(x)g1(y^(x)),\hat{y}(\mathbf{x}) \to g^{-1}(\hat{y}(\mathbf{x})),

где g1()g^{-1}(\cdot) - обратная функция к g()g(\cdot).

Для откликов, принимающих только положительные значения, популярным преобразованием является логарифмирование и последующее экспоненцирование:

g(u)=ln(u),g1(u)=eu.g(u)=\ln(u),\quad g^{-1}(u)=e^u.

Более общий способ - подобрать такое преобразование целевой переменной, при котором отклик становится распределённым по нормальному закону распределения.

Если F()F(\cdot) - функция распределения yy, а Φ()\Phi(\cdot) - функция распределения стандартного нормального распределения, то преобразование Φ1(F(y))\Phi^{-1}(F(y)) будет монотонным, а преобразованный таким образом отклик - нормально распределённым со средним 0 и дисперсией 1. Такое преобразование реализовано в библиотеке sklearn.