Найти тему

5 причин, почему числа лучше, чем текст

Оглавление

Мы часто и много писали о том, как правильно кодировать данные в базе. Но проблема не теряет своей актуальности! До сих пор нередко встречаются варианты заполнения баз данных текстовыми обозначениями. Иногда тому есть объективные причины. Например, если данные берутся напрямую из национальных регистров или медицинских информационных систем, где показатели выражены текстом. Но чаще всего авторы просто не задумываются о тех сложностях, которые несут с собой текстовые обозначения в базе данных. Тем более, статистические программы позволяют их анализ.

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

Итак, если Вы решили анализировать категориальные показатели, где категории обозначены текстом, например:

  • «Наличие ИБС» задано как «наличие» и «отсутствие» (а не 1 и 0),
  • «Степень тяжести» задана как «легкая», «средняя» и «тяжёлая» (а не 1, 2 и 3),

то приготовьтесь к следующим потенциальным неопрятностям:

1. Появление новых категорий

У этих переменных вдруг могут появиться новые категории. Причина - разное написание слова, каждое из которых программа воспримет как отдельную категорию. И вот кроме «мужской» появляются такие варианты пола, как «муж», «муж.», «М», «м» и т.д. Особенно коварны слова с лишними пробелами, т.к. «муж» и «муж » для программы - разные категории, а разглядеть разницу между ними практически невозможно.

2. Включение пропущенных значений в анализ

Если у переменной есть пропущенные значения, то мы ожидаем, что пациенты с пропущенными значениями в анализ включаться не будут. А они включаются! При этом пропущенные значения у текстовой переменной становятся еще одной категорией и, например, вместо сравнения пациентов с наличием и отсутствием ИБС мы получим сравнение пациентов с наличием ИБС, отсутствием ИБС и с пропущенными значениями.

3. Неопределенность целевой категории

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

  • Например, если мы хотим сравнить частоту осложнений, то у переменной с категориями «отсутствие осложнений» и «наличие осложнений» целевой будет являться «наличие осложнений».
  • А вот если мы оцениваем вероятность неосложненного течения, то целевой будет являться категория «отсутствие осложнений».

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

А вот если значения категорий обозначить текстом, то целевая категория определяется алфавитным порядком. Например, в паре слов «наличие» и «отсутствие», первой по алфавиту идёт буква Н, потом О. Целевой чаще всего будет считаться категория, начинающаяся со старшей буквы, то есть «отсутствие». Чтобы изменить ее на «наличие», придётся лезть в настройки анализа, если они ещё есть. Иначе придётся переименовывать категории. Другими словами, на пустом месте создаётся какая-то глупая проблема, с которой придётся повозиться.

4. Неправильное ранжирование порядковых переменных

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

5. Отсутствие возможности проводить вычисления

С числами, в отличие от текста, можно делать арифметические действия. И это позволит сделать разведочный анализ категориальных данных ещё на этапе Excel. Например, для бинарного показателя, закодированного как 1 - наличие признака, 0 - отсутствие признака:

  • для расчёта числа пациентов с наличием признака - найдём сумму значений показателя,
  • для расчёта процентной доли пациентов с наличием признака - найдём среднее значение показателя,
  • для расчёта стандартной ошибки процентной доли - найдём ее по формуле

КОРЕНЬ(СРЗНАЧ(X)*(1-СРЗНАЧ(Х))/СЧЁТ(Х))

Можно придумать и другие примеры.

Этот текст, надеюсь, убедит всех скептиков, что числами кодировать категориальные показатели лучше, чем текстом!