У дома Премахване Примери за решаване на задачи с множествена регресия. Въведение в множествената регресия

Примери за решаване на задачи с множествена регресия. Въведение в множествената регресия

Целта на множествената регресия е да се анализира връзката между една зависима и няколко независими променливи.

Пример: Има данни за цената на една работна станция (при закупуване на 50 работни станции) за различни PDM системи. Задължително: оценете връзката между цената на работна станция на PDM система и броя на внедрените в нея характеристики, дадени в таблица 2.

Таблица 2 - Характеристики на PDM системи

Номер на поръчка PDM система Цена Управление на конфигурацията на продукта Продуктови модели Съвместна дейност Управление на промяната на продукта Документооборот Архив Търсене на документи Планиран проект Управление на производството на продукти
iMAN да да
PartYPlus да да
PDM STEP Suite да да
Търсене да да
Разхлаждане на вятъра да да
Компас мениджър да да
T-Flex Документи да да
ТехноПро Не Не

Числената стойност на характеристиките (с изключение на „Цена“, „Продуктови модели“ и „Работа в екип“) означава броя на изискванията на всяка внедрена характеристика.

Нека създадем и попълним електронна таблица с първоначалните данни (Фигура 27).

Стойността “1” на променливите “Mod. изд." и „Колекция“. област." съответства на стойността „Да“ на изходните данни, а стойността „0“ на стойността „Не“ на изходните данни.

Нека изградим регресия между зависимата променлива „Разходи“ и независимите променливи „Пр. конф.", "Мод. изд.“, „Съб. р-та", "Пр. промяна.”, “Док.”, “Архиви”, “Търсене”, “План-е”, “Контр. направени."

За да започнете статистически анализ на изходните данни, извикайте модула „Множествена регресия“ (Фигура 22).

В диалоговия прозорец, който се появява (Фигура 23), посочете променливите, за които ще се извърши статистически анализ.

Фигура 27 - Първоначални данни

За да направите това, щракнете върху бутона Variables и в диалоговия прозорец, който се появява (Фигура 28), в частта, съответстваща на зависимите променливи (Dependent var.), изберете „1-Cost“ и в частта, съответстваща на независимите променливи (списък с независими променливи), изберете всички други променливи. Избирането на няколко променливи от списъка се извършва с помощта на клавишите „Ctrl“ или „Shift“ или чрез посочване на числата (диапазон от числа) на променливите в съответното поле.



Фигура 28 - Диалогов прозорец за настройка на променливи за статистически анализ

След като променливите са избрани, щракнете върху бутона “OK” в диалоговия прозорец за настройка на параметрите на модула “Множествена регресия”. В прозореца, който се появява с надпис „No of indep. вар. >=(N-1); не може да инвертира кор. матрица." (Фигура 29) натиснете бутона „OK“.

Това съобщение се появява, когато системата не може да изгради регресия за всички декларирани независими променливи, защото броят на променливите е по-голям или равен на броя случаи минус 1.

В прозореца, който се появява (Фигура 30) в раздела „Разширени“, можете да промените метода за съставяне на регресионното уравнение.

Фигура 29 - Съобщение за грешка

За да направите това, в полето „Метод“ изберете „Напред поетапно“ (стъпка по стъпка с включване).

Фигура 30 - Прозорец за избор на метод и задаване на параметри за съставяне на регресионно уравнение

Методът на поетапната регресия се състои в добавяне или изключване на някои независими променливи към модела на всяка стъпка. По този начин много от „най-значимите“ променливи са подчертани. Това ви позволява да намалите броя на променливите, които описват зависимостта.

Поетапен анализ с елиминиране („Назад поетапно“). В този случай всички променливи първо ще бъдат включени в модела, а след това на всяка стъпка ще бъдат елиминирани променливи, които имат малък принос към прогнозите. След това, в резултат на успешен анализ, само „важните“ променливи в модела могат да бъдат запазени, т.е. тези променливи, чийто принос към дискриминацията е по-голям от останалите.

Анализ стъпка по стъпка с включване („Напред поетапно“). Когато се използва този метод, независимите променливи се включват последователно в регресионното уравнение, докато уравнението опише задоволително оригиналните данни. Включването на променливи се определя с помощта на F - тест. На всяка стъпка се разглеждат всички променливи и се намира тази, която има най-голям принос за разликата между популациите. Тази променлива трябва да бъде включена в модела на тази стъпка и да преминете към следващата стъпка.

В полето „Intercept“ (термин за свободна регресия) можете да изберете дали да го включите в уравнението („Include in model“) или да не го вземете предвид и да го считате за равен на нула („Set to zero“).

Параметърът „Толерантност“ е толерантността на променливите. Дефинира се като 1 минус квадрата на коефициента множествена корелациятази променлива с всички други независими променливи в регресионното уравнение. Следователно, колкото по-нисък е толерансът на една променлива, толкова по-излишен е нейният принос към регресионното уравнение. Ако толерансът на някоя от променливите в регресионното уравнение е равен или близък до нула, тогава регресионното уравнение не може да бъде изчислено. Поради това е препоръчително да зададете параметъра на допустимото отклонение на 0,05 или 0,1.

Параметърът „Регресия на билото; ламбда:" се използва, когато независимите променливи са силно взаимно корелирани и стабилни оценки за коефициентите на регресионното уравнение не могат да бъдат получени чрез метода най-малки квадрати. Посочената константа (ламбда) ще бъде добавена към диагонала на корелационната матрица, която след това ще бъде повторно стандартизирана (така че всички диагонални елементи да са равни на 1,0). С други думи, този параметър изкуствено намалява коефициентите на корелация, така че да могат да бъдат изчислени по-стабилни (но предубедени) оценки на регресионните параметри. В нашия случай този параметър не се използва.

Параметърът „Пакетна обработка/печат“ се използва, когато е необходимо незабавно да се подготвят няколко таблици за отчет, отразяващи резултатите и процеса регресионен анализ. Тази опция е много полезна, когато трябва да отпечатате или анализирате резултатите от поетапен регресионен анализ на всяка стъпка.

В раздела „Поетапно“ (Фигура 31) можете да зададете параметри за условията за включване („F за въвеждане“) или изключване („F за премахване“) на променливи при конструиране на регресионно уравнение, както и броя на стъпки за съставяне на уравнението (“Брой стъпки”).

Фигура 31 – Раздел „Поетапно“ на прозореца за избор на метод и настройка на параметрите на конструкцията регресионно уравнение

F е големината на стойността на F-теста.

Ако по време на анализ стъпка по стъпка с включване е необходимо всички или почти всички променливи да влязат в регресионното уравнение, тогава стойността „F за въвеждане“ трябва да бъде зададена на минимум (0,0001), а „F за премахване ” стойност също трябва да бъде зададена на минимум.

Ако по време на анализ стъпка по стъпка с изключване е необходимо да се премахнат всички променливи (една по една) от регресионното уравнение, тогава е необходимо да се зададе много голяма стойност на „F за въвеждане“, например 999, и задайте стойността „F за премахване“ близо до „F за въвеждане“.

Трябва да се помни, че стойността на параметъра „F за премахване“ винаги трябва да бъде по-малка от „F за въвеждане“.

Опцията „Показване на резултатите“ има две опции:

2) На всяка стъпка – показва резултатите от анализа на всяка стъпка.

След като щракнете върху бутона „OK“ в прозореца за избор на методи за регресионен анализ, ще се появи прозорецът с резултатите от анализа (Фигура 32).

Фигура 32 - Прозорец с резултати от анализа

Фигура 33 - Кратки резултати от регресионния анализ

Според резултатите от анализа коефициентът на детерминация е . Това означава, че изградената регресия обяснява 99,987% от разпространението на стойностите спрямо средната, т.е. обяснява почти цялата променливост на променливите.

Голямо значениеи неговото ниво на значимост показват, че конструираната регресия е много значима.

За разглеждане обобщени резултатирегресия, щракнете върху бутона „Резюме: резултат от регресия“. Екранът ще се появи електронна таблицас резултатите от анализа (Фигура 33).

Третата колона (“B”) показва оценки на неизвестните параметри на модела, т.е. коефициенти на регресионно уравнение.

Така желаната регресия изглежда така:

Качествено съставено регресионно уравнение може да се интерпретира, както следва:

1) Цената на PDM система се увеличава с увеличаването на броя на внедрените функции за управление на промените, документооборот и планиране, а също и ако системата включва функция за поддръжка на продуктов модел;

2) Цената на PDM система намалява с увеличаване на внедрените функции за управление на конфигурацията и с увеличаване на възможностите за търсене.

Целта на множествената линейна регресия е да се конструира линеен модел на връзката между набор от непрекъснати предиктори и непрекъсната зависима променлива. Често се използва следното регресионно уравнение:

Тук и аз- регресионни коефициенти, b 0- безплатен член (ако се използва), д- термин, съдържащ грешка - за него се правят различни предположения, които обаче по-често се свеждат до нормалност на разпределението с нулев вектор мат. очаквания и корелационна матрица.

Този линеен модел описва добре много проблеми в различни предметни области, например икономика, индустрия, медицина. Това е така, защото някои проблеми са линейни по природа.

Нека дадем прост пример. Да предположим, че трябва да предвидите разходите за полагане на път въз основа на известните му параметри. В същото време имаме данни за вече прокарани пътища с дължина, дълбочина на настилката, количество работен материал, брой работници и др.

Ясно е, че цената на пътя в крайна сметка ще стане равно на суматаразходите за всички тези фактори поотделно. Ще ви трябва определено количество, например трошен камък, с известна цена на тон и определено количество асфалт, също с известна цена.

Може да се наложи изсичане на гори за монтаж, което също ще доведе до допълнителни разходи. Всичко това заедно ще даде разходите за създаване на пътя.

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

Грешката ще включва фактори, които не сме взели предвид при изграждането на модела (например времето по време на строителството - невъзможно е изобщо да се вземе предвид).

Пример: Множествен регресионен анализ

За този пример ще бъдат анализирани няколко възможни корелации на нивото на бедност и степента, която прогнозира процента на семействата под прага на бедността. Следователно ще считаме променливата, характеризираща процента на семействата под прага на бедността, за зависима променлива, а останалите променливи за непрекъснати предиктори.

Коефициенти на регресия

За да разберем коя от независимите променливи допринася повече за прогнозиране на нивата на бедност, ние разглеждаме стандартизирани коефициенти(или бета) регресия.

Ориз. 1. Оценки на параметри на регресионни коефициенти.

Бета коефициентите са коефициентите, които бихте получили, ако нормализирате всички променливи до средна стойност от 0 и стандартно отклонение от 1. Следователно величината на тези бета коефициенти ви позволява да сравните относителния принос на всяка независима променлива към зависимата променлива. Както може да се види от таблицата, показана по-горе, променливите промяна в населението от 1960 г. насам (POP_ CHING), процентът на населението, живеещо в селските райони (PT_RURAL) и броят на хората, заети в селското стопанство (N_Empld), са най-важните предиктори на бедността нива, защото само те са статистически значими (95% от тях доверителен интервалне включва 0). Коефициентът на регресия за промяната на населението от 1960 г. насам (Pop_Chng) е отрицателен, следователно колкото по-малко се увеличава населението, толкова повече семействакоито живеят под прага на бедността в съответния окръг. Коефициентът на регресия за населението (%), живеещо в селото (Pt_Rural) е положителен, т.е. колкото по-голям е процентът селски жителитолкова по-високо е нивото на бедност.

Значение на предикторните ефекти

Нека да разгледаме таблицата с критериите за значимост.

Ориз. 2. Едновременни резултати за всяка дадена променлива.

Както показва тази таблица, само ефектите на 2 променливи са статистически значими: промяна на населението от 1960 г. насам (Pop_Chng) и процент на населението, живеещо в село (Pt_Rural), p< .05.

Анализ на остатъци. След като настроите регресионно уравнение, почти винаги трябва да проверите прогнозираните стойности и остатъците. Например, големите отклонения могат значително да изкривят резултатите и да доведат до погрешни заключения.

Графика на емисиите ред по ред

Обикновено е необходимо да се проверят оригиналните или стандартизираните остатъци за големи отклонения.

Ориз. 3. Числа за наблюдение и остатъци.

Мащабът на вертикалната ос на тази графика е начертан според сигма стойността, т.е. стандартно отклонениеостатъци Ако едно или повече наблюдения не попадат в рамките на ±3 пъти сигма интервала, тогава може да си струва да елиминирате тези наблюдения (това може лесно да се направи чрез условия за избор на наблюдение) и да стартирате анализа отново, за да сте сигурни, че резултатите не са повлияни от тях извънредни стойности.

Махаланобис разстояния

Повечето учебници по статистика отделят много време на извънредни стойности и остатъци спрямо зависимата променлива. Ролята на отклоненията в предикторите обаче често остава неидентифицирана. От страната на предикторната променлива има списък с променливи, които участват с различни тегла (регресионни коефициенти) при прогнозирането на зависимата променлива. Можете да мислите за независимите променливи като за многомерно пространство, в което всяко наблюдение може да бъде начертано. Например, ако имате две независими променливи с еднакви коефициенти на регресия, можете да начертаете диаграма на разсейване на двете променливи и да поставите всяко наблюдение върху тази диаграма. След това можете да маркирате средната стойност на тази графика и да изчислите разстоянията от всяко наблюдение до тази средна стойност (така наречения център на тежестта) в двумерно пространство. Това е основната идея зад изчисляването на разстоянието Махаланобис. Сега нека разгледаме хистограмата на променливата за промяна на населението от 1960 г. насам.

Ориз. 4. Хистограма на разпределението на разстоянието на Махаланобис.

От графиката следва, че има едно отклонение при разстоянията на Махаланобис.

Ориз. 5. Наблюдавани, прогнозирани и остатъчни стойности.

Забележете, че окръг Шелби (на първия ред) се откроява от останалите окръзи. Ако погледнете необработените данни, ще откриете, че окръг Шелби всъщност има най-голям брой хора, заети в селското стопанство (променлива N_Empld). Може да е разумно да го изразите като процент, а не като абсолютно число, в който случай разстоянието до Махаланобис в окръг Шелби вероятно няма да е толкова голямо в сравнение с други окръзи. Очевидно Шелби Каунти е извънредно положение.

Премахнати остатъци

Друга много важна статистика, която помага да се оцени сериозността на проблема с емисиите, са отстранените остатъци. Това са стандартизираните остатъци за съответните наблюдения, които се получават, когато това наблюдение бъде премахнато от анализа. Не забравяйте, че процедурата на множествена регресия пасва на регресионната повърхност, за да покаже връзката между зависимата променлива и предикторната променлива. Ако едно наблюдение е отклонение (като Shelby County), тогава има тенденция регресионната повърхност да се „дърпа“ към това отклонение. В резултат на това, ако съответното наблюдение бъде премахнато, ще се получи различна повърхност (и бета коефициенти). Следователно, ако премахнатите остатъци са много различни от стандартизираните остатъци, тогава ще имате основание да смятате, че регресионният анализ е сериозно предубеден от съответното наблюдение. В този пример премахнатите остатъци за окръг Шелби показват, че това е отклонение, което сериозно променя анализа. Диаграмата на разсейване ясно показва отклонение.

Ориз. 6. Първоначални остатъци и изтрити остатъци на променлива, показваща процента на семействата, живеещи под жизнения минимум.

Повечето от тях имат повече или по-малко ясни интерпретации, но нека се обърнем към нормалните вероятностни графики.

Както вече беше споменато, множествената регресия предполага, че има линейна връзка между променливите в уравнението и че остатъците са нормално разпределени. Ако тези предположения са нарушени, заключението може да е неточно. Нормалната вероятностна диаграма на остатъците ще ви каже дали има сериозни нарушения на тези допускания или не.

Ориз. 7. Графика на нормалната вероятност; Първоначални салда.

Тази графика е конструирана по следния начин. Първо, стандартизираните остатъци се класират по ред. От тези рангове могат да бъдат изчислени z-резултати (т.е. стандартни стойности на нормалното разпределение) въз основа на предположението, че данните се подчиняват нормална дистрибуция. Тези z стойности се нанасят върху оста y на графиката.

Ако наблюдаваните остатъци (нанесени на оста х) бяха нормално разпределени, тогава всички стойности биха попаднали на права линия на графиката. На нашата графика всички точки лежат много близо до кривата. Ако остатъците не са нормално разпределени, тогава те се отклоняват от тази линия. Отклоненията също стават забележими в тази графика.

Ако има загуба на съответствие и изглежда, че данните образуват ясна крива (напр. S-образна форма) около линията, тогава зависимата променлива може да бъде трансформирана по някакъв начин (напр. логаритмична трансформация за „свиване“ на опашката на разпределението и др.). Обсъждането на този метод е извън обхвата на този пример (Neter, Wasserman и Kutner, 1985, стр. 134–141, представят обсъждане на трансформации, които премахват ненормалността и нелинейността в данните). Изследователите обаче много често просто извършват анализи директно, без да тестват основните предположения, което води до погрешни заключения.

Да предположим, че предприемач оценява стойността на група малки офис сгради в традиционен бизнес район.

Разработчикът може да използва множествен регресионен анализ, за ​​да оцени цената на офис сграда в тази областвъз основа на следните променливи.

y е прогнозната цена на офис сграда;

x 1 - обща площ в квадратни метри;

x 2 - брой офиси;

x 3 - брой входове (0,5 вход означава вход само за кореспонденция);

x 4 - време на експлоатация на сградата в години.

Този пример предполага, че има линейна зависимостмежду всяка независима променлива (x 1, x 2, x 3 и x 4) и зависимата променлива (y), т.е. цената на офис сграда в даден район. Изходните данни са показани на фигурата.

Настройките за решаване на проблема са показани на снимката на прозореца " Регресия". Резултатите от изчислението се поставят на отделен лист в три таблици

В резултат получихме следното математически модел:

y = 52318 + 27,64*x1 + 12530*x2 + 2553*x3 - 234,24*x4.

Сега предприемачът може да определи прогнозната стойност на офис сграда в същия район. Ако тази сграда е с площ от 2500 квадратни метра, три офиса, два входа и експлоатационен живот 25 години, можете да оцените нейната стойност по следната формула:

y = 27,64*2500 + 12530*3 + 2553*2 - 234,24*25 + 52318 = 158 261 c.u.

При регресионния анализ най-важните резултати са:

  • коефициенти на променливи и Y-пресечна точка, които са необходимите параметри на модела;
  • множество R, характеризиращо точността на модела за наличните изходни данни;
  • F тест на Фишер(в разглеждания пример значително надвишава критична стойност, равно на 4,06);
  • t-статистика– стойности, характеризиращи степента на значимост на отделните коефициенти на модела.

T-статистиката заслужава специално внимание. Много често при изграждането на регресионен модел не е известно дали този или онзи фактор x влияе върху y. Включването на фактори в модела, които не влияят на изходната стойност, влошава качеството на модела. Изчисляването на t-статистиката помага за откриването на такива фактори. Може да се направи приблизителна оценка, както следва: ако за n>>k стойността на t-статистиката за абсолютна стойностзначително повече от три, съответният коефициент трябва да се счита за значим и факторът трябва да бъде включен в модела, в противен случай изключен от модела. По този начин можем да предложим технология за изграждане на регресионен модел, състоящ се от два етапа:

1) процес с пакет " Регресия„всички налични данни, анализирайте t-статистическите стойности;

2) премахнете от колоните на таблицата с изходни данни с онези фактори, за които коефициентите са незначителни, и ги обработете с пакета " Регресия"нова маса.

Добър ден, скъпи читатели.
В предишни статии, на практически примери, показах начини за решаване на проблеми с класификацията (проблем с кредитния рейтинг) и основите на анализа на текстова информация (проблем с паспорта). Днес бих искал да засегна друг клас проблеми, а именно възстановяването чрез регресия. Задачи от този клас обикновено се използват при прогнозиране.
За пример за решаване на проблем с прогнозиране взех набор от данни за енергийна ефективност от най-голямото хранилище на UCI. Традиционно ще използваме Python с аналитичните пакети pandas и scikit-learn като инструменти.

Описание на набора от данни и изявление на проблема

Даден е набор от данни, който описва следните атрибути на стаята:

Той съдържа характеристиките на помещението, въз основа на които ще се извърши анализът, и стойностите на натоварването, които трябва да бъдат предвидени.

Предварителен анализ на данните

Първо, нека изтеглим нашите данни и да ги разгледаме:

От Pandas Импортирайте Read_csv, DataFrame от Sklearn.neighbors Импортирайте Kneighborsressor от Sklearn.Linear_MPORT LINEARREGRESSION, LOGISTICREGRESSION FROM SKLEARN.SVM IMM IM Port SVR от Sklearn.enseble Импортирайте Randomforgressor от Sklearn.metrics Импортирайте R2_Score от Sklearn.cross_validation Импортирайте Train_Test_SPLIT DATASET = Read_CSV (" Energy Icience /ENB2012_data.csv",";") dataset.head()

X1 X2 X3 X4 X5 X6 X7 X8 Y1 Y2
0 0.98 514.5 294.0 110.25 7 2 0 0 15.55 21.33
1 0.98 514.5 294.0 110.25 7 3 0 0 15.55 21.33
2 0.98 514.5 294.0 110.25 7 4 0 0 15.55 21.33
3 0.98 514.5 294.0 110.25 7 5 0 0 15.55 21.33
4 0.90 563.5 318.5 122.50 7 2 0 0 20.84 28.28

Сега нека видим дали някои атрибути са свързани помежду си. Това може да стане чрез изчисляване на коефициентите на корелация за всички колони. Как да направите това беше описано в предишната статия:

Dataset.corr()

X1 X2 X3 X4 X5 X6 X7 X8 Y1 Y2
X1 1.000000e+00 -9.919015e-01 -2.037817e-01 -8.688234e-01 8.277473e-01 0.000000 1.283986e-17 1.764620e-17 0.622272 0.634339
X2 -9.919015e-01 1.000000e+00 1.955016e-01 8.807195e-01 -8.581477e-01 0.000000 1.318356e-16 -3.558613e-16 -0.658120 -0.672999
X3 -2.037817e-01 1.955016e-01 1.000000e+00 -2.923165e-01 2.809757e-01 0.000000 -7.969726e-19 0.000000e+00 0.455671 0.427117
X4 -8.688234e-01 8.807195e-01 -2.923165e-01 1.000000e+00 -9.725122e-01 0.000000 -1.381805e-16 -1.079129e-16 -0.861828 -0.862547
X5 8.277473e-01 -8.581477e-01 2.809757e-01 -9.725122e-01 1.000000e+00 0.000000 1.861418e-18 0.000000e+00 0.889431 0.895785
X6 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000 0.000000e+00 0.000000e+00 -0.002587 0.014290
X7 1.283986e-17 1.318356e-16 -7.969726e-19 -1.381805e-16 1.861418e-18 0.000000 1.000000e+00 2.129642e-01 0.269841 0.207505
X8 1.764620e-17 -3.558613e-16 0.000000e+00 -1.079129e-16 0.000000e+00 0.000000 2.129642e-01 1.000000e+00 0.087368 0.050525
Y1 6.222722e-01 -6.581202e-01 4.556712e-01 -8.618283e-01 8.894307e-01 -0.002587 2.698410e-01 8.736759e-02 1.000000 0.975862
Y2 6.343391e-01 -6.729989e-01 4.271170e-01 -8.625466e-01 8.957852e-01 0.014290 2.075050e-01 5.052512e-02 0.975862 1.000000

Както можете да видите от нашата матрица, следните колони корелират една с друга (стойността на коефициента на корелация е по-голяма от 95%):
  • y1 --> y2
  • x1 --> x2
  • x4 --> x5
Сега нека изберем кои колони от нашите двойки можем да премахнем от нашата извадка. За да направим това, във всяка двойка избираме колоните, които имат по-голямо влияние върху прогнозираните стойности Y1И Y2и ги оставете и изтрийте останалите.
Както можете да видите, матрици с корелационни коефициенти на y1 ,y2 имат по-голямо значение X2 И X5 отколкото X1 и X4, така че можем да премахнем последните колони.

Dataset = dataset.drop(["X1","X4"], axis=1) dataset.head()
Освен това можете да забележите, че полетата Y1 И Y2 корелират много тясно помежду си. Но тъй като трябва да предвидим и двете стойности, ние ги оставяме „както са“.

Избор на модел

Нека отделим прогнозираните стойности от нашата извадка:

Trg = набор от данни[["Y1","Y2"]] trn = набор от данни.drop(["Y1","Y2"], ос=1)
След обработката на данните можете да продължите към изграждането на модел. За изграждане на модела ще използваме следните методи:

Теорията за тези методи може да бъде прочетена в курса на лекциите на К. В. Воронцов за машинно обучение.
Ще направим оценка с помощта на коефициента на детерминация ( R-квадрат). Този коефициент се определя, както следва:

Къде е условната дисперсия на зависимото количество припо фактор х.
Коефициентът приема стойност на интервал и колкото по-близо е до 1, толкова по-силна е зависимостта.
Е, сега можете да преминете директно към изграждането на модел и избора на модел. Нека поставим всички наши модели в един списък за по-лесен по-нататъшен анализ:

Модели =
Така че моделите са готови, сега ще разделим нашите първоначални данни на 2 подизвадки: тестИ образователен. Тези, които са чели предишните ми статии, знаят, че това може да се направи с помощта на функцията train_test_split() от пакета scikit-learn:

Xtrn, Xtest, Ytrn, Ytest = train_test_split(trn, trg, test_size=0,4)
Сега, тъй като трябва да предвидим 2 параметъра, трябва да изградим регресия за всеки от тях. Освен това, за допълнителен анализ, можете да запишете получените резултати във временен DataFrame. Можете да го направите така:

#създайте временни структури TestModels = DataFrame() tmp = () #за всеки модел от списъка за модел в модели: #вземете името на модела m = str(model) tmp["Model"] = m[:m.index( "( ")] #за всяка колона от набора с резултати за i в xrange(Ytrn.shape): #обучаване на модела model.fit(Xtrn, Ytrn[:,i]) #изчисляване на коефициента на определяне tmp["R2_Y %s"%str(i +1)] = r2_score(Ytest[:,0], model.predict(Xtest)) #запис на данните и окончателния DataFrame TestModels = TestModels.append() #направете индекс по модела име TestModels.set_index("Модел", inplace= True)
Както можете да видите от кода по-горе, функцията r2_score() се използва за изчисляване на коефициента.
И така, данните за анализ са получени. Нека сега начертаем графиките и да видим кой модел показа най-добър резултат:

Фигура, оси = plt.subplots(ncols=2, figsize=(10,4)) TestModels.R2_Y1.plot(ax=оси, kind="bar", title="R2_Y1") TestModels.R2_Y2.plot(ax=axes, kind="bar", color="green", title="R2_Y2") !}

Анализ на резултатите и изводи

От графиките по-горе можем да заключим, че методът се справи със задачата по-добре от другите RandomForest(произволна гора). Неговите коефициенти на определяне са по-високи от другите и за двете променливи:
За допълнителен анализ, нека преквалифицираме нашия модел:

Модел = модели model.fit(Xtrn, Ytrn)
При по-внимателно разглеждане може да възникне въпросът защо зависимата проба е била разделена предишния път. Ytrnкъм променливи (по колони), но сега не правим това.
Въпросът е, че някои методи, като напр RandomForestRegressor, може да работи с множество предикторни променливи, докато други (напр. SVR) може да работи само с една променлива. Затова по време на предишното обучение използвахме разделяне на колони, за да избегнем грешки в процеса на изграждане на някои модели.
Изборът на модел, разбира се, е добър, но също така би било хубаво да имате информация за това как всеки фактор влияе върху прогнозираната стойност. За тази цел моделът има свойството характеристики_важности_.
Използвайки го, можете да видите теглото на всеки фактор в крайните модели:

Model.feature_importances_
масив ([ 0.40717901, 0.11394948, 0.34984766, 0.00751686, 0.09158358,
0.02992342])

В нашия случай се вижда, че общата височина и площ влияят най-много на натоварването при отопление и охлаждане. Общият им принос към прогнозния модел е около 72%.
Трябва също да се отбележи, че с помощта на горната диаграма можете да видите влиянието на всеки фактор поотделно върху отоплението и отделно върху охлаждането, но тъй като тези фактори са много тясно свързани помежду си (), направихме общо заключение и за двата, което беше написано по-горе.

Заключение

В статията се опитах да покажа основните етапи в регресионния анализ на данни с помощта на Python и аналитични пакети пандиИ scikit-learn.
Трябва да се отбележи, че наборът от данни е специално подбран по такъв начин, че да бъде максимално формализиран и първичната обработка на входните данни да бъде минимална. Според мен статията ще бъде полезна за тези, които тепърва започват своето пътуване в анализа на данни, както и за тези, които имат добра теоретична основа, но избират инструменти за работа.

Въпроси:

4. Оценка на параметрите на линеен модел на множествена регресия.

5. Оценка на качеството на множествената линейна регресия.

6. Анализ и прогнозиране на базата на многофакторни модели.

Множествената регресия е обобщение на регресията по двойки. Използва се за описание на връзката между обяснената (зависима) променлива Y и обяснителните (независими) променливи X 1, X 2,..., X k. Множествената регресия може да бъде линейна или нелинейна, но линейната множествена регресия е най-разпространена в икономиката.

Теоретичният линеен модел на множествена регресия има формата:

Означаваме съответната примерна регресия:

Както при двойната регресия, произволният член ε трябва да отговаря на основните допускания на регресионния анализ. След това, използвайки OLS, се получават най-добрите безпристрастни и ефективни оценки на параметрите на теоретичната регресия. В допълнение, променливите X 1, X 2,…, X k трябва да бъдат некорелирани (линейно независими) една с друга. За да запишем формули за оценка на регресионните коефициенти (2), получени на базата на най-малките квадрати, въвеждаме следната нотация:

Тогава можем да пишем във векторно-матрична форма теоретичен модел:

и примерна регресия

OLS води до следната формула за оценка на вектора на регресионните коефициенти на извадката:

(3)

За оценка на множество коефициенти на линейна регресия с две независими променливи , можем да решим системата от уравнения:

(4)

Както при сдвоената линейна регресия, стандартната регресионна грешка S се изчислява за множествена регресия:

(5)

и стандартни грешки на регресионните коефициенти:

(6)

Значимостта на коефициентите се проверява с t-теста.

с разширение на Student с броя на степените на свобода v= n-k-1.

За да се оцени качеството на регресията, се използва коефициентът на определяне (индекс):

, (8)

колкото по-близо е до 1, толкова по-високо е качеството на регресията.

За да се провери значимостта на коефициента на детерминация, се използва тестът на Фишер или F-статистиката.



(9)

с v 1=k, v 2=n-k-1 степени на свобода.

При многовариантна регресия добавянето на допълнителни обяснителни променливи увеличава коефициента на детерминация. За да се компенсира това увеличение, се въвежда коригиран (или нормализиран) коефициент на определяне:

(10)

Ако увеличението на дела на обяснената регресия при добавяне на нова променлива е малко, то може да намалее. Това означава, че добавянето на нова променлива е неподходящо.

Пример 4:

Нека разгледаме зависимостта на печалбата на предприятието от разходите за ново оборудване и технологии и от разходите за подобряване на уменията на работниците. Събрани са статистически данни за 6 подобни предприятия. Данни в милиони долари. единици са дадени в таблица 1.

маса 1

Изградете двуфакторен линейна регресия и да оценим значението му. Нека въведем следната нотация:

Транспонираме матрицата X:

Инверсия на тази матрица:

Така зависимостта на печалбата от разходите за ново оборудване и машини и от разходите за подобряване на уменията на работниците може да се опише чрез следната регресия:

Използвайки формула (5), където k=2, изчисляваме стандартната регресионна грешка S=0,636.

Изчисляваме стандартните грешки на регресионните коефициенти, използвайки формула (6):

По същия начин:

Нека проверим значимостта на регресионните коефициенти a 1, a 2. Нека изчислим t calc.

Нека изберем нивото на значимост, броя на степените на свобода

означава коеф а 1значително

Нека да оценим значението на коефициента a 2:

Коефициент а 2незначителен

Нека изчислим коефициента на детерминация по формула (7). Печалбата на едно предприятие зависи с 96% от разходите за ново оборудване и технологии и от усъвършенстваното обучение с 4% от други и случайни фактори. Нека проверим значението на коефициента на детерминация. Нека изчислим F изчислено:

Че. коефициентът на детерминация е значим, регресионното уравнение е значимо.

От голямо значение при анализа, базиран на многовариантна регресия, е сравнението на влиянието на факторите върху зависимия показател y. Регресионните коефициенти не се използват за тази цел, поради разликите в мерните единици и различни степенифлуктуации. От тези недостатъци коефициентите на свободна еластичност:

Еластичността показва с какъв процент средно се променя зависимият показател y, когато променливата се промени с 1%, при условие че стойностите на другите променливи остават непроменени. Колкото по-голямо е, толкова по-голямо е влиянието на съответната променлива. Както при двойната регресия, множествената регресия прави разлика между точкова прогноза и интервална прогноза. Точковата прогноза (число) се получава чрез заместване на прогнозираните стойности на независимите променливи в уравнението на множествената регресия. Да означим с:

(12)

вектор на прогнозираните стойности на независими променливи, след това точковата прогноза

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

(15)

Нека изберем нивото на значимост α според таблицата за разпределение на Стюдент. За нивото на значимост α и броя на степените на свобода ν = n-k-1 намираме t cr. Тогава истинската стойност y p с вероятност 1- α попада в интервала:


Тема 5:

Времеви редове.

Въпроси:

4. Основни понятия за динамичните редове.

5. Основната тенденция на развитие е тенденция.

6. Изграждане на адитивен модел.

Времеви редовепредставляват набор от стойности на всеки индикатор за няколко последователни момента или периода от време.

Моментът (или периодът) от време се означава с t, а стойността на индикатора в момента се означава с y(t) и се нарича ниво на реда .

Всяко ниво на динамичния ред се формира под въздействието на голям брой фактори, които могат да бъдат разделени на 3 групи:

Дългосрочни, постоянно действащи фактори, които оказват решаващо влияние върху изследваното явление и формират основната тенденция на реда - тенденцията T(t).

Краткосрочни периодични фактори, които формират сезонни колебания в серията S(t).

Случайни фактори, които формират случайни промени в нивата на реда ε(t).

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

Мултипликативен моделе модел, в който всяко ниво от серията е продукт на изброените компоненти:

Изборът на един от моделите се основава на анализ на структурата на сезонните колебания. Ако амплитудата на трептенията е приблизително постоянна, тогава се изгражда адитивен модел. Ако амплитудата се увеличи, тогава мултипликативният модел.

Основната задача на иконометричния анализ е да идентифицира всеки от изброените компоненти.

Основната тенденция на развитие (тенденция)наречена плавна и стабилна промяна в нивата на серия във времето, без случайни и сезонни колебания.

Задачата за идентифициране на основните тенденции на развитие се нарича подравняване на времеви редове .

Методите за подравняване на времеви редове включват:

1) метод за увеличаване на интервалите,

2) метод пълзяща средна,

3) аналитично подравняване.

1) Периодите от време, за които се отнасят нивата на серията, са разширени. След това нивата на серията се сумират върху увеличените интервали. Колебания в нивата поради случайни причини, взаимно се отменят. Общата тенденция ще се очертае по-ясно.

2) За да се определи броят на първите нива на серията, се изчислява средната стойност. След това средната стойност се изчислява от същия брой нива на серията, като се започне от второ ниво и т.н. средната стойност се плъзга по динамичната серия, като се придвижва напред с 1 термин (точка във времето). Броят на нивата на серията, по които се изчислява средната стойност, може да бъде четен или нечетен. За нечетно число подвижната средна се нарича средата на плъзгащия се период. За четен период намирането на средната стойност не се сравнява с определянето на t, а се използва процедура на центриране, т.е. изчислете средната стойност на две последователни подвижни средни.

3) Построяване на аналитична функция, характеризираща зависимостта на нивото на реда от времето. Следните функции се използват за изграждане на тенденции:

Параметрите на тенденцията се определят с помощта на най-малките квадрати. Изборът на най-добрата функция се основава на коефициента R 2 .

Ще изградим адитивен модел, използвайки пример.

Пример 7:

Има тримесечни данни за обема на потреблението на електроенергия в определен район за 4 години. Данни в милиони kW в таблица 1.

маса 1

Изградете модел на времеви редове.

В този пример разглеждаме номера на тримесечието като независима променлива, а консумацията на електроенергия за тримесечието като зависима променлива y(t).

От диаграмата на разсейване можете да видите, че трендът е линеен. Може също да се види наличието на сезонни колебания (период = 4) със същата амплитуда, така че ще изградим адитивен модел.

Конструкцията на модела включва следващи стъпки:

1. Нека подравним оригиналната серия, като използваме метода на пълзящата средна за 4 тримесечия и извършим центриране:

1.1. Нека да обобщим нивата на серията последователно за всеки 4 тримесечия с изместване от 1 точка във времето.

1.2. Разделяйки получените суми на 4, намираме подвижните средни.

1.3. Ние привеждаме тези стойности в съответствие с действителните точки във времето, за които намираме средната стойност на две последователни пълзящи средни - центрирани пълзящи средни.

2. Нека изчислим сезонната вариация. Сезонна вариация (t) = y(t) – центрирана пълзяща средна. Нека изградим таблица 2.

таблица 2

Номер на блок от край до край t Консумация на електроенергия Y(t) Пълзяща средна за 4 тримесечия Центрирана подвижна средна Оценка на сезонните колебания
6,0 - - -
4,4 6,1 - -
5,0 6,4 6,25 -1,25
9,0 6,5 6,45 2,55
7,2 6,75 6,625 0,575
: : : : :
6,6 8,35 8,375 -1,775
7,0 - - -
10,8 - - -

3. Въз основа на сезонните колебания в таблица 3 се изчислява сезонният компонент.

Индикатори година Номер на тримесечие в годината I II III IV
- - -1,250 2,550
0,575 -2,075 -1,100 2,700
0,550 -2,025 -1,475 2,875
0,675 -1,775 - -
Обща сума 1,8 -5,875 -3,825 8,125 Сума
Средно аритметично 0,6 -1,958 -1,275 2,708 0,075
Сезонен компонент 0,581 -1,977 -1,294 2,690

4. Елиминирайте сезонния компонент от начални ниваред:

Заключение:

Адитивният модел обяснява 98,4% от общата вариация в нивата на оригиналния времеви ред.



Ново в сайта

>

Най - известен