Введение:

Здравствуйте, ребята, в этой статье я продолжаю оставшиеся методы вменения отсутствующих значений.

Ссылка на часть 1: https://medium.com/@banarajay/missing-value-imputation-basics-to-advance-595c92e35e94

ссылка на часть 2: https://medium.com/@banarajay/missing-value-imputation-basics-to-advance-part-2-3eefededa19

Пожалуйста, прочитайте две статьи выше, чтобы лучше понять.

Вменение:

Вменение — это метод, используемый для замены отсутствующих данных некоторым замещающим значением, чтобы сохранить большую часть данных/информации набора данных.

Через мы можем уменьшить недостатки методов удаления, что означает

1. Чтобы избежать уменьшения размера набора данных.

2. Также избегайте потери информации.

Два типа методов вменения:

1. Однократное вменение

2. множественное вменение

1.Одиночное вменение:

При одиночном вменении генерируется одно вмененное значение для каждого пропущенного наблюдения.

Различные типы одиночного вменения в зависимости от типов переменных:

1.Для вменения числовой переменной:

Существующие методы, основанные на ценности:

1.Минимальное вменение

2.Максимальное вменение

Методы, основанные на статистических значениях:

1. Среднее вменение

2. Среднее вменение

3. Конец распределения хвоста

4.Интерполяция

Методы на основе моделей:

1. Вменение регрессии

2. Для вменения категориальной переменной:

1. Используйте алгоритм классификации для определения категориальных значений.

3. Для вменения как категории, так и числового значения одновременно:

Существующие методы, основанные на ценности:

1.предыдущее вменение

2.Следующее вменение

3. Вменение фиксированного значения или вменение произвольного значения или вменение постоянного значения

Методы, основанные на статистических значениях:

1. Вменение методом случайной выборки

2. Наиболее частое вменение стоимости

Методы на основе моделей:

1. Алгоритмы регрессии и классификации используются для вменения

2.КНН

4. Другие методы:

1.Добавление индикатора «Отсутствует»

1.Для вменения числовой переменной:

1.Существующие методы, основанные на ценности:

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

1.Минимальное вменение:

Как следует из названия, для вменения используется минимальное значение переменной.

2. Максимальное вменение:

Как следует из названия, для вменения используется максимальное значение переменной.

Преимущества как для максимума, так и для минимума:

1. Простота реализации.

2.Быстрый способ получения полного набора данных.

Недостатки как максимального, так и минимального:

1. Это искажает или изменяет исходное распределение переменных и приводит к изменению дисперсии.

2. Из-за изменения дисперсии искажается ковариация с остальными переменными.

3.so Чем выше процент пропущенных значений, тем выше искажение.

4. Это может быть шанс сформировать выбросы.

2. Методы, основанные на статистических значениях:

1. Среднее вменение:

Как следует из названия, для вменения используется среднее значение переменной.

Предположение:

1. Данные - это MAR (моя интуиция - это MCAR и NMAR).

2. Данные должны следовать нормальному распределению, поскольку среднее значение допустимо для нормального распределения, предположим, если у нас есть асимметричное распределение,
в то время среднее значение недействительно.

Преимущества:

1. Простота реализации.

2.Быстрый способ получения полного набора данных.

3. Предотвратите потерю информации.

Недостатки:

1. Это искажает или изменяет исходное распределение переменных и приводит к изменению дисперсии.

2. Из-за изменения дисперсии искажается ковариация с остальными переменными.

3.so Чем выше процент пропущенных значений, тем выше искажение.

2. Среднее вменение:

Как следует из названия, для вменения используется среднее значение переменной.

Предположение:

1. Данные - это MAR (моя интуиция - это MCAR и NMAR).

2. Если данные следуют асимметричному распределению в то время, когда мы можем их использовать, поскольку среднее значение действительно для нормального распределения, предположим, что если у нас есть асимметричное распределение, в то время мы можем использовать средний.

Преимущества:

1. Простота реализации.

2.Быстрый способ получения полного набора данных.

3. Предотвратите потерю информации.

Недостатки:

1. Это искажает или изменяет исходное распределение переменных и приводит к изменению дисперсии.

2. Из-за изменения дисперсии искажается ковариация с остальными переменными.

3.so Чем выше процент пропущенных значений, тем выше искажение.

3.Конец распространения хвоста:

Как следует из названия, в методе распределения хвостов отсутствующие значения заменяются значениями, которые существуют в конце распределения.

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

Как получить хвостовое значение?

Для получения хвостового значения переменной есть два типа:

1.Если переменная следует нормальному распределению, то использует

хвостовое значение = верхний предел = среднее значение переменной + 3 (стандартное значение переменной)

2. Если переменная следует асимметричному распределению, используется правило близости IQR.

хвостовое значение = верхний предел = 75-й квантили + IQR * 1,5

тогда как

IQR - это межквантильный диапазон (IQR) = 25-й квантиль — 75-й квантиль

so ,

Для нормального распределения

Нижний предел = среднее значение переменной — 3 (стандартное значение переменной)

За неравномерное распределение.

Нижний предел = 25-й квантили + IQR — 1,5

поэтому они называются нижним хвостовым значением для соответствующего распределения.

Но в хвосте распределения нас интересуют более высокие хвостовые значения, поэтому только мы берем верхние предельные значения.

Предположение:

1. Данные - это NMAR (моя интуиция - это MCAR и NMAR)..

Преимущества:

1. Простота реализации.

2.Быстрый способ получения полного набора данных.

3. Предотвратите потерю информации.

Недостатки:

1. Это искажает или изменяет исходное распределение переменных и приводит к изменению дисперсии.

2. Из-за изменения дисперсии искажается ковариация с остальными переменными.

3.so Чем выше процент пропущенных значений, тем выше искажение.

4.Интерполяция:

Есть много типов интерполяции, некоторые из них

1.линейная интерполяция.

2.полиномиальная интерполяция.

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

3. Методы на основе моделей:

1. Импутация регрессии:

Как следует из названия, он использует модель регрессии для вменения пропущенных значений.

Шаги:

1. Сначала мы берем первую отсутствующую переменную в качестве зависимой переменной.

2. Остальные переменные как независимые переменные, предположим, если в независимой переменной есть какое-либо отсутствующее значение, мы временно заполняем
отсутствующие значения в независимой переменной, используя среднее, среднее (любой метод вменения, который мы можем использовать, но это временно )и т. д….

3. Затем удалите строку/точки данных независимой переменной на основе отсутствующего значения в зависимой переменной, и результирующий кадр данных без строки пропущенных значений считается «данными обучения».

4. Удаленные строки/точки данных независимой переменной на основе отсутствующего значения в зависимой переменной формируются как «тестовые данные».

5. Затем мы строим модель регрессии (любая модель регрессии, такая как LinearRegression, DecisiontreeRegressor и т. д.), используя данные Train.

6. Затем, используя обученную модель, предсказать/вменить зависимую переменную/отсутствующее значение тестовых данных, предоставив тестовые данные обученной модели.

7. Наконец, сбросить временное заполненное значение до отсутствующих значений в независимой переменной.

8. Снова возьмите следующую отсутствующую переменную, повторите описанный выше процесс.

Предположение:

1.Данные MAR.

2.Затем предположим используемую вами модель.

Преимущества:

1. Он меньше искажает или изменяет исходное распределение переменных и приводит к меньшему изменению дисперсии.

2. Из-за меньшего изменения дисперсии ковариация с остальными переменными также меньше искажается.

3. Чем выше процент пропущенных значений, тем меньше искажение.

Недостатки:

  1. Это занимает больше времени.

2.Для вменения категориальной переменной:

1. Используйте алгоритм классификации для вменения категориальных значений.

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

Та же самая процедура вменения регрессии также следует за классификацией для выполнения вменения.

3. Для вменения как категории, так и числового значения одновременно:

1.Существующие методы, основанные на ценности:

1.предыдущее вменение значения:

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

Он в основном используется для «проблемы временных рядов».

2.Следующее вменение значения:

Как следует из названия, отсутствующее значение вменяется с использованием следующего значения отсутствующего значения в переменной.

Он также в основном используется для «проблемы временных рядов».

3. Вменение фиксированного значения или вменение произвольного значения:

Как следует из названия, вменение произвольного значения состоит в замене отсутствующих значений в переменной с использованием заданного произвольного значения.

Здесь произвольное значение — это любое значение, но необязательное в значениях переменной. Но мы также можем выбрать значение из значений
переменной.

Eg:

мы можем выбрать любое значение, например -11, -99,999,0,56,678 или существующее значение в этой переменной.

Предположение:

Данные представляют собой NMAR и MCAR.

Преимущества:

1.легко реализовать.

2. Это быстрый способ получить полный набор данных.

3. предотвратить потерю данных.

4. хорошо работает с небольшим набором данных и прост в реализации.

Недостатки:

1.Добавление новой категории\значения в модель, что приводит к снижению производительности.

2. Это искажает или изменяет исходное распределение переменных и приводит к изменению дисперсии.

3. Из-за изменения дисперсии искажается ковариация с остальными переменными.

4.so Чем выше процент пропущенных значений, тем выше искажение.

5. Это может привести к выбросу.

2. Методы, основанные на статистических значениях:

1. Импутация методом случайной выборки:

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

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

Предположение:

1.Данные MCAR.

2. Данные нормально распределены (чтобы избежать выбора выбросов).

Преимущества:

1.легко реализовать.

2. Это быстрый способ получить полный набор данных.

3. Он меньше искажает или изменяет исходное распределение переменных и приводит к меньшему изменению дисперсии.

4. Из-за меньшего изменения дисперсии ковариация с остальными переменными также меньше искажается.

5.so Чем выше процент пропущенных значений, тем меньше искажение.

Недостатки:

1. Но когда у нас есть высокое недостающее значение, искажение времени выше.

2. Из-за случайного выбора значения может быть шанс случайного выбора выбросов, если данные содержат выбросы, что приводит к низкой производительности.

2.Наиболее частое вменение значения или режима вменения:

Как следует из названия, он состоит в замене всех отсутствующих значений в переменной с использованием режима или наиболее часто встречающегося значения (категория/число).

Предположение:

1.Данные MCAR.

2. Не более 5% отсутствующего значения в переменной.

Преимущества:

1.легко реализовать.

2. Это быстрый способ получить полный набор данных.

Недостатки:

  1. Может привести к «избыточному представлению» наиболее часто встречающегося ярлыка, если много пропущенных наблюдений.

Проблема в режиме:

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

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

3. Вменение на основе модели:

1.КНН:

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

Алгоритм:

1. Выберите/выберите любое отсутствующее значение, а также обратите внимание на эту строку и переменную выбранного отсутствующего значения и назовите его как R (отсутствует), Var (отсутствует).

2. Затем получите другие значения в R (отсутствует) выбранного отсутствующего значения, назовите его как S (другие значения), это означает, что если i-я ячейка выбрана без значения
, то другие ячейки в этом выбранном отсутствующем значении считаются С.

3. А также выберите No ближайших соседей (n).

4. Затем вычислите расстояние blw S (другие значения) и все остальные строки, используя матрицы расстояний nan_euclidian.

Почему мы не можем использовать euclidean_distance?

Проблема в евклидовом_расстоянии:

Когда у нас есть пропущенные значения, мы не можем использовать евклидово расстояние для вычисления расстояния.

Евклидово расстояние не поддерживает отсутствующие значения в расчете.

Решение:

Чтобы исправить вышеуказанную проблему, мы используем «матрицы наноевклидовых расстояний».

нан_евклидово расстояние:

Матрица nan_euclidean используется для вычисления расстояния между строками при наличии пропущенных значений.

nan_euclidean matrix = sqrt (вес * сумма квадратов разностей с использованием координат, отличных от nan)

здесь,

вес = Общее количество координат/Количество существующих координат

Какова цель веса?

когда мы вычисляем расстояние между S (другие значения) и другой строкой, мы берем только координаты, отличные от nan.

поэтому в некоторых расчетах расстояний есть все координаты S (другие значения) и другой строки в расчете расстояний, а в некоторых не все координаты, что приводит к смещению при расчете расстояний.

Чтобы устранить проблему смещения при расчете расстояния, мы используем веса.

5. Затем выберите n точек данных, которые ближе к отсутствующему значению на основе расстояний, рассчитанных с использованием матрицы nan_euclidean.

6. Затем получите n выбранное значение точки данных в Var (отсутствует)

7. Затем введите отсутствующее значение, вычислив среднее значение, используя n выбранное значение в Var (отсутствует).

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

1.униформа

2.расстояние

1.униформа:

Это похоже на обычный расчет среднего значения, то есть просто взять выбранные значения в var(missing) и вычислить среднее значение, используя выбранные значения.

uniform_imputation = (x1 + x2 + ……+ xn)/n

2.расстояние:

Как следует из названия, мы берем расстояние от выбранной точки данных в расчете среднего значения.

Distance_imputation = ((1/d1) x1 + (1/d2) x2 + ……+ (1/dn) xn)/n

поэтому мы будем придавать большее значение или вес, чтобы заполнить пропущенное значение ближайшей точкой данных.

8.Повторяйте описанные выше шаги, пока не будут введены все недостающие значения.

Предположение:

1.Данные MAR.

Пример. Возьмем набор данных ниже.

var(1) var(2) var(3) var(4)

1. nan nan 5 8

2. нан 3 нан 2

3. 5 2 7 нано

шаг 1: выберите отсутствующее значение, а также соберите информацию о строках и столбцах отсутствующего значения.

В этом случае я выберу отсутствующее значение var (1), а строка выбранного отсутствующего значения равна 2, а столбец - var (1).

Шаг 2: Затем получите другие значения этих пропущенных значений.

в этом случае другие значения этого отсутствующего значения

переменная(2) переменная(3) переменная(4)

3 нан 2

Шаг 3: А также выберите номер ближайших соседей (n).

В этом случае я беру n = 1.

Шаг 4: Затем вычислите расстояние между другими значениями и всеми остальными строками, используя матрицы расстояний nan_euclidian.

вар(2) вар(3) вар(4)

1. нан 5 8

2. 3 нан 2

3. 2 7 5

1.nan_euclidean_distance (2-я строка, 1-я строка):

вар(2) вар(3) вар(4)

1. нан 5 8

2. 3 нан 2

Здесь,

общее количество координат: 3 [(3,нан),(нан,5),(2,8)]

текущие координаты (не нан координаты): 1 [(2,8)]

вес = 3 / 1 = 3

nan_euclidean_distance (2-я строка, 1-я строка) = sqrt (3 * ( 2–8 )²)

= 10.39

2.nan_euclidean_distance (2-я строка, 3-я строка):

вар(2) вар(3) вар(4)

2. 3 нан 2

3. 2 7 5

Здесь,

общее количество координат: 3 [(3,2),(nan,7),(2,5)]

текущие координаты (не нан координаты): 2 [(3,2),(2,5)]

вес = 3 / 2 = 1,5

nan_euclidean_distance(2-я строка, 3-я строка) = (0,33 * (3–2)² + (2–5)²)

= 3.87

Шаг 5: выберите n ближайших соседей.

В этом случае n = 1, поэтому я выбираю 1 ближайшую точку данных из отсутствующего значения на основе расстояния.

В этом случае точка данных 3-й строки находится ближе всего к отсутствующим данным, потому что расстояние между 2-й и 3-й меньше по сравнению с другими.

Шаг 6: Затем получите значения выбранной точки данных в var (отсутствует):

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

поэтому значение выбранного соседа в var(1) равно 5.

Шаг 7: Используя выбранное значение, вычислите среднее значение и выполните вменение.

В этом случае я использую «дистанционный метод».

Но в этом случае у нас есть только одна точка, поэтому мы напрямую используем это значение для вменения.

выбранное значение = (1/3,87) * 5

= 19.35

После вменения:

var(1) var(2) var(3) var(4)

1. nan nan 5 8

2. 19.35 3 нано 2

3. 5 2 7 нано

Шаг 8: Затем снова выполните шаги, выбрав другие значения nan. Поэтому выполняйте этот процесс, пока все значения nan не будут вменены.

ПРИМЕЧАНИЕ. В Var (1) мы берем 2 пропущенных значения, и только для этого мы находим вмененное значение, а не 1-е пропущенное значение в Var (1), нам нужно выполнить вменение для 1-го пропущенного значения отдельно.

Преимущества:

1. Это может быть более точным, чем простое вменение в несколько раз.

Недостатки:

1. Вычислительно обширный, потому что KNN работает, сохраняя весь набор обучающих данных в памяти.

2.KNN довольно чувствителен к выбросам в данных (в отличие от svm).

4. Другие методы:

1. Добавление индикатора «Отсутствует»:

Индикатор отсутствия — это дополнительная бинарная переменная, указывающая, были ли данные пропущены или нет.

Отсутствующий показатель используется вместе с другим вменением.

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

Предположение:

1.Данные NMAR.

Преимущества:

1.легко реализовать.

2. Это быстрый способ получить полный набор данных.

Недостатки:

1. Расширяет возможности.

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