Предупреждение «Х не соответствует рангу с точностью до станка» - PullRequest
0 голосов
/ 04 мая 2020

Я пытаюсь построить множественную линейную регрессию в MATLAB с 20 предикторами, которые являются категориальными с 4 уровнями каждый. Я использую функцию «регресс», вот так (это не фактические переменные):

X = [единицы (размер (x1)) x1 x2 x3 ... x20]; [b, bint, r, rint] = регресс (Y, X);

Перед этим я преобразовал векторы x1, x2 ... x20 в категориальные переменные с помощью dummyvar.

I получите эту ошибку и множество нулей в коэффициентах b, и эта ошибка:

Предупреждение: X имеет недостаток ранга с точностью до машины.

В документации dummyvar это упоминается: Чтобы использовать фиктивные переменные в регрессионной модели, необходимо либо удалить столбец (для создания ссылочной группы), либо установить регрессионную модель без термина перехвата.

Я пытался не использую перехват (size (x1)), и я получаю ту же ошибку.

Буду признателен за любую информацию о том, как решить эту проблему.

1 Ответ

0 голосов
/ 05 мая 2020

Постарайтесь упростить задачу до минимального рабочего примера, а затем опубликуйте это здесь, чтобы мы могли воспроизвести ее и помочь вам в этом. См. https://en.wikipedia.org/wiki/Rank_ (linear_algebra) для примеров недостатка ранга.

...