Выбор переменной в R

Я устанавливаю модель для поиска значимых переменных с помощью выбора переменных.

 str(tweets2)
'data.frame':   6429 obs. of  13 variables:
 $ created_at            : Factor w/ 5918 levels "1/10/2019 17:40",..: 56 
53 52 51 50 49 48 47 46 45 ...
 $ screen_name           : Factor w/ 2 levels "HillaryClinton",..: 1 1 1 
 1 1 1 1 1 1 1 ...
 $ text                  : chr  "On top of human suffering and lasting 
damage to our national parks  the Trump shutdown cost the economy     
bil"| __truncated__ "Hurricane Maria decimated trees and ecosystems in 
Puerto Rico  Para La Naturaleza s nurseries have made a CGI c"| 
__truncated__ "Time to make the churros at Kreamy Ice Cream Shop in 
Puerto Rico   ClintonGlobal and  Foundation PR are working"| 
__truncated__ " chefjoseandres You are an inspiration  my friend " ...
$ source                : Factor w/ 6 levels "TweetDeck","Twitter for 
iPad",..: 6 6 6 6 6 6 6 6 3 3 ...
$ display_text_width    : int  192 235 238 34 222 214 140 259 140 140 ...
$ is_retweet            : logi  FALSE FALSE FALSE FALSE FALSE FALSE ...
$ favorite_count        : int  14324 10684 11423 1293 6641 12192 0 17618 
0 0 ...
$ retweet_count         : int  4168 2526 2089 113 951 2108 2094 4999 691 
915 ...
 $ retweet_favorite_count: int  NA NA NA NA NA NA 4214 NA 3474 3360 ...
 $ retweet_retweet_count : int  NA NA NA NA NA NA 2094 NA 691 915 ...
 $ retweet_screen_name   : Factor w/ 434 levels "ABCPolitics",..: NA NA 
NA NA NA NA 152 NA 227 44 ...
 $ retweet_name          : Factor w/ 433 levels "ABC News Politics",..: 
NA NA NA NA NA NA 159 NA 236 47 ...
$ retweet_statuses_count: int  NA NA NA NA NA NA 10784 NA 50482 10242 ...

vs = lm(screen_name ~.,data = tweets2) fitstart = lm(screen_name ~ 1,data = tweets2) step(fitstart,direction = "forward") fitstart = lm(screen_name ~ 1,data = tweets2)

Ошибка в шаге (fitstart, direction = "forward"): AIC - бесконечность для этой модели, поэтому 'step' не может продолжаться. Дополнительно: Предупреждение: в Ops.factor (weighted.residuals (object), 2): '^ 'не имеет значения для факторов


person Kasi Perumal    schedule 09.04.2019    source источник


Ответы (1)


Вы пытаетесь предсказать дихотомический фактор с двумя уровнями. Пошаговый выбор неприемлем, и вам следует использовать логистическую регрессию. Даже в этом случае, если вы, например, используете bestglm, вам нужно преобразовать эту переменную в 0 и 1.

person Dij    schedule 09.04.2019
comment
Спасибо за ответ! Можете ли вы предоставить код для использования функции bestglm? - person Kasi Perumal; 10.04.2019
comment
Я не могу вам в этом помочь, потому что я не знаком с логистической регрессией с использованием категориальных предикторов. Возможно, поможет поиск категориального анализа главных компонентов. Если вас интересует классификация двоичного результата с использованием числовых переменных, то bestglm можно использовать следующим образом bestglm(Xy, family = binomial), где Xy - ваш объект класса data.frame, отформатированный таким образом, что все переменные-предикторы находятся слева, а ваш дихотомический результат кодируется 0 и 1 , названный y, является последним столбцом справа. - person Dij; 10.04.2019