Я пытаюсь построить множественную линейную регрессию в 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)), и я получаю ту же ошибку.
Буду признателен за любую информацию о том, как решить эту проблему.