Как объяснить погрешность линейной регрессии?
Для обработки результатов одного эксперимента использую OLS
из statsmodels.regression.linear_model
.
Получил регрессионное уравнение при стандартных условиях опыта, затем ввожу дополнительные факторы в эти условия (некоторые факторы влияют на величину определяемой физической величины 'Y', некоторые нет) и рассчитываю результат, определяя величину возможных погрешностей (знаю, что странно, но поставили на работе такую задачу). Погрешность нахожу относительно значения, рассчитанного по регрессионному уравнению для стандартных условий.
Все результаты прекрасно сходятся с предполагаемыми: если фактор заведомо влияет на условия (и на величины Y
), то появляется большая погрешность, в ином случае (если фактор влияния не оказывает, Y
значимо не меняется) погрешности сравнимы со случайными.
Однако в одном случае, когда фактор не должен влиять, получается большая погрешность в 18 %. В других аналогичных случаях с невлияющими факторами погрешность не более 4%, конкретно этот фактор абсолютно точно не влияет. Все Y
тут меняются в гораздо меньшей степени, чем в случаях с маленькой погрешностью (изменения для Y
являются незначимыми).
Примеры данных могу показать только на картинке: синий - результаты в стандартных условиях; зеленый - результаты с отрицательной погрешностью -1,6% (имеет случайный характер); красный - результаты с проблемным фактором (который не влияет, но дает дикую погрешность), погрешность 18%. Для сравнения желтым показано результаты с посторонним фактором, который заведомо влияет на результаты (погрешность -8,3%). Повтор эксперимента дает ту же ситуацию.
Для двух десятков других результатов без влияния каких-либо посторонних факторов расчеты верны (ошибка не более 4%). Уравнение работает хорошо.
Я знаю, что использование условий, отличных от тех, в которых получали данные для регрессионного уравнения, приводит к непрогнозируемым погрешностям. Проблема в том, что этот фактор, с которым возникает погрешность 18%, НЕ влияет на физическую величину и на ее измерение, т.е. такой погрешности не должно быть. Крайне необходимо объяснить, почему алгоритм ее выдает.
Ось Х - расстояние. Ось Y - некая физическая величина.