sasstathw3logit

advertisement
1
SAS/STAT. HOME WORK 3. LOGIT
ФИО
DATA
Набор данных Develop.csv – информация о клиентах банка и факте покупки страхового продукта – этот
факт мы будем прогнозировать.
Variable
ATM
ATMAmt
AcctAge
Age
Branch
CC
CCBal
CCPurc
CD
CDBal
CRScore
CashBk
Checks
DDA
DDABal
Dep
DepAmt
DirDep
HMOwn
HMVal
ILS
ILSBal
IRA
IRABal
InArea
Income
Ins
Inv
InvBal
LOC
LOCBal
LORes
MM
Label
ATM
ATM Withdrawal Amount
Age of Oldest Account
Age
Branch of Bank
Credit Card
Credit Card Balance
Credit Card Purchases
Certificate of Deposit
CD Balance
Credit Score
Number Cash Back
Number of Checks
Checking Account
Checking Balance
Checking Deposits
Amount Deposited
Direct Deposit
Owns Home
Home Value
Installment Loan
Loan Balance
Retirement Account
IRA Balance
Local Address
Income
TARGET
Investment
Investment Balance
Line of Credit
Line of Credit Balance
Length of Residence
Money Market
2
Variable
MMBal
MMCred
MTG
MTGBal
Moved
NSF
NSFAmt
POS
POSAmt
Phone
Res
SDB
Sav
SavBal
Teller
Label
Money Market Balance
Money Market Credits
Mortgage
Mortgage Balance
Recent Address Change
Number Insufficient Fund
Amount NSF
Number Point of Sale
Amount Point of Sale
Number Telephone Banking
Area Classification
Safety Deposit Box
Saving Account
Saving Balance
Teller Visits
ОТВЕТ
Как обычно, но со следующими особенностями: файл с кодом – полная программа – ответ на все
пункты (ХОРОШО КОММЕНТИРОВАННАЯ). Документ – с картинками, табличками и пр. и ВЫВОДАМИ.
TASKS
1. Перед началом работы полезно «познакомиться» с данными. Построить базовые статистики
для интервальных переменных и гистограммы для категориальных, посмотреть наличие
пропущенных значений, а также посмотреть сколько «1» встречается в значения
категориальных переменных.
2. Для «честной» проверки качества моделей и их обобщающей способности разделить данные
на два набора: TRAIN – 70% наблюдений и VALIDATE – 30% наблюдений (см. TRAIN_VAL.sas).
Все преобразования нужно проводить над двумя наборами, чтобы они были «идентичны» и, в
конечном итоге, модель, построенную на первом, можно было бы применить ко второму
(проскорить (score) его), а потом сравнить качество. При этом расчет всех параметров
производится на тренировочной выборке, а к валидационной применяется преобразование с
уже рассчитываемым параметром – он не рассчитывается на валидационной выборке.
Например, если мы заменяем пропущенное значение переменной на медиану, то мы считаем
медиану только по данным в тренировочной выборке. Полученное значение ставим вместо
пропущенных значений и в тренировочной выборке и в валидационной. Подход когда вы
сначала провели все преобразования, а потом разбили выборку на две части – в корне
неправильный.
3. Некоторые переменные имеют пропущенные значения – нужно их заменить.
[P1] Например на медиану/среднее, не забыв создать индикаторы пропущенных значений
(см. ex1_missing_imputation.sas).
3
[P2] На практике пропущенные значения заменяют наиболее вероятным, т.е. строят модель,
предсказывающую что должно стоять на месте пропущенного значения, используя остальные
переменные. Попробуйте проделать это для одной из переменных с пропущенными
значениями. Не требуйте многого от этой модели – она может быть простая, особо не
гонитесь за точностью.
[P3] Разбить наблюдения на группы («кластеризовать»), при наличии пропущенного значения,
поставить среднее по группе, куда попало наблюдение (см. ex2_missing_imputation.sas).
4. Рассмотреть методы кодирования категориальных переменных в PROC LOGISTIC (см. тут).
Использовать их для нескольких любых переменных, кроме Branch.
5. Рассмотреть пример (см. ex3_cat_inputs.sas) кодирования переменной Branch методом,
описанным на лекции. Применить его.
6. Variable screening & logit plots.
[P1] Провести первичный одномерный отбор переменных (screening) (см.
ex4_screen_spearman_hoef.sas). (Не будьте очень суровы: одномерный есть одномерный –
переменная может быть незначимой, но в пересечении с какой-то другой окажется очень
полезной.)
[P2] Обратить внимание на линейность зависимости между переменными и целевой
используя logit-графики для оригинальных переменных (см. ex5_logit_plots.sas) и
[P3] для сгруппированных (binned) (см. ex5_logit_plots.sas). Ожидается, что группировка
поможет нам побороть нелинейность (заодно повысить устойчивость модели). Если нужно,
провести подходящие преобразования переменных.
7. Выбрать 3 модели-кандидата, используя три разных метода и набор TRAIN.
8. Сравнить модели используя KS (PROC NPAR1WAY) и ROC (PROC LOGISTIC) на наборах TRAIN и
VALIDATE. Выбрать лучшую. Выбрать наиболее «устойчивую» (значения статистик качества на
TRAIN и VALIDATE примерно равны) (см. ex6_KS.sas и ex7_ROC_comp.sas).
Download