model = lm(freq ~ ns(day,100)+weekdays,data = y)
model1 = lm(freq ~ ns(day,10)+weekdays,data = y)
model3 = lm(freq ~ ns(day,11)+weekdays,data = y)
model2 = lm(freq ~ ns(day,9)+weekdays,data = y)
summary(model1)
##
## Call:
## lm(formula = freq ~ ns(day, 10) + weekdays, data = y)
##
## Residuals:
## Min 1Q Median 3Q Max
## -28032 -2937 683 3075 33248
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 14858.3 1115.5 13.320 < 2e-16 ***
## ns(day, 10)1 5100.1 1311.3 3.889 0.000107 ***
## ns(day, 10)2 13312.7 1677.8 7.935 5.26e-15 ***
## ns(day, 10)3 14772.0 1495.6 9.877 < 2e-16 ***
## ns(day, 10)4 22234.7 1596.5 13.927 < 2e-16 ***
## ns(day, 10)5 21825.4 1543.2 14.143 < 2e-16 ***
## ns(day, 10)6 16527.1 1570.8 10.521 < 2e-16 ***
## ns(day, 10)7 14031.1 1551.9 9.041 < 2e-16 ***
## ns(day, 10)8 6487.2 1300.7 4.988 7.12e-07 ***
## ns(day, 10)9 7551.7 2634.6 2.866 0.004233 **
## ns(day, 10)10 -2790.2 1199.5 -2.326 0.020199 *
## weekdays2 2357.1 622.1 3.789 0.000160 ***
## weekdays3 2589.5 621.1 4.169 3.30e-05 ***
## weekdays4 2959.9 621.1 4.765 2.14e-06 ***
## weekdays5 1279.9 621.2 2.060 0.039600 *
## weekdays6 -2526.9 621.1 -4.068 5.09e-05 ***
## weekdays7 -3211.7 622.1 -5.162 2.90e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5494 on 1079 degrees of freedom
## Multiple R-squared: 0.6143, Adjusted R-squared: 0.6086
## F-statistic: 107.4 on 16 and 1079 DF, p-value: < 2.2e-16
pmodel<- predict(model,newdata = data.frame(day=re2017$day, weekdays = re2017$weekdays))
pmodel2<- predict(model2,newdata = data.frame(day=re2017$day, weekdays = re2017$weekdays))
pmodel3<- predict(model3,newdata = data.frame(day=re2017$day, weekdays = re2017$weekdays))
pmodel1<- predict(model1,newdata = data.frame(day=re2017$day, weekdays = re2017$weekdays))
plot(model)




anova(model1)
## Analysis of Variance Table
##
## Response: freq
## Df Sum Sq Mean Sq F value Pr(>F)
## ns(day, 10) 10 4.5982e+10 4598193116 152.321 < 2.2e-16 ***
## weekdays 6 5.8947e+09 982455750 32.545 < 2.2e-16 ***
## Residuals 1079 3.2572e+10 30187458
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
mean((re2017$freq-pmodel)^2)
## [1] 39787397
mean((re2017$freq-pmodel1)^2)#########best
## [1] 32456734
mean((re2017$freq-pmodel2)^2)
## [1] 32939864
mean((re2017$freq-pmodel3)^2)
## [1] 33278511
AIC(model,model1,model2,model3)
## df AIC
## model 108 21949.33
## model1 18 22005.52
## model2 17 21995.67
## model3 19 21987.15
datas <- data.frame(re2017$freq,re2017$day,pmodel,pmodel2,pmodel1)
ggplot(data=datas,aes(x=datas$re2017.day,y=datas$re2017.freq))+geom_line()+
geom_line(data=datas,aes(x=datas$re2017.day,y=datas$pmodel2),col="red")
