BI C () и regsubsets () дают разные ответы - PullRequest
0 голосов
/ 28 мая 2020

у меня есть этот Dataframe:

# install.packages(dplyr)
library(dplyr)
df <- tibble(
          sales = c(-48,-11,24,26,67,60,40,42,20,-9,17,-21),
          P1 = c(1,0,0,0,0,0,0,0,0,0,0,0,0),
          P10 = c(0,0,0,0,0,0,0,0,0,1,0,0,0),
          P11 = c(0,0,0,0,0,0,0,0,0,0,1,0,0),
          P12 = c(0,0,0,0,0,0,0,0,0,0,0,1,0),
          P2 = c(0,1,0,0,0,0,0,0,0,0,0,0,0),
          P3 = c(0,0,1,0,0,0,0,0,0,0,0,0,0),
          P4 = c(0,0,0,1,0,0,0,0,0,0,0,0,0),
          P5 = c(0,0,0,0,1,0,0,0,0,0,0,0,0),
          P6 = c(0,0,0,0,0,1,0,0,0,0,0,0,0),
          P7 = c(0,0,0,0,0,0,1,0,0,0,0,0,0),
          P8 = c(0,0,0,0,0,0,0,1,0,0,0,0,0),
          P9 = c(0,0,0,0,0,0,0,0,1,0,0,0,0)
          )
print(df)

он дает мне это:

# A tibble: 13 x 13
    sales    P1   P10   P11   P12    P2    P3    P4    P5    P6    P7    P8
    <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
 1 -48        1     0     0     0     0     0     0     0     0     0     0
 2 -11        0     0     0     0     1     0     0     0     0     0     0
 3  24        0     0     0     0     0     1     0     0     0     0     0
 4  26        0     0     0     0     0     0     1     0     0     0     0
 5  67        0     0     0     0     0     0     0     1     0     0     0
 6  60        0     0     0     0     0     0     0     0     1     0     0
 7  40        0     0     0     0     0     0     0     0     0     1     0
 8  42        0     0     0     0     0     0     0     0     0     0     1
 9  20        0     0     0     0     0     0     0     0     0     0     0
10  -9        0     1     0     0     0     0     0     0     0     0     0
11  17        0     0     1     0     0     0     0     0     0     0     0
12 -21        0     0     0     1     0     0     0     0     0     0     0
# ... with 1 more variable: P9 <dbl>

с пакетными скачками я могу сравнивать разные модели:

#install.packages("leaps")
library("leaps")
regsubsets.out<- regsubsets(sales ~ .,  df , nbest = 1, method = "exhaustive")
summary.out <- summary(regsubsets.out)  
#compare models of different size sorted by bic (in this example)
plot(regsubsets.out, scale = "bic", main = "BIC") 

это дает мне такой результат: bic graph

Как вы можете видеть на этом рисунке, лучшая модель с минимальным BI C - это продажи модели ~ P1 + P10 + P12 + P2 + P5 + P6 + P7 + P8 с BI C = -21

inspected_model <- lm(sales~P1+P10+P12+P2+P5+P6+P7+P8, data = df)
print(BIC(inspected_model))
# ---> 108.612

Почему мои результаты совершенно разные? очевидно, что я что-то упустил с одной из этих функций, но я не знаю, что ...

PS: это не статистический вопрос, потому что он говорит о его программировании

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...