Sobes.tech
Back to questions
Middle — Senior
8

Можно ли использовать линейную регрессию в условиях смещения выборки?

Companies where asked
СБЕРСБЕР

Answer from AI

sobes.tech AI

Что хотят услышать интервьюеры:

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

Определение:

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

Пример использования:

Например, модель прогнозирует цену жилья по данным только из дорогих районов города. В этом случае линейная регрессия обучится на смещённой выборке и, скорее всего, занизит влияние района и переоценит среднюю цену для всего города. Чтобы снизить проблему, можно добавить данные из всех районов или использовать веса, отражающие долю районов в реальной популяции.

import numpy as np
from sklearn.linear_model import LinearRegression

# Пример: обучаем модель на смещённой выборке
X = np.array([[40], [45], [50], [55], [60]])   # только дорогие районы / большие площади
y = np.array([8, 9, 10, 11, 12])               # цены

model = LinearRegression()
model.fit(X, y)

print(model.coef_, model.intercept_)

Пояснение кода:

Код иллюстрирует не "правильное" решение проблемы смещения, а сам факт обучения линейной регрессии на несимметричной выборке.
Сначала задаются признаки X и целевая переменная y, но данные намеренно взяты из узкого диапазона. Затем LinearRegression() обучается на этих точках и вычисляет коэффициент и свободный член. Если добавить данные из других сегментов рынка, оценка параметров может заметно измениться.

Ключевые моменты:

  • Линейная регрессия сама по себе не устраняет смещение выборки.
  • При смещённой выборке коэффициенты могут быть статистически устойчивыми, но не отражать реальную популяцию.
  • Если смещение известно, его можно частично компенсировать взвешиванием, стратификацией или ресемплингом.
  • Если смещение неизвестно или сильно выражено, модель лучше не считать надёжной без внешней валидации.
  • Качество нужно проверять на данных, максимально близких к целевому распределению.
  • Важно различать смещение данных, смещение оценки и дисперсию модели: это разные проблемы.