R语言学习笔记:线性回归(一)

data = read.csv('Advertising.csv', header = TRUE, stringsAsFactors = FALSE)

plot (data$TV, data$sales)#以电视广告投入和销售量为坐标轴绘制散点图

abline(a = 0, b = 0.095, col = 'red')#插入估计的回归

model1 = lm(sales~TV, data = data)#对电视投入和销售量两个数据进行回归分析

summary (model1)#生成回归分析报告

abline (model1, col = 'green')#绘制新的回归曲线

plot (model1, 1)#线性假设,对于任意自变量的值来说,残差的期望应该是0(红线应与0基本一致)

同方差假设:残差的值应该均匀落在x轴两侧;解决方法:数据变换


plot (model1, 2)#正态分布假设:因变量与残差应该服从正太分布,生成Q-Q PLOT

点应该大致落在直线上


生成的回归分析报告:


三大假设保证模型的合理性,在三大假设成立的基础上,我们才能确保估计值服从我们希望的随机分布形式(t正太分布,F分布),才能进行统计推断


利用线性回归模型做预测:

确定范围:95%或者99%,例如预测TV = 100时的sales,代码如下:

new = data[1,]

new[2]=100

predict (model1, new, interval = 'prediction', se.fit=TRUE, level = 0.95)


predict用法:

predict(object, newdata, se.fit = FALSE, scale = NULL, df = Inf, interval = c(“none”, “confidence”, “prediction”), level = 0.95, type = c(“response”, “terms”), terms = NULL, na.action = na.paspred.var = res.var/weights, weights = 1, …)

newdata参数:An optional data frame in which to look for variables with which to predict.  If omitted, the fitted values are used.

se.fit参数:A switch indicating if standard errors are required.是否采取标准误

interval参数:区间计算的类型

level:置信度


运行结果:

预测值 下界 上界

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容