2014-02-05 2 views
2

Мне сообщили, что лучше всего заказывать категориальные переменные, если это необходимо (например, короткие меньше среднего, чем длинные). Мне интересно, каково конкретное преимущество рассмотрения категориальной переменной как упорядоченной, а не простой категоричной, в контексте моделирования ее как объясняющей переменной? Что это означает математически (в удобное время!)?Есть ли преимущество при заказе категориальной переменной?

Большое спасибо!

+0

Хороший вопрос - надеюсь, кто-то сможет дать исчерпывающий ответ. Отчасти это связано с тем, как категориальные переменные («факторы» в R) представлены целыми числами. Поэтому 'c (« Small »,« Small »,« Small »,« Medium »,« Large »,« Large »)' будет представляться 'c (1,1,1,2,3,3)' внутренне. –

ответ

2

Среди прочего, это позволяет сравнивать значения из этих факторов:

> ord.fac <- ordered(c("small", "medium", "large"), levels=c("small", "medium", "large")) 
> fac <- factor(c("small", "medium", "large"), levels=c("small", "medium", "large")) 
> ord.fac[[1]] < ord.fac[[2]] 
[1] TRUE 
> fac[[1]] < fac[[2]] 
[1] NA 
Warning message: 
    In Ops.factor(fac[[1]], fac[[2]]) : < not meaningful for factors 

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

Упорядоченные факторы отличаются от факторов только в их класс, но методы и функции подгонки модели относятся к двум классам совершенно по-другому.

но у меня будет t o позвольте кому-то, знакомому с этими вариантами использования, предоставить подробную информацию об этом.

1

Вы должны использовать порядковые данные только в том случае, если это имеет смысл с точки зрения данных (i.e. данные естественно упорядочены, как в случае малых, средних и больших).

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

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

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

0

Самое полезное различие заключается в отображении результатов. Если у нас есть уровни с низким, средним и высоким уровнем и создайте соответствующий упорядоченный множитель, тогда ящики, створки, таблицы и т. Д. Будут отображать результаты в порядке низких, средних и высоких. Но если мы создадим неупорядоченный множитель и поместим его по умолчанию, то графики/таблицы будут помещать вещи в порядок высокий, низкий, средний; что имеет меньшее значение.

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

+2

re: ваш первый абзац, вы все равно можете получить ящики и т. Д., Которые будут «упорядочены», указав порядок уровней факторов (т. Е. Для этого вам не нужно использовать «заказываемый»). – BrodieG

+1

IIRC 'lm' (и другие функции регрессии, такие как lme) используют полиномиальные контрасты для упорядоченных факторов, но у меня была возможность делать регрессию с упорядоченными факторами только один раз. Но я помню, что это было совершенно прямолинейно и легко интерпретировать. – Roland

Смежные вопросы