-
Notifications
You must be signed in to change notification settings - Fork 0
/
Models.R
60 lines (49 loc) · 3.21 KB
/
Models.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
install.packages("corrplot")
install.packages("leaps")
library(ggplot2)
library(GGally)
library(corrplot)
library(plm)
library(MASS)
cor(temp, method = "spearman")
temp <- as.matrix(temp)
corrplot(cor(temp))
check <- cor(temp)
temp <- data[, c(6:15)]
# full model
reg1_full <- lm(total_viewers~ Score_Diff + Timeout_Duration + Q4_Score_Diff + L2M_Score_Diff + Wins_Avg_H + Losses_Avg_H + Ties_Avg_H + Wins_Avg_A + Losses_Avg_A + Ties_Avg_A + Day + Is_Weekend + Is_Festival
+ market_share_A + market_share_H + ASG_Players + ASG_Points + ASG_Mins + Field_Goals + Field_Goals_Attempted + Attempted_3pts + Success_3pts + ASG_Fan_Votes + ASG_Player_Votes +ASG_Media_Votes + Foreigners, data = data)
reg1_players <- lm(total_viewers~ ASG_Players, data = data)
summary(reg1_full)
# consider correlation (wins & loss)
reg2 <- lm(total_viewers~ Score_Diff + Timeout_Duration + Q4_Score_Diff + L2M_Score_Diff + Wins_Avg_H*Losses_Avg_H + Ties_Avg_H + Wins_Avg_A*Losses_Avg_A + Ties_Avg_A + Day + Is_Weekend + Is_Festival
+ market_share_A + market_share_H + ASG_Players + ASG_Points + ASG_Mins + Field_Goals + Field_Goals_Attempted + Attempted_3pts + Success_3pts, data = data)
summary(reg2)
step.reg2 <- stepAIC(reg2, direction = "both",
trace = FALSE)
summary(step.reg2)
# remove weekends/ Q4_Score_Diff /Score_Diff / asg related
# consider correlation (score & time duration)
reg2 <- lm(total_viewers~ Score_Diff*Q4_Score_Diff + Timeout_Duration*L2M_Score_Diff + Wins_Avg_H*Losses_Avg_H + Ties_Avg_H + Wins_Avg_A*Losses_Avg_A + Ties_Avg_A + Day + Is_Weekend + Is_Festival
+ market_share_A + market_share_H + ASG_Players + ASG_Points + ASG_Mins + Field_Goals + Field_Goals_Attempted + Attempted_3pts + Success_3pts + ASG_Fan_Votes + ASG_Player_Votes +ASG_Media_Votes + Foreigners , data = data)
summary(reg2_training)
step.reg2_training <- stepAIC(reg2_training, direction = "both",
trace = FALSE)
### checking if the 2nd model is better
anova(reg1_training , reg2_training)
cor_asg <- lm(training_n_1400$ASG_Players ~ training_n_1400$ASG_Fan_Votes)
summary(cor_asg)
# consider correlation (ASG player & ASG fan votes)
reg3 <- lm(total_viewers~ Score_Diff*Q4_Score_Diff + Timeout_Duration*L2M_Score_Diff + Wins_Avg_H*Losses_Avg_H + Ties_Avg_H + Wins_Avg_A*Losses_Avg_A + Ties_Avg_A + Day + Is_Weekend + Is_Festival
+ market_share_A + market_share_H + ASG_Players*ASG_Fan_Votes + ASG_Points + ASG_Mins + Field_Goals + Field_Goals_Attempted + Attempted_3pts + Success_3pts + Foreigners , data = training_n_1400)
summary(reg3)
step.reg3 <- stepAIC(reg3, direction = "both",
trace = FALSE)
summary(step.reg3)
# eliminate poor indicators (attempt/ASG mins)
reg4 <- lm(total_viewers~ Score_Diff*Q4_Score_Diff + Timeout_Duration*L2M_Score_Diff + Wins_Avg_H*Losses_Avg_H + Ties_Avg_H + Wins_Avg_A*Losses_Avg_A + Ties_Avg_A + Day + Is_Weekend + Is_Festival
+ market_share_A + market_share_H + ASG_Players*ASG_Fan_Votes + ASG_Points + Field_Goals + Success_3pts + Foreigners , data = data)
summary(reg4)
step.reg4 <- stepAIC(reg4, direction = "both",
trace = FALSE)
summary(step.reg4)