Лекция 11. Программирование на языке SAS. Элементы стат. анализа (Лекции 2015)
Описание файла
Файл "Лекция 11. Программирование на языке SAS. Элементы стат. анализа" внутри архива находится в папке "Лекции 2015". PDF-файл из архива "Лекции 2015", который расположен в категории "". Всё это находится в предмете "(ппп соиад) (sas) пакеты прикладных программ для статистической обработки и анализа данных" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
Программирование на языке SASЛекция 11 (элементы стат. анализа)Авторы материалов:Петровский Михаил (ВМК МГУ, SAS Russia/CIS), michael@cs.msu.su1Выбросы и влиятельные наблюдения2Статистики для обнаружения выбросов ивлиятельных наблюденийRSTUDENT остаткиоцениваются остатки после удалениянаблюдения из выборкиhi =()iiLeverageОценка удаленности наблюдения отосновного «облака»Cook’s DОценивает общее изменение впараметрах модели после удалениянаблюдения.DFFITSОценивает изменение в прогнозе послеудаления наблюдения.b j b j (i )DFBETAsDFBETA j ( i ) ˆ (b j )оценивает изменение в каждомпараметре после удаления наблюденияCOVRATIOоценивает изменениеразброса оценки параметровпосле удаления наблюденияs(2i ) X (i ) X (i ) 1COVRATIOi 1s 2 X X Пороговые значения статистик дляобнаружения выбросовЧто делать?1.
Проверить данные на предмет ошибок и артифактов2. Проверить адекватность модели3. Оценить робастность модели, построив ее с участием и без участиявыбросов4. Использовать робастные регрессии и функции потерьПоиск выбросов и влиятельныхнаблюденийПоиск выбросов и влиятельныхнаблюденийНелинейные зависимости1.2.3.Нелинейная регрессия PROC NLIN–Необходимо задать уравнение регрессии (отбора признаков нет)–Результат зависит от метода оптимизации и начальногоприближенияdПолиномиальная регрессия PROC REGyˆ w0 wk x kk 1–Задать в явном виде (экспоненциальный рост числа членовполинома)–возможно с автоматическим отбором членов полиномапошаговыми методамиНепараметрические регрессии (сплайны PBSPLINE и локальныеPROC LOESS)–Требуется хранение как минимум части тренировочного набора(иногда большой и даже всей)–Не устойчивы к проклятию размерностиНелинейная регрессия с PROC NLINСтандартизация нужныхпеременныхЗаполнение частинаборы как тестового(для графика)Метод оптимизацииУравнение ( MLP)инициализация8Визуализация полученной модели9Полиномиальная регрессия с PROC REGСохранениемоделей в наборданных«ручное» формирование полинома10Сохранение иерархии переменных вполиномиальных моделяхПри использовании пошаговых методов для сохранения иерархии необходимо:• чтобы член полинома более высокого порядка входил в финальную модельтолько если составляющие его члены более низкого порядка также были вмодели.• Процедуры, которые мы пока рассматривали автоматически этого делать немогут (но есть процедуры, которые могут)Можно реализовать «руками» в несколько этапов:1.
Строим регрессию с полиномом порядка k (начиная с k=1)2. Отбрасываем пошаговым методов ненужные члены полинома3. Из оставшихся «вручную» формируем члены полинома для k+1, переходим нашаг. 14. Пока не дойдем до нужной степени полинома11Визуализация полученной моделиФильтрация лучшей моделиЛокальная регрессия с PROC LOESSНабор данных дляприменения моделивыводится в видетаблицы13Визуализация полученной модели«перехват» таблицыПриведение имен всоответсвие для шаблонаПочему???14Рассматриваемые моделиПредикторНепрерывныйНепрерывныйДисперсионныйанализ (ANOVA)РегрессияКовариационныйнаименьшиханализ (ANCOVA)квадратов (OLSRegression)КатегориальныйЛогистическаярегрессия итаблицы частотЛогистическаярегрессияОтклик15Непрерывный икатегориальныйКатегориальныйЛогистическаярегрессияАнализ таблиц частотЦели:– Рассчитать частоты, проценты и накопленные проценты.– Распознать наличие ассоциаций между категориальнымипеременным.Ассоциации:– Если зависимость есть, то условное распределение целевойкатегориальной переменной (чатсоты) меняется в зависимости отзначения категориального предиктора1672%28%82%18%72%28%60%40%Таблицы частот• ОдномерныеIncome Frequency Percent Cumulative CumulativeFrequencyPercentHigh1553615536Low1323128767Medium14433431100• Двумерные (кросстаблицы):column 1 column 217…column crow 1cell11cell12…cell1crow 2cell21cell22…cell2c……………row rcellr1cellr2…cellrcPROC FREQ DATA=SAS-data-set;TABLES table-requests </options>;RUN;Таблица частот• Нулевая гипотеза:– Нет связи между пременными«по вертикали» и «погоризонтали»– В нашем случае – распределениетипов кузова производимыхмашин не зависит от страныпроизводителя.• Альтернативная гипотеза:18Нет зависимостиНаблюдаемые частоты = ожидаемым чатсотам– Зависимость есть.Зависимость– В нашем случае – распределение Наблюдаемые частоты ≠ ожидаемым чатсотамтипов кузова производимыхмашин зависит от страныОжидаемая чатсота= (всего по строке*всего по столбцу) /производителявсего по выборкеТест Хи-квадрат• Преверяет гипотезу о наличии связи• P-value показывает степень уверенности в том, что такаязависимость есть• Сила зависимости не измеряется с помощью теста!!!• Зависит от размера выборки• Статисика:19• Число степеней свбоды = (число строк – 1) * (число столбцов - 1)Оценка «силы» ассоциацииотношение шансов• Отношение шансов показывает насколько вероятнее в терминахшансов появления события (определенного значениякатегориального отклика) в одной из групп A (соответсвующейзначению категориального предиктора) по сравнению с другойгруппой B.No AssociationГруппа в числителеимеет более высокиешансыГруппа в знаменателеимеет более высокиешансы наступлениясобытия01Сравнение вероятностей и шансовOutcomeYesNoTotalGroup A602080Group B901010015030180TotalВсего Yes исходовв Group BВсего исходов вGroup BВероятность Yes в Group B=90100=0.921Сравнение вероятностей и шансовOutcomeYesNoTotalGroup A602080Group B901010015030180TotalВероятность Yes вGroup B=0.90Вероятность No вGroup B=0.10Шанс Yes в Group B=0.900.10=922В группе В вероятность события Yes в 9 раз больше чем вероятность NoОтношение шансовOutcomeYesNoTotalGroup A602080Group B901010015030180TotalШанс Yes вGroup A=3Шанс Yes вGroup B=9Отношение шансов, A к B=39=0.3333В группе А шанс получить событие Yes в 3 раза меньше чем в группе B23Пример24Рассматриваемые моделиПредикторНепрерывныйНепрерывныйДисперсионныйанализ (ANOVA)РегрессияКовариационныйнаименьшиханализ (ANCOVA)квадратов (OLSRegression)КатегориальныйЛогистическаярегрессия итаблицы частотЛогистическаярегрессияОтклик25Непрерывный икатегориальныйКатегориальныйЛогистическаярегрессияЛогистическая регрессияОткликПодходЛинейнарегрессиянепрерывныйЛогистическаярегрессиякатегориальныйКатегориальный случай с k категорямисводится к набору бинарных задач:• Каждый против базового (поумолчанию): k-1 уравнений• Каждый против всех (и голосование илиболее сложные схемы): k уравнений• Каждый против каждого (и голосованиеили более сложные схемы) k(k-1)/2уравнение• ECOC схемы (дальше) порядка klog(k)уравнений26Ординальная (порядковая)регрессия моделирует для kкатегорий k уравнений регрессиидля оценки: Pr(Y<=i|x), i=1,…,kError Correcting Output Coding (ECOC)• Предложено в 1995 Dietterich и Bakiri• Идея из теории информации и телекоммуникаций:– В телекоммуникациях: использовать избыточные коды для коррекцииошибок при передачи данных по «зашумленному» каналу– В машинном обучении: использовать избыточное число бинарныхмоделей (кодируется множество классов в супер-классы = группы) дляповышения точности классификации, т.е.
отклик избыточно кодируется•Три этапа в ECOC:– Coding (кодирование): составление кодовой матрицы (coding matrix) и наее основе обучающих выборок для бинарных задач– Learning (обучение): строятся бинарные модели– Decoding (декодирование): прогнозируется отклик (метка класса) наоснове индивидуальных прогнозов бинарных классификаторов и кодовойматрицы.Кодирование в ECOC• Исходная задача с k классами конвертируется в l бинарных подзадач спомощью кодовой матрицыk classesj-th classcodeword12…j…k1+10…0…-12+1-1…-1…0…………………s-10…-1…+1………………l0+1…-1…-1l individualbinary subproblemsM 1,0,1k ls-th binarysub-problem• Каждый j-й класс имеет кодовое слово, соответствующее строке вматрице M• Каждая s-я бинарная задача имеет 3 типа классов :– “positive”: I s y | y Y M ( y, s ) 1– “negative”:– “ignored”:I s y | y Y M ( y, s ) 1I s0 y | y Y M ( y , s ) 0Кодирование в ECOC• “Разреженный” ECOC – общий случай:– “Плотный” ECOC – матрица без 0– “Каждый против всех”:12……k-1k12……k-1k+1-1-1-1-1-1-1+1-1-1-1-1-1-1+1-1-1-1-1-1-1+1-1-1-1-1-1-1+1-1-1-1-1-1-1+1“Каждый против каждого”:12………k12…k-1kk+1…k 2+1-10000+10-1000………………+10000-10+1-10000+10-100………………0000+1-1• Методы кодирования:– Алгебраическая теория кодирования (коды Хэмминга, например)– Задаче-зависимое кодирование: группы задает эксперт или ониформируются на основе корреляций классов в обучающей выборке– Случайные коды: случайные длинные «хорошо разделимые» кодыОбучение в ECOC• l бинарных задач решаются независимо:– s-й бинарный классификатор отделяет s-е “положительные” примеры отs-х “отрицательных, так что s-й тренировочный набор:Z s {( xi , M ( yi , s )) | ( xi , yi ) Z ( yi I s yi I s )} X {1,1}– Бинарный алгоритм используется для решения– Получаем l бинарных классификаторов (l гипотез)таких, чтоf s : X Ybin• Типы бинарного отклика:f1 ( x),..., f l ( x)Ybin {1,1}– Булевый (hard-level):– Вещественный (soft-level): Ybin – Вероятностный :rs ( x) P ( f s ( x) I s | f s ( x) I s I s )Декодирование в ECOC• Процесс прогнозирования:individualbinaryclassifiersoutput vectorf 1 ( x)x0new unclassifieddatacoding matrixclass probabilityestimatesP( y 0 | x0 )f ( x 0 ) ( f 1 ( x 0 ),..., f l ( x 0 ))f s (x)f l (x)12…j…k1+10…0…-12+1-1…-1…0…………………s-10…-1…+1………………l0+1…-1…-1ECOCdecodingmethodBayesrule:arg max p j ( x0 )j{1,...,k }class labely0– Применить все бинарные классификаторы, получить вектор откликов длины l– Применить к нему выбранный метод декодирования и получить прогнозДекодирование в ECOC• На основе расстояний:– Поиск ближайшего к вектору откликов кодового словаoutput vectorf ( x0 ) (0,1,..., 1)12…j…k1+10…0…-1– Используются разные метрики:Хэмминга (hard-level):2+1-1…-1…0…………………s-10…-1…+1………………l0+1…-1…-1the “closest”codewordy0 jpredicted classМинковского (probabilistic):ld H ( f ( x), M ( y )) 1 sgn( M ( y, s) f s ( x)) d L1 (r ( x), M ( y )) s 1– На основе функции потерь– С оценкой вероятности и т.п.ll M ( y, s ) r ( x)s 1sLoss( f ( x), M (r )) lossM ( y, s) f s ( x) s 1Вернемся к бинарным моделямПочему нельзя моделировать вероятность отклика p как непрерывный отклик спомощью линейно регрессии?OLS Reg: Yi=0+1X1i+i•••Если целевая переменнаякатегориальная, как представить ее ввиде числовой?Если целевая закодирована (1=Yes and0=No) а результат модели 0.5 или 1.1или -0.4, что это означает?Если переменная имеет только двазначения (или несколько), имеет лисмысл требовать постоянствадисперсии или нормальностиошибок?Linear Prob.