Важност на данните и какво всъщност е мултиколинеарност?
Ако попитате някой специалист по данни за най-важния аспект в машинното обучение, той най-вероятно ще каже, че това са данните за обучение. Е, всички фантастични алгоритми ще работят по правилния начин само ако данните за обучение са добре организирани и имат няма аномалии. Една от аномалиите, които могат да имат данните за обучение, е мултиколинеарността.
Мултиколинеарността може да се дефинира като явление, при което две или повече променливи/характеристики, за които се предполага, че са независими една от друга, всъщност не са независими.
Например, приемете, че някои характеристики на регресия, при която искаме да определим цената на автомобил, са:
Както знаем, обикновено повече е обемът на двигателя, по-високи са мощността и въртящият момент.
Освен това мощността и въртящият момент също са свързани до известна степен.
Размер на двигателя∝Мощност, въртящ момент
Така че можем да кажем, че има 3C2(6) двойки зависими променливи в дадените данни.
Но защо мултиколинеарността е лоша?
Да вземем горния пример,
Както знаем, че извършвайки линейна регресия върху горните данни, ние формираме уравнение:
y=W0 + W1*размер на двигателя+ W2*мощност + W3*въртящ момент +W4*размер +W5*цвят +W6*брой седалки
Тъй като математическата идея зад тези тегла е, че определено тегло (W1, W2, W3) има тенденция да показва връзката между промяната в определена характеристика (размер на двигателя, мощност, въртящ момент), свързана с нея, и крайния резултат (цената на автомобила ), като се имат предвид другите характеристики, остават постоянни.
Но когато е включена мултиколинеарност, ако се случва промяна в характеристика, другата зависима характеристика също има тенденция да се променя. Това води до лоша оценка на теглата и теглата, получени в такъв случай, не представляват истинския принос на която и да е конкретна характеристика.
Случаи, в които мултиколинеарността е лоша, и случаи, в които не е.
Видове мултиколинеарност.
- Структурен
Те се създават само по време на предварителната обработка на данни или частта за инженеринг на функции. Най-популярният пример за структурна мултиколинеарност е One Hot Encoding (Ето защо изпускаме първата колона в One Hot Encoding, за да избегнем мултиколинеарност)
2. Въз основа на данни
Базираната на данни мултиколинеарност е нещо, което вече присъства в необработените данни.
Откриване на мултиколинеарност.
Мултиколинеарността може да бъде открита чрез
- Точкова диаграма.
Начертаването на диаграма на разсейване между различни характеристики е най-лесният начин да се уловят всякакви линейни връзки между тях и следователно да се улови всякакъв вид мултиколинеарност.
2.Корелационна матрица.
Корелационната матрица показва коефициента на корелация на всяка двойка характеристики. Обикновено коефициент на корелация, по-голям от 0,9, показва висока стойност на корелация и следователно мултиколинеарност.
3) Познаване на домейн.
Познаването на домейна в конкретния домейн, за който m.l моделът се обучава, също помага при ръчното откриване на мултиколинеарност.
Как да намалим/премахнем мултиколинеарността?
- Премахнете една от свързаните характеристики.
Това изглежда като най-логичния и прост начин за премахване на мултиколинеарността
2. Lasso/Ridge регресия.
Това автоматично ще доведе до свиване на коефициентите на маловажни характеристики.
3) Анализ на принципните компоненти.
Той има тенденция да избира само най-важните характеристики с най-голяма вариация. Можете да прочетете другата ми статия за PCA за по-добро разбиране (https://medium.com/@nishantthakur522000/what-is-pca-principle-component-analysis- fd69f29d8d1b)
4) VIF
VIF резултатът на независима променлива показва колко добре променливата се обяснява от други независими променливи. Колкото по-висока е стойността на VIF, толкова по-висока е мултиколинеарността с конкретната независима променлива.