Що таке дефіцит рангу, і як з цим боротися?


87

Встановлення логістичної регресії за допомогою lme4 закінчується с

Error in mer_finalize(ans) : Downdated X'X is not positive definite. 

Ймовірна причина цієї помилки - очевидно, дефіцит рангу. Що таке дефіцит за рангом, і як його вирішити?


2
Я б радив вам перевірити, чи жодна з ваших змінних не є константами (тобто немає дисперсії). Якщо ви добре в цьому оцінці, перевірте, чи є у вас складні цінні змінні чи нескінченні змінні.
тристан

3
Зазвичай це означає, що одна чи кілька ваших змінних не є лінійно незалежними, оскільки проблемна змінна може бути виражена у вигляді комбінації інших змінних. У пакеті R caretє функція, findLinearCombosяка називається, яка підкаже, які є проблемні змінні.
richiemorrisroe

2
Я згоден з richiemorrisroe. Оскільки в ній сказано, що X'X не є позитивним, я думаю, що вони мають на увазі, що матриця дизайну X'X є сингулярною і, отже, не має повного рангу. Отже, принаймні один з коваріатів може бути записаний у вигляді точних лінійних комбінацій інших коваріатів.
Майкл Черник

Відповіді:


123

Дефіцит рейтингу в цьому контексті говорить про недостатню інформацію, яка міститься у ваших даних, щоб оцінити бажану модель. Це походить від багатьох джерел. Я розповім тут про моделювання в досить загальному контексті, а не про явно логістичну регресію, але все ж стосується конкретного контексту.

Дефіцит може бути наслідком просто занадто мало даних. Загалом, ви не можете однозначно оцінити n параметрів із меншими, ніж n точками даних. Це не означає, що все, що вам потрібно, - це n балів, так як якщо б у процесі шуму не було шуму, ви отримаєте досить погані результати. Вам потрібно більше даних, щоб допомогти алгоритму вибрати рішення, яке буде представляти всі дані, в мінімальному значенні помилки. Ось чому ми використовуємо найменше інструментів квадратів. Скільки даних вам потрібно? Мене завжди задавали це питання в минулому житті, і відповіді було більше, ніж у вас, або стільки, скільки ви можете отримати. :)

Іноді у вас може бути більше даних, ніж потрібно, але деякі (занадто багато) пунктів є повторами. Реплікація ДОБРА в тому сенсі, що допомагає зменшити шум, але не допомагає збільшити числовий ранг. Отже, припустимо, у вас є лише дві точки даних. Неможливо оцінити унікальну квадратичну модель через точки. Мільйон повторень кожної точки все одно не дозволить вам встановити більше, ніж пряму лінію, завдяки чому поки що лише ефективно пара очок. По суті, реплікація не додає інформаційного змісту. Все, що це робиться - це зменшити шум у місцях, де у вас вже є інформація.

Іноді у вас є інформація в неправильних місцях. Наприклад, ви не можете помістити двовимірну квадратичну модель, якщо у вас є точки, які лежать у прямій лінії в двох вимірах. Тобто, припустимо, у вас є точки, розкидані лише по лінії x = y в площині, і ви хочете помістити модель для поверхні z (x, y). Навіть із мільйонами очок (навіть не повторень) у вас буде достатня інформація, щоб інтелектуально оцінити більше, ніж постійну модель. Дивно, але це загальна проблема, яку я бачив у вибіркових даних. Користувач задається питанням, чому вони не можуть створити хорошу модель. Проблема полягає в самих даних, які вони відібрали.

Іноді це просто вибір моделі. Це може розглядатися як "недостатньо даних", але з іншого боку. Ви хочете оцінити складну модель, але надали недостатньо даних для цього.

У всіх вищезазначених випадках відповідь полягає в тому, щоб отримати більше даних, інтелектуально відібраних з місць, які надаватимуть інформацію про процес, якого вам зараз не вистачає. Розробка експериментів - це гарне місце для початку.

Однак навіть хороші дані іноді є недостатніми, принаймні чисельно. (Чому з хорошими даними трапляються погані речі?) Проблема тут може бути пов'язана з моделлю. Це може лежати не в чому іншому, як у поганому виборі одиниць. Це може бути результатом комп'ютерного програмування, зробленого для вирішення проблеми. (Тфу! З чого почати?)

Спочатку давайте поговоримо про одиниці та масштабування. Припустимо, я намагаюся вирішити проблему, коли одна змінна МНОГО порядків більше, ніж інша. Наприклад, припустимо, у мене є проблема, яка пов'язана з моїм зростом і розміром взуття. Я виміряю свій зріст у нанометрах. Тож мій зріст склав би приблизно 1,78 млрд (1,78е9) нанометрів. Звичайно, я вирішу виміряти розмір взуття в кілограмах, так 9,14 - 21 кілограмів. Коли ви робите регресійне моделювання, лінійна регресія стосується лінійної алгебри, яка включає лінійні комбінації змінних. Проблема тут полягає в тому, що ці числа відрізняються надзвичайно багатьма порядками (і навіть не однаковими одиницями). Математика вийде з ладу, коли комп'ютерна програма намагатиметься додавати і віднімати числа, які змінюються на стільки порядків (для подвійної точності номер,

Трюк зазвичай полягає у використанні загальних одиниць, але в деяких проблемах навіть це проблема, коли змінні змінюються на занадто багато порядків. Важливіше - масштабувати ваші цифри, щоб бути схожими за величиною.

Далі у вас можуть виникнути проблеми з великими числами та невеликими варіаціями цих чисел. Отже, припустимо, ви намагаєтеся побудувати поліноміальну модель помірно високого порядку з даними, де всі ваші входи лежать в інтервалі [1,2]. Квадратне, кубічне тощо, цифри, що є порядком 1 або 2, не спричинить жодних проблем при роботі з арифметикою подвійної точності. Крім того, додайте 1e12 до кожного числа. Теоретично математика це дозволить. Все, що ми робимо, це зрушити будь-яку поліноміальну модель, яку ми будуємо на осі x. Він мав би абсолютно таку ж форму, але перекладений 1e12 праворуч. На практиці лінійна алгебра вийде з ладу через проблеми дефіциту. Ви нічого не робили, крім перекладу даних, але раптом починаєте бачити, як спливають єдині матриці.

Зазвичай зроблений коментар буде пропозицією "зосереджувати та масштабувати ваші дані". Ефективно це говорить про зміщення та масштабування даних таким чином, щоб вони мали середнє значення біля нуля та стандартне відхилення, що становить приблизно 1. Це значно покращить умовність більшості поліноміальних моделей, зменшивши проблеми з дефіцитом рангу.

Існують й інші причини дефіциту рангу. У деяких випадках він вбудовується безпосередньо в модель. Наприклад, припустимо, що я надаю похідну функцію, чи можу я однозначно зробити висновок самої функції? Звичайно, ні, оскільки інтеграція передбачає постійну інтеграцію, невідомий параметр, який, як правило, визначається знанням значення функції в якийсь момент. Насправді це іноді виникає і з проблемами оцінки, коли особливості системи випливають із фундаментального характеру досліджуваної системи.

Я, безумовно, залишив декілька з багатьох причин дефіциту рангу в лінійній системі, і я вже занадто довго розмовляв. Сподіваюся, мені вдалося пояснити ті, про кого я розповів, простими словами, і спосіб полегшити проблему.


42

Для визначення рангу матриці ви можете звернутися до будь-якого хорошого підручника з лінійної алгебри або переглянути сторінку Вікіпедії .

н×pХнpp×pХТХ(ХТХ)-1

ХХнХТХ

Оскільки рішення багатьох проблем регресії (включаючи логістичну регресію) передбачає обчислювальний проміжний (ХТХ)-1

Х


23

Відповідь user974 є фантастичною з точки зору моделювання, а відповідь gui11aume - фантастичною з математичної точки зору. Я хочу уточнити колишній відповідь строго зі змішаного зору моделювання: в зокрема в узагальненому змішане моделювання (GLM - моделі) перспективи. Як бачите, ви посилалися на функцію R, mer_finalizeяка є у фантастичному lme4пакеті. Ви також говорите, що вам підходить модель логістичної регресії.

Існує багато питань, які виникають з такими типами числових алгоритмів. Питання матричної структури модельної матриці фіксованих ефектів, безумовно, варто розглянути, на що посилається user974. Але це дуже просто оцінити, просто обчисливши model.matrixсвої formula=та data=аргументи в моделі та взявши її визначник за допомогою detфункції. Випадкові ефекти, однак, значно ускладнюють інтерпретацію, числову процедуру оцінювання та висновок про фіксовані ефекти (те, що ти зазвичай вважаєш коефіцієнтами регресії у "регулярній" регресійній моделі).

Припустимо, у найпростішому випадку вам підходить лише випадкова модель перехоплення. Тоді ви, як правило, вважаєте, що існують тисячі невимірних джерел неоднорідності, які є постійними при повторних заходах в кластерах. Ви оцінюєте "грандіозний" перехоплення, але враховуєте неоднорідність, вважаючи, що специфічні для кластера перехоплення мають деяке середнє значення 0 нормального розподілу. Перехоплення ітераційно оцінюються та використовуються для оновлення ефектів моделі до досягнення конвергенції (максимальна ймовірність журналу - або його наближення) - максимальна. Змішану модель дуже легко передбачити, але математично ймовірність є дуже складною і схильна до питань з особливостями, локальними мінімумами та граничними точками (коефіцієнт шансів = 0 або нескінченність). Змішані моделі не мають квадратичної ймовірності, як канонічні GLM.

На жаль, «Венерабелс» та «Ріплі» не вкладали багато коштів у діагностику для збіжжя-невдач, як у вас. Навіть міркувати про безліч можливих помилок, що призводять до такого повідомлення, практично неможливо. Тоді розглянемо типи діагностики, яку я використовую нижче:

  1. Скільки спостережень за кластером?
  2. Які результати від граничної моделі, що відповідає застосуванню GEE?
  3. Що таке ICC кластерів? Чи близька гетерогенність кластера між гетерогенністю кластера?
  4. Встановіть одноетапний оцінювач і подивіться на передбачувані випадкові ефекти. Вони приблизно нормальні?
  5. Підійдіть байєсівську змішану модель і подивіться на задній розподіл для фіксованих ефектів. Чи здається, що вони мають приблизно нормальний розподіл?
  6. Подивіться на панельний графік кластерів, що показують вплив або регресор інтересу проти результату, використовуючи більш плавне. Чи послідовні та чіткі тенденції чи існує багато можливих способів пояснення таких тенденцій? (наприклад, який "ризик" серед експонованих предметів, чи виявляється вплив захисним чи шкідливим?)
  7. Чи можна обмежити вибірку лише суб'єктами, які мають достатню кількість спостережень на людину (скажімо, n = 5 або n = 10), щоб оцінити "ідеальний" ефект лікування?

Крім того, ви можете розглянути кілька різних підходів моделювання:

  1. Чи достатньо мало кластерів або часових точок, для яких можна використовувати фіксований ефект (наприклад, групові індикатори або поліноміальний ефект часу) для моделювання рівня кластера / авторегресивної гетерогенності?
  2. Чи підходить гранична модель (використання GEE для підвищення ефективності стандартного оцінювання помилок, але все ж із використанням лише фіксованих ефектів)
  3. Чи може байєсівська модель з інформативним попередженням про випадкові ефекти покращити оцінку?

2
+1: Дякуємо, що звернулися до "змішаної" частини оригінального питання. Цей пост чудово доповнює вже хороший набір відповідей.
whuber
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.