glm非线性预测

时间:2016-05-19 19:18:48

标签: r ggplot2 logistic-regression prediction

我希望根据现有增长预测下一段时间的用户增长。下面是代码和结果。问题是ggplot glm是一个线性回归模型。因此,增长过于慷慨。我能以某种方式获得更好的拟合预测吗?感谢

date <- c(as.Date("2016-4-1"), as.Date("2016-4-2"), as.Date("2016-4-3"), as.Date("2016-4-4"), as.Date("2016-4-5"), as.Date("2016-4-6"), as.Date("2016-4-7"), as.Date("2016-4-14"), as.Date("2016-4-21"), as.Date("2016-4-28"), as.Date("2016-5-5"), as.Date("2016-5-12"), as.Date("2016-5-19"))
users <- c(44367531, 55398776, 61215790, 65289569, 70244719, 72920785, 74751819, 87910607, 96620788, 103815241, 110267109, 116033006, 121007902)
ds <- data.frame(date, users)

model <- glm(users ~ date, data=df)
df.new <- data.frame(date=c(as.Date("2016-06-01"), as.Date("2016-07-01"), as.Date("2016-08-01"), as.Date("2016-09-01"), as.Date("2016-10-01")))
df.new$future <- predict(model, newdata=df.new)

g1 <- ggplot(merge(x=df, y=df.new, by="date", all=TRUE), aes(date))
g1 <- g1 + geom_line(aes(y=users, color="users"))
    g1 <- g1 + geom_line(aes(y=future, color="future"))
g1 <- g1 + labs(title="User Growth", y="Total Users", x="Date")
g1 <- g1 + scale_x_date(breaks=date_breaks("1 month"), labels=date_format("%Y-%m-%d"), limits=c(as.Date("2016-04-01"), as.Date("2017-01-01")))
g1 <- g1 + scale_y_continuous(name="Total Users", labels=comma)
g1 <- g1 + theme(axis.text.x=element_text(angle=90, hjust=1))
g1

enter image description here

0 个答案:

没有答案