Как обрабатывать несуществующие (не пропущенные) данные?

11

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

Например, если вы пытаетесь предсказать время прохождения круга для нескольких бегунов с хорошими точными данными. Среди многих входных данных возможные переменные среди многих:

  1. Входная переменная - Первый бегун (Да / Нет)
  2. Переменная ввода - предыдущий круг (0 - 500 секунд)
  3. Входная переменная - Возраст
  4. Входная переменная - высота. , , много других входных переменных и т. д.

Predictor & Output - прогнозируемое время простоя (0 - 500 секунд)

«Отсутствующая переменная» для «2.Previous laptime» может быть вычислена несколькими способами, но «1. Первый раз 'всегда будет равен N. Но для «НЕТ СУЩЕСТВУЮЩИХ ДАННЫХ» для первого бегуна (где «1. Первый бегун» = Y) какое значение / обработку я должен дать для «2. Предыдущее время круга?

Например, присвоение «2. Предыдущее время прохождения '-99 или 0 может существенно исказить распределение и создать впечатление, что новый бегун показал себя хорошо.

Мои текущие методы обучения используют Логистическую регрессию, SVM, NN и деревья решений

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

Ответы:

6

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

Yi=β0+β1FTRi+β2(NFTRi)×PLTi+...

Вот

  • Yi - ваша входная переменная,
  • ... ваши другие переменные,
  • FTRi - пустышка для первого бегуна,
  • PLTi - время предыдущего круга и
  • F T R i = 0NFTRi является фиктивным для не в первый раз, равным 1, когда и 0 в противном случае.FTRi=0

Тогда модель для начинающих бегунов будет:

Yi=(β0+β1)+...

и для не бегунов первого раза:

Yi=β0+β2PLTi+...
mpiktas
источник
8

Для логистической регрессии, подобранной по максимальному правдоподобию, при условии, что у вас есть (1) и (2) в модели, тогда независимо от того, какое значение «по умолчанию» вы дадите новым участникам для (2), оценка для (1) будет корректироваться соответственно.

X1X2

η=α+β1X1+β2X2+

X2

η=α+β1+

тогда как для существующего бегуна это будет:

η=α+β2X2+

X2

η=α+β199β2+

β199β2=β1

Конечно, если вы не используете максимальное правдоподобие (т. Е. Вы используете какой-либо вид наказания или априор по параметрам), то вы получите другие значения, если не отрегулируете штраф / априор соответственно. И если модель нелинейная (например, SVM, NN и деревья решений), то этот аргумент не работает вообще.

Саймон Бирн
источник