Лекция 12. Программирование на языке SAS. Элементы стат. анализа (1185384)
Текст из файла
Программирование на языке SASЛекция 12 (элементы стат. анализа)Авторы материалов:Петровский Михаил (ВМК МГУ, SAS Russia/CIS), michael@cs.msu.su1Основные предположения линейнойрегрессии– Независимость наблюдений (и ошибок)– Нормальное распределение ошибки с константной дисперсиейε ~ iid N(0,σ2)– Часто возникающие «особенности»:• Несимметричные распределения отклика• Гетероскедастичность• Ограниченная область определения отклика– Что делать?• Явно преобразовывать отклик:• Использовать функцию связи:YE( g(Y) | X )g(E(Y |X ))Преобразование отклика илогнормальная регрессия• Если логнормальное распределение отклика Y, тогда log(Y)– нормальноеMSE, ножелательно навалидационномнаборе• Строим модель для преобразованного отклика:YLog(Y)E[ Log (Y )] = Xβ̂Но чему равно E[Y] ?LogTransformPredictorPredictor ˆ σ2 E[Y ] ≈ exp Xβ +2 3Пример логнормальной регрессии4Обобщенные линейные моделиФункция связи•••••g ( E ( yi )) = β 0 + β1 x1i ++ β k xki = XβРаспределение отклика наблюдений принадлежитэкспоненциальному семейству.
f ( y | θ ) = h( y )c(θ ) exp(t ( y ) ⋅ W (θ ) )Дисперсия зависимой переменной Y – функция от среднего.Xβ моделирует функцию от E(y) (link function – функция связи)Распределение отклика наблюдений может подсказать какуюфункцию связи выбрать (дальше)Пример (лоистическая регрессия):pi p logit( p ) = log 1− p Logit (pi)LogitTransformPredictorf ( y | p ) = p y (1 − p )1− y == (1 − p ) I y exp( y log( p /(1 − p ) )1, y ∈ {0,1}Iy = 0, 8=0G5Predictor5Типовые функции связи дляобобщенных линейных моделей*часто используется функция связи LOG6Параметры положения и разбросаЭкспоненцияальное семество распределений:• Линейная регрессия• Логистическая регрессия• Пуассоновская регрессия• Гамма регрессияРегрессияПараметр положенияПараметр разбросаЛинейнаяµσЛогистическаяp1Пуассоновскаяλ1Гаммаµν7Процедура PROC GENMODPROC GENMOD DATA=SAS-data-set PLOTS=options;CLASS variables;MODEL dependents=independents </ options>…<DIST=keyword LINK=keyword options>;OUTPUT OUT=SAS-data-set keyword=variable…;…RUN;QUIT;• Основные настройки через параметры модели:– DIST= распределение (NORMAL, BINOMIAL, GAMMA, IGAUSSIAN,…)– LINK=функция связи (LOG, LOGIT, PROBIT, IDENTITY, … )– Много дополнительных параметров и настроек (читайте манул),например, можно задавать парметры разброса8Оценка отклоненияПоиск параметров модели• решается задача оптимизации• max loglik с заданным распределением и функцией связиРаспределение Отклонение∑( y − µ (w )) 2NormalQ(w ) =PoissonQ(w ) = 2∑ [ y ln( y / µ (w )) − ( y − µ (w ))]GammaQ(w ) = 2∑ [− ln( y / µ (w )) + ( y − µ (w )) / µ (w )]BernoulliQ(w ) = −2∑ [ y ln(µ (w )) + (1 − y ) ln(1 − µ (w ))]Выбор распределения для обощеннойлинейной модели• В случае гетероскедастичности вместо линейной частоприменяется гамма регрессия (с различными функциями связи)• Гамма распределение:– Асиметричное распределение для положительных значений– Дисперсия пропорциональна квадрату среднего– Хвост «легче» чем у логнормального10Пример оценки распределения отклика11Пример гамма регрессии12Сравнение адекватности различныхмоделейGammaidentityNormalGammalogGammainverse13Формальное сравнение моделейТакже часто используется RMSE=SQRT(MSE)МодельRMSER2Normal9402.220.6Gamma inverse37385.160.28Gamma identity10021.690.26Gamma log9476.450.714Пуассоновская регрессия• Предполагается, что зависимая переменная принадлежитПуассоновскому распределению• Используется для моделирования кол-ва наступлений события или доли(rate) наступлений события как функции от набора предикторов• наиболее подходит для редких событий• Распределение зависимой переменной должно иметь маленькоесреднее (<10 или даже <5, в идеале ~1)• Иначе гамма и логнормальное распределение может быть лучше,если распределение сильно ассиметричное• или нормальное, если распределение не очень асимметричное• Модель:Функциясвязиlog( µ ) = β 0 + β1 X 1 + β 2 X 2 + ...
+ β k X kµ =e( β 0 + β1 X1 + β 2 X 2 +...+ β k X k )=e β0 ⋅ e β1 X1 ⋅ e β2 X 2 e βk X kСравнение нормального ипуассоновского распределенияПуассоновское распределениеНормальное распределение• Асимметрично с тяжелым правым• Симметричнохвостом• Любые по знаку значения• Моделирует редкие события• Два независимых параметра• Положительные значения• Однопараметрическое распределение(дисперсия равна мат. ожиданию)С ростом мат. ожидания пуассоновское распределение становится все симметричнейи приближается по свойствам к нормальному, отсюда следует область приложения редкие событияИнтерпретация параметровпуассоновской регрессииβˆe =< C; LB8?; 8: 0B82=K9 MDD5: B =0 µ̂>B 87< 5=5=8O =0 >4=C 548=8FC ?> X.• @8< 5@1, 5A; 8βˆ1e =1.20, C25; 8G5=85 X1 =0 >4=C 548=8FC 2K7K205B20% C25; 8G5=85 >F5=8205< >3> A@54=53>.• @8< 5@2, 5A; 8βˆ2e =0.80, C25; 8G5=85 X2 =0 >4=C 548=8FC 2K7K205B20% C< 5=LH5=85 >F5=8205< >3> A@54=53>Естественным образом похоже на отношение шансов влогистической регрессииПример пуассоновской регрессии• Модельная задача:– Посчитаем число различных моделей в разрезе производитель,страна, тип кузова и найдем как это число зависит отагрегированных значений остальных числовых предикторов18Пример пуассоновской регрессииДолжны быть близки к 1 дляадекватной модели19Чрезмерная дисперсия• Модели пуассоновской регрессии предполагают равенство среднего идисперсии.• При моделировании кол-ва (count data) часто дисперсия превосходитсреднее.• Недооценены стандартные ошибки оценок параметров.• Переоценены статистики тестов; p-values очень либеральные.• Причины:• Модель недоопределена – отсутствуют важные предикторы• Выбросы• Корреляция – следствие кластеризованности данных• Что делать?• Проверить данные на случайность, артефакты, выбросы ипопробовать разные комбинации предикторов• Если не помогло, то переходить к другому распределению отклика –отрицательному биномиальномуОтрицательное биномиальноераспределение• Сл.
величина Y распределена NB(k,p) – Y=n показывает номер k-гоуспеха в серии из k+n независимых испытаний Бернули с параметромp, или число испытаний для достижения заданного числа успехов• для количественных данных допускает превышение дисперсии надсредним• дает большую гибкость (чем пуассоновское распр.) в моделированиисвязи между средним и дисперсией зависимой переменнойResponseVariableDistributionLinkFunctionVarianceFunctionCountNegativeBinomialNatural Logµ + kµ 2• Параметр дисперсии k - постоянный по всем наблюдениям.• k = 0 – пуассоновская регрессия.
k > 0 – случай чрезмерной дисперсии,стандартные ошибки увеличиваются. Полученные по модели значенияY и параметров будут похожи, но дисперсия правильно учтена =корректные p-value для тестов.Пример отрицательной биномиальной регрессииnegbinpoisson• Все статистики стали лучше• Увеличилась ошибка воценках коэф.• Увеличилисьдоверительные интервалыnegbinpoisson22Процесс разработки моделиВыбор моделей кандидатовИсследованиеданные(2)CandidateModelSelection(1)Exploratory DataAnalysis(4)Collinearity andInfluentialObservationDetectionпроверка наколлинеарность ивлиятельные наблюдения(3)ModelAssumptionValidationYes(5)ModelRevisionпересмотр моделиNo(6)PredictionTestingПроверкапредположенийИсследованиезначенийпредсказанныхмодельюОт описательных моделей к прогнознымPast BehaviorFact-BasedPredictionsStrategyОсновная задача не понять зависимости в данных, а использовать их дляпрогноза Scoring Data SetTraining Data Setinputstargetinputstarget???Сложность модели! ; 8H: >< A; >6 =0O...Использование валидационного набораданныхTraining DatainputsValidation DatatargetinputsМодель строится на тренировочном наборе, аоценивается на валидационномtargetTraining DatainputsОценка моделейValidation Datatargetinputs12345Сложность ВалидационнаяоценкамоделиtargetОценка качества моделейна валидационном набореTraining DatainputsВыбор моделиValidation Datatargetinputs12345Сложность ВалидационаяоценкамоделиtargetСамая простая модель средисамых лчших навалидационном набореПрименение PROC GLMSELECT дляпрогнозированияЕсли есть валидационный наборPROC GLMSELECT DATA=Training data-setVALDATA=Validation data-set;MODEL targets=inputs </ options>;RUN;Если нет, то разбиваем имеющийся в заданной пропорцииPROC GLMSELECT DATA=Training data-set<SEED=number>;MODEL targets=inputs </ options>;FRACTION(<TEST=fraction> <VALIDATE=fraction>)RUN;31Survey процедуры• Семейство survey- процедур используют случайную выборку:– для построения моделей (линейной регрессии, логистическойрегрессии и других)– для формирования обучающих, валидационных и тестовых выборок ссохранением (или наоборот искажением) характеристик исходнойвыборки• Реализуют разные методы случайной выборки:Просто случайнуюСо стратификацией по заданным категориальным переменнымС сохранением кластерной структуры данныхС возвращением наблюдений и безС заданным пропорциональным распределением наблюдений (частоиспользуется в бустинге)– И многое многое другое (читайте мануал)–––––32Процедура PROC SURVEYSELECTPROC SURVEYSELECT DATA=Training data-setOUT=Out data-set METHOD=method SEED=numberSAMPZIE=size SAMPRATE=rate;STRATA variables </ options> ;SAMPLINGUNIT | CLUSTER variables </ options> ;…;RUN;• Основные настройки:– Method – тип случайной выборки– Размер выборки и пропорции страт (либо в штуках – SAMPSIZE,либо пропорция SAMPRATE)– STRATA – задает пременные для стратификации– CLUSTER – список переменных, формирующих кластеры дляслучайной выборки33Проблемы пропущенных значений• Причины появления:1422• Особенности задачи• Удаление артефактов и выбросов• Объединение источников данных6714?31• Случайность и зависимость:3317• Случаные и неслучайные пропуски1821• Традиционный подход:60131385118=01; N45=8O=01; N45=8O• Complete case analysis• Но что делать на этапе применения модели?• 5@5< 5==K5• 5@5< 5==K5Подстановка пропущенных значенийIncompleteDataCompletedDataMissingIndicator3463.22265418.4720346330222654183049200010000100Сохранение информациибыл ли пропускМетоды подстановки:1.2.3.На основе анализараспределенияпеременных(подстановка константили псевдослучайныхзначений, сохраняющихраспределение)На основе моделейxi=f(x1,…, xi-1 ,xi+1 ,…)(множественныерегрессии,кластеризация и другие)Есть методы,работающие спропусками напрямую(например, деревьярешений)Пример регрессии для пропущенных значений• «Портим» данные:• Заводим индикаторы:• Строим модель с пропусками:Заполнение пропусков константами и спомощью модели• Заполнеям пропуски оценкой распределения – медианой:• Заполняем пропуски на основе моделикластеризации:X1 =• Строим регрессииX2 = ?Константа (медиана):Модель (EM):>>Проблемы при применении моделей(scoring)Проблема больших объемов данныхModel DeploymentModelDevelopmentОсобенности скоринга:• Фазы обучения и применениямоделей должны быть«разнесены»• Обученная модель должнаописываться формулами илинабором правил, и бытьпредставимой в видепрограммыВарианты организации скоринга в SAS STAT (для многих процедур):• Оператор SCORE –непосредственно применяет модель после обучения• Оператор STORE записывает бинарную модель, а SCORE в другой процедуре(например, в PML) применяет• Оператор CODE – сохраняет модель в виде программы на SAS BASEПример скоринга PROC GLMSELECT• Обучение (с валидацией):• Применение:39Бонус задача!• Выбираете тренировочное подмножество наблюдений из набора carsс сохранением распределения регионов производителей и кузовов• Строите самую лучшую (по RMSE) модель• Проверяться будет на тестовом (оставшемся) наборе• Можно использовать разные техники– Отбор и преобразование переменных (пошаговый отбор, полныйперебор, регуляризацию, преобразование пространства признаков)– Добавлять нелинейность (нелинейные элементарные преобразованияпризнаков, полиномы и кросс переменные, нелинейные модели насплайнах или локальной регрессии)– Использовать преобразование отклика и обобщенные линейные модели40(и подсказка: обобщенные полиномиальные).
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.