Могу ли я использовать множественную регрессию, когда у меня смешаны категориальные и непрерывные предикторы?

12

Похоже, вы можете использовать кодирование для одной категориальной переменной, но у меня есть две категориальные и одна непрерывная переменная предиктора. Могу ли я использовать множественную регрессию для этого в SPSS и если да, то как? Благодарность!


источник
Я уверен, что вы можете , но я боюсь, я понятия не имею, как !
OneStop
Я бы предложил ввести что-то вроде регрессии в справочную документацию, которая поставляется с SPSS. Должен быть хлеб с маслом для любого пакета статистики
probislogic
Я не знаю, что вы подразумеваете под кодированием одной категориальной переменной. Можете ли вы привести пример в синтаксисе? Ваша зависимая переменная непрерывна или категорична?
Энди W

Ответы:

8
  1. Если это вопрос о синтаксисе SPSS, то ответ просто помещает категориальную переменную, закодированную соответствующим образом, в список переменных для «независимых переменных» вместе с непрерывным.
  2. По статистике: ваша категориальная переменная двоичная? Если это так, вам нужно использовать фиктивный или другой действительный код контраста. Если он не двоичный, ваша категориальная переменная - порядковая или номинальная? Если номинально, то опять же, вы должны использовать некоторую контрастную стратегию кода - в действительности моделирующее влияние каждого уровня переменной на результат или «зависимую» переменную. Если категориальная переменная является порядковой, то, скорее всего,разумная вещь, которую нужно сделать, это ввести ее в модель как есть, как и в случае с непрерывной предикторной (то есть «независимой») переменной. В этом случае вы предполагаете, что приращения между уровнями переменной категориального предиктора («независимого»); только в редких случаях это будет ошибкой, но когда это так, вы должны снова использовать контрастный код и смоделировать влияние каждого уровня. Этот вопрос возникает на этом форуме довольно часто - вот хороший анализ
  3. Как обрабатывать недостающие данные, на мой взгляд, совершенно отдельный вопрос. Насколько я понимаю, парное удаление не рассматривается как правильный подход для многомерной регрессии. Listwise довольно распространен, но может также повлиять на результаты и, конечно, позор. Многократное вменение - вещь прекрасная.
dmk38
источник
У меня вопрос к DMK38. Выше вы пишете, что можно добавить категориальную переменную в модель как есть, когда она порядковая. Я рад прочитать это ;-) У вас есть хороший источник, который тоже упоминает об этом, чтобы я мог добавить его в свою статью? Большое спасибо за ваш ответ! Лилиан
Лилиан Янс-Бекен
1
@ LilianJans-Beken: См. Непрерывную зависимую переменную с порядковой независимой переменной и логистической регрессией и порядковыми независимыми переменными . Возможно, вы не захотите переходить к более сложным методам, но учтите, что, даже если вы с радостью рассматриваете предиктор с интервалом, ограничивать его линейными отношениями с ответом не нужно. И не чувствуйте себя обязанным предполагать равные интервалы между смежными уровнями, если что-то еще кажется более разумным.
Scortchi - Восстановить Монику
2

Вы определенно можете, следуя тому же методу, который вы использовали бы для первого категориального предиктора. Создайте фиктивные переменные так же, как и для первой такой переменной. Но часто проще использовать команду SPSS Unianova. Вы можете посмотреть это в любом печатном или pdf'd руководстве по синтаксису, или вы можете получить к нему доступ через Анализ ... Общая линейная модель ... Одномерный.

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

rolando2
источник
1
@ rolando - хороший ответ. При этом отсутствие парных подходов, как правило, приводит к путанице при сравнении эффектов, поскольку они основаны на различном количестве наблюдений. Может быть что-то иметь в виду.
richiemorrisroe
Я думаю, что ваше немного запутанное, попарное отсутствие имеет значение только в том случае, если вы используете совершенно отдельные модели (например, при использовании пошаговой процедуры выбора модели). Если вы вводите все переменные в модель, она по-прежнему отбрасывает пропущенные значения в списке.
Энди У
@ richiemorrisroe - согласен, стоит иметь в виду. @ Andy W - только что подтвердил в SPSS, что при использовании только принудительного ввода пропуски по парам и пропуска по спискам дают разные результаты во всех отношениях, в том числе разные значения df.
rolando2
Я все еще думаю, что вы сбиты с толку, как SPSS может возвращать различные наборы результатов, объявляя пропущенные попарно, если он не составляет значения для пропущенных данных? Вот пример использования смоделированных данных, которые я разместил в текстовом файле, dl.dropbox.com/u/3385251/SPSS_missing_Listwise_vs_Pairwise.txt . В настоящее время я отклонил ваш ответ, поскольку весь этот разговор о том, как команда регрессии обрабатывает пропущенные данные, сбивает с толку, не имеет ничего общего с первоначальным вопросом ОП и, вероятно, вводит в заблуждение.
Энди W
1

Простой способ превратить категориальные переменные в набор фиктивных переменных для использования в моделях в SPSS - это использовать синтаксис do repeat. Это проще всего использовать, если ваши категориальные переменные имеют числовой порядок.

*making vector of dummy variables.
vector dummy(3,F1.0).
*looping through dummy variables using do repeat, in this example category would be the categorical variable to recode. 
do repeat dummy = dummy1 to dummy3 /#i = 1 to 3.
compute dummy = 0.
if category = #i dummy = 1.
end repeat.
execute. 

В противном случае вы можете просто запустить набор операторов if для создания ваших фиктивных переменных. Моя текущая версия (16) не имеет встроенной возможности автоматически задавать набор фиктивных переменных в команде регрессии (как вы можете это сделать в Stata с помощью команды xi ), но я не удивлюсь, если это будет доступно в более новой версии. Также обратите внимание на пункт № 2 dmk38, эта схема кодирования принимает номинальные категории. Если ваша переменная имеет порядковый номер, можно использовать больше усмотрения.

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

Энди У
источник