Как сделать регресс, который никогда не стоит недооценивать, но может переоценивать? - PullRequest
1 голос
/ 13 октября 2019

Допустим, я делаю ИИ, который предсказывает, сколько полицейских машин необходимо для чрезвычайной ситуации, используя множественную регрессию. При использовании линейной регрессии она переоценивает половину времени и недооценивает другую половину. Но я не могу недооценивать, но это несколько нормально, если переоценивает. Какой метод я должен использовать, чтобы предотвратить это?

(я использую Python кстати ...)

1 Ответ

0 голосов
/ 14 октября 2019

Вы не можете сделать регрессию, которая никогда не будет недооцениваться, но может переоценить .

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

То, что вы можете получить, это, например, модель, которая имеет тенденцию переоценивать. Например, вы можете на основе отклонения ваших целей рассчитать коэффициент, который вы добавляете к количеству необходимых автомобилей, чтобы ваша модель не была занижена в X% ваших случаев. Чем выше вы устанавливаете этот коэффициент, тем ближе к 0 процентам ваш уровень недооценки. Конечно, вы должны принять во внимание, что эта процедура вызовет тенденцию переоценки в ваших прогнозах.

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

Всегда может случиться так, что вам позвонят по поводу чего-то небольшого (например, небольшого пожара на чужом дворе), которое превратится во что-то намного большее (взрывающаяся газовая труба) после того, как вы сделаете свой прогноз. И вы не сможете создать ИИ, который учитывает такие сценарии «невозможно предсказать».

...