У вас есть дефицит ранга , что означает, что у вас недостаточно информации из данных для оценки каждого эффекта или коэффициента. Мультиколлинеарность - это когда ваши предикторы коррелированы, но до тех пор, пока две переменные не полностью коррелированы, их можно оценить, хотя и неточно.
Ниже я покажу вам пример из данных, что подразумевается под недостаточной информацией , например, если мы попытаемся регрессировать оценку по названию отеля и звездам:
coefficients(lm(Score ~ Hotel.name+Hotel.stars,data=vegas.data))
(Intercept)
4.208333e+00
Hotel.nameCaesars Palace
-8.333333e-02
Hotel.nameCircus Circus Hotel & Casino Las Vegas
-1.000000e+00
Hotel.nameEncore at wynn Las Vegas
3.333333e-01
Hotel.nameExcalibur Hotel & Casino
-5.000000e-01
Hotel.nameHilton Grand Vacations at the Flamingo
-2.500000e-01
Hotel.nameHilton Grand Vacations on the Boulevard
-4.166667e-02
Hotel.nameMarriott's Grand Chateau
3.333333e-01
Hotel.nameMonte Carlo Resort&Casino
-9.166667e-01
Hotel.nameParis Las Vegas
-1.666667e-01
Hotel.nameThe Cosmopolitan Las Vegas
4.166667e-02
Hotel.nameThe Cromwell
-1.250000e-01
Hotel.nameThe Palazzo Resort Hotel Casino
1.666667e-01
Hotel.nameThe Venetian Las Vegas Hotel
3.750000e-01
Hotel.nameThe Westin las Vegas Hotel Casino & Spa
-2.916667e-01
Hotel.nameTreasure Island- TI Hotel & Casino
-2.500000e-01
Hotel.nameTropicana Las Vegas - A Double Tree by Hilton Hotel
-1.666667e-01
Hotel.nameTrump International Hotel Las Vegas
1.666667e-01
Hotel.nameTuscany Las Vegas Suites & Casino
3.657007e-15
Hotel.nameWyndham Grand Desert
1.666667e-01
Hotel.nameWynn Las Vegas
4.166667e-01
Hotel.stars3,5
NA
Hotel.stars4
NA
Hotel.stars4,5
NA
Hotel.stars5
NA
Вы можете увидеть, что все коэффициенты для звезд - это NA, что означает, что это невозможно оценить. Почему это так? Если мы подумаем о том, что мы делаем, нам нужно, чтобы отель был как 4-звездочный, так и 3-звездочный, чтобы оценить эти два эффекта. На самом деле это невозможно, и мы можем это увидеть, если свести в таблицу коэффициенты:
table(vegas.data$Hotel.name,vegas.data$Hotel.stars)
3 3,5 4 4,5 5
Bellagio Las Vegas 0 0 0 0 24
Caesars Palace 0 0 0 0 24
Circus Circus Hotel & Casino Las Vegas 24 0 0 0 0
Encore at wynn Las Vegas 0 0 0 0 24
Excalibur Hotel & Casino 24 0 0 0 0
Hilton Grand Vacations at the Flamingo 24 0 0 0 0
Hilton Grand Vacations on the Boulevard 0 24 0 0 0
Marriott's Grand Chateau 0 24 0 0 0
Monte Carlo Resort&Casino 0 0 24 0 0
Paris Las Vegas 0 0 24 0 0
The Cosmopolitan Las Vegas 0 0 0 0 24
The Cromwell 0 0 0 24 0
The Palazzo Resort Hotel Casino 0 0 0 0 24
The Venetian Las Vegas Hotel 0 0 0 0 24
The Westin las Vegas Hotel Casino & Spa 0 0 24 0 0
Treasure Island- TI Hotel & Casino 0 0 24 0 0
Tropicana Las Vegas - A Double Tree by Hilton Hotel 0 0 24 0 0
Trump International Hotel Las Vegas 0 0 0 0 24
Tuscany Las Vegas Suites & Casino 24 0 0 0 0
Wyndham Grand Desert 0 24 0 0 0
Wynn Las Vegas 0 0 0 0 24
Таким образом, вы можете увидеть, что у 1 названия отеля есть только одна c звездность. Если вам нужно регрессировать, вы можете выбрать только название отеля или звезду отеля, но не оба.
Распространение этого на модель, которую вы хотите построить, имеет смысл проверить все ваши предикторы, знать, что они делают, прежде чем продолжить