у меня есть этот 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")
это дает мне такой результат:
Как вы можете видеть на этом рисунке, лучшая модель с минимальным 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: это не статистический вопрос, потому что он говорит о его программировании