Важност на данните и какво всъщност е мултиколинеарност?

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

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

Например, приемете, че някои характеристики на регресия, при която искаме да определим цената на автомобил, са:

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

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

Размер на двигателя∝Мощност, въртящ момент

Така че можем да кажем, че има 3C2(6) двойки зависими променливи в дадените данни.

Но защо мултиколинеарността е лоша?

Да вземем горния пример,

Както знаем, че извършвайки линейна регресия върху горните данни, ние формираме уравнение:

y=W0 + W1*размер на двигателя+ W2*мощност + W3*въртящ момент +W4*размер +W5*цвят +W6*брой седалки

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

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

Случаи, в които мултиколинеарността е лоша, и случаи, в които не е.

Видове мултиколинеарност.

  1. Структурен

Те се създават само по време на предварителната обработка на данни или частта за инженеринг на функции. Най-популярният пример за структурна мултиколинеарност е One Hot Encoding (Ето защо изпускаме първата колона в One Hot Encoding, за да избегнем мултиколинеарност)

2. Въз основа на данни

Базираната на данни мултиколинеарност е нещо, което вече присъства в необработените данни.

Откриване на мултиколинеарност.

Мултиколинеарността може да бъде открита чрез

  1. Точкова диаграма.

Начертаването на диаграма на разсейване между различни характеристики е най-лесният начин да се уловят всякакви линейни връзки между тях и следователно да се улови всякакъв вид мултиколинеарност.

2.Корелационна матрица.

Корелационната матрица показва коефициента на корелация на всяка двойка характеристики. Обикновено коефициент на корелация, по-голям от 0,9, показва висока стойност на корелация и следователно мултиколинеарност.

3) Познаване на домейн.

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

Как да намалим/премахнем мултиколинеарността?

  1. Премахнете една от свързаните характеристики.

Това изглежда като най-логичния и прост начин за премахване на мултиколинеарността

2. Lasso/Ridge регресия.

Това автоматично ще доведе до свиване на коефициентите на маловажни характеристики.

3) Анализ на принципните компоненти.

Той има тенденция да избира само най-важните характеристики с най-голяма вариация. Можете да прочетете другата ми статия за PCA за по-добро разбиране (https://medium.com/@nishantthakur522000/what-is-pca-principle-component-analysis- fd69f29d8d1b)

4) VIF

VIF резултатът на независима променлива показва колко добре променливата се обяснява от други независими променливи. Колкото по-висока е стойността на VIF, толкова по-висока е мултиколинеарността с конкретната независима променлива.