准备
①导入文件
查看默认存储路径,再将csv文档存入文件夹打开:
(使用逗号作为小数点、分号作为字段分隔符的地区中使用csv2)
getwd()
read.csv("titanic.csv")
导入所需包
library(tidyverse)
library(modelr)
【一元线性回归】
回归分析(Regression Analysis):确定2个或2个以上变量间关系的一种统计分析方法。
如果回归分析中,只包括一个自变量X和一个因变量Y时,且它们的关系是线性的,那么这种回归分析称为一元线性回归分析。
步骤
①确定因变量Y 与 自变量X1, X2, …, Xn 之间的定量关系表达式,即回归方程;
②对回归方程的置信度检查;
③判断自变量Xn(n=1,2,…,m)对因变量的影响;
④利用回归方程进行预测。
Yi = a + b * X + ci, i= 1,2,...n
其中E(ci)=0, var(ci)=σ^2, i=1,2,...n
- 用lm()函数来实现一元线性回归的建模过程。
lm(y~x) 默认有截距项
lm(y~x+1) 有截距项
lm(y~-1) 没有截距项
1.建立线性回归模型
P<-lm(y ~ x)
2.打印参数估计的结果
P
(Intercept为自变量系数)
3.画出回归直线
plot(y~x)
abline(P)
画图时加上总标题、x轴标题、y轴标题、x轴区间、y轴区间
plot(y~ x,
data = CASchools,
main = "Scatterplot of TestScore and STR",
xlab = "STR (X)",
ylab = "Test Score (Y)",
xlim = c(10, 30),
ylim = c(600, 720))
- coefficients()函数——输出模型的参数估计值
- 回归直线是我们用数据拟合出来的,是近似的值,评价这条回归线拟合的好坏,我们就需要对回归模型进行显著性检验。
4.回归方程的显著性检验
① T检验法:T检验是检验模型某个自变量Xi对于Y的显著性,通常用P-value判断显著性,小于0.01更小时说明这个自变量Xi与Y相关关系显著。
② F检验法:F检验用于对所有的自变量X在整体上看对于Y的线性显著性,也是用P-value判断显著性,小于0.01更小时说明整体上自变量与Y相关关系显著。
③ R^2 相关系统检验法:用来判断回归方程的拟合程度,R^2的取值在0,1之间,越接近1说明拟合程度越好。
- summary()函数来提取模型的计算结果:
summary(P)
coeftest函数用于对回归系数进行检验(t检验或z检验)
coeftest(x, vcov. = NULL, df = NULL, ...)
参数x——进行检验的对象,一般需是一个回归模型(即lm类型数据);
参数vcov. ——表示参数的方差(矩阵),取默认值NULL时,使用的就是传统回归的估计方法;
df ——t 检验的自由度,取默认值NULL时自由度为n-k(即样本量减参数量),而当df取负值时,检验方法将会从t检验(t分布假设)变为z检验(正态分布假设)。
https://blog.csdn.net/weixin_40628687/article/details/88955575?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162233570616780274147918%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=162233570616780274147918&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-1-88955575.first_rank_v2_pc_rank_v29&utm_term=R%E8%AF%AD%E8%A8%80%E8%AE%A1%E9%87%8F+newey-west%E8%B0%83%E6%95%B4&spm=1018.2226.3001.4187
T检验:检验解释变量的显著性;
R-squared:查看方程的拟合程度
F检验:检验方程整体显著性
模型解读:
Call,列出了回归模型的公式。
Residuals,列出了残差的最小值、1/4分位、中位数、3/4分位、最大值。
Intercept ,截距项
Coefficients,系数项,表示参数估计的计算结果。
Estimate,参数估计列。Intercept行表示常数参数a的估计值 ,x行表示自变量x的参数b的估计值。
Std. Error,为参数的标准差,sd(a), sd(b)
t value,为t值,为T检验的值
Pr(>|t|) ,表示P-value值,用于T检验判定,估计系数为0假设的概率,小于0.05比较好,匹配显著性标记。
显著性标记,*** 为非常显著,**为高度显著, **为显著,·为不太显著,没有记号为不显著。
Residual standard error,残差标准误,自由度为n-2,显示残差的标准误差,越小越好。
Multiple R-squared,为相关系数R^2的检验,衡量模型拟合质量的指标,表示回归模型所能解释的响应变量的方差比例。取值在0-1之间,越大越好,越接近1则越显著。
Adjusted R-squared,为相关系数的修正系数,解决多元回归自变量越多,判定系数R^2越大的问题。
F-statistic,表示F统计量,自由度为(1,n-2),用P-value衡量。P-value越小越好,越小越显著。
例:marketshare=-0.2949*price+0.0305
Multiple R-squared=0.01155,表示这个模型只能解释1.155%的数据
【注】一般先看F统计量是否小于0.05,否则模型没有价值,需要重新进行拟合;再看R²,看模型能够解释多少变量)
通过查看模型的结果数据,可以发现通过T检验的截距和自变量x是否显著,通过F检验判断出整个模型的自变量是否显著,同时R^2的相关系数检验可以判断自变量和因变量是否高度相关。
http://blog.fens.me/r-linear-regression/计算回归系数的置信区间
confint(data,level=0.95)
- 输出方差分析表
anova(data)
- 线性拟合常用函数
summary( ) 展示拟合模型的详细结果
coefficients( ) 列出拟合模型的模型参数(截距项和斜率)
confint( ) 提供模型参数的置信区间(默认95%)
fitted( ) 列出拟合模型的预测值
rediduals( ) 列出拟合模型的残差值
anova( ) 生成拟合模型的方差分析表,或比较2个或更多拟合模型的方差分析表
vocv( ) 列出拟合模型的协方差矩阵
plot( ) 生成评价拟合模型的诊断图
predict( ) 用拟合模型对新的数据集预测响应变量值
abline( ) 可绘制出拟合曲线
【多元线性回归】
/// 确定2个或2个以上变量间关系的统计分析方法。
/// 由于多元回归方程有多个自变量,区别于一元回归方程,有一项很重要的操作就是自变量的优化,挑选出相关性最显著的自变量,同时去除不显著的自变量。需要对选取多元数据集并定义数学模型,然后进行参数估计,对估计出来的参数进行显著性检验,残差分析,异常点检测,最后确定回归方程进行模型预测。
1.建立多元线性回归模型
P<-lm(y~x1+x2+x3+x4,data=df)
2.打印参数估计的结果,可得到y和x关系的方程
P
3.回归方程的显著性检验,同样是需要经过 T检验,F检验,和R^2相关性检验,用summary()函数来提取模型的计算结果:
summary(P)