r语言回归分析_R语言简单线性回归分析

通过对榛果民宿数据的分析,发现价格与月流水之间存在较强相关性,入住率与月流水的相关性亦显著。进行了逻辑回归和线性回归分析,确认了这些关系。简单线性回归方程揭示了入住率和价格对月流水的影响。在验证回归假设后,模型可用于预测,例如,当入住率为0.93时,月流水预测值为5870.216元。模型中注意到截距不切实际,调整后得到更符合实际情况的方程。
摘要由CSDN通过智能技术生成

647b0637fd3b69d03d1dd5bfbc4c74af.png

数据来源:榛果民宿爬虫数据

cad4defffa38b2da01df150e63faf7c3.png

根据之前初步可视化得到的数据,我们认为,可以对月流水~价格,月流水~入住率之间的关系进行线性回归分析:

在此,我们还是要对其他因素进行相关关系的分析,以验证之前的结论是否正确。对于非数值型,即逻辑型元素,我们会用逻辑回归分析来解决。

1.	年龄-价格
2.	> cor(data[,2],data[,3])  
3.	[1] 0.1694674  
4.	年龄-入住率  
5.	> cor(data[,2],data[,5])  
6.	[1] 0.05836035  
7.	年龄-月流水  
8.	> cor(data[,2],data[,6])  
9.	[1] 0.08120197  
10.	价格-入住率  
11.	> cor(data[,3],data[,5])  
12.	[1] 0.2360558  
13.	价格-月流水  
14.	> cor(data[,3],data[,6])  
15.	[1] 0.7449479  
16.	入住率-月流水  
17.	> cor(data[,5],data[,6])  
18.	[1] 0.7738394  

可见,年龄和入住率有轻微的关联,价格和月流水相关关系较强,入住率和月流水的相关关系较强。下面将以上关联数据图形化,用散点图展示:

1def6e7d0317cb588ce4da44c18a51be.png
图6-1 入住率-年龄散点图

18becc9b3383d6f04d9a952ef82f54d6.png
图6-2 月流水-入住率散点图

9967c990891221cde201c52a5300f3e7.png
图6-3 月流水-价格散点图

可见,入住率和价格与月流水之间有近似的线性关系,其中存在的误差因素:数据中有两室一厅及更高户型的价格会更高一些,在入住率不高的情况下也会有着较高的月流水,还有其他一些因素,这里不再赘述

下面进行进一步的相关性测试:

年龄-入住率

1.	> cor.test(data[,2],data[,5],method='spearman')  
2.	  
3.	        Spearman's rank correlation rho  
4.	  
5.	data:  data[, 2] and data[, 5]  
6.	S = 2554972, p-value = 0.1406  
7.	alternative hypothesis: true rho is not equal to 0  
8.	sample estimates:  
9.	        rho   
10.	-0.09520067   
11.	  
12.	Warning message:  
13.	In cor.test.default(data[, 2], data[, 5], method = "spearman") :  
14.	  无法给连结计算精確p值  

价格-月流水

1.	> cor.test(data[,3],data[,6],method='spearman')  
2.	  
3.	        Spearman's rank correlation rho  
4.	  
5.	data:  data[, 3] and data[, 6]  
6.	S = 768090, p-value < 2.2e-16  
7.	alternative hypothesis: true rho is not equal to 0  
8.	sample estimates:  
9.	      rho   
10.	0.6707547   
11.	  
12.	Warning message:  
13.	In cor.test.default(data[, 3], data[, 6], method = "spearman") :  
14.	  无法给连结计算精確p值  

入住率-月流水

1.	> cor.test(data[,5],data[,6],method='spearman')  
2.	  
3.	        Spearman's rank correlation rho  
4.	  
5.	data:  data[, 5] and data[, 6]  
6.	S = 446369, p-value < 2.2e-16  
7.	alternative hypothesis: true rho is not equal to 0  
8.	sample estimates:  
9.	      rho   
10.	0.8086619   
11.	  
12.	Warning message:  
13.	In cor.test.default(data[, 5], data[, 6], method = "spearman") :  
14.	  无法给连结计算精確p值  

经证实,入住率,价格与月流水之间的相关性异常显著

下面,进行假设检验和简单线性回归分析

注:数据对最大值和最小值进行了删除处理

价格-月流水

1.	> dt<-data[,c(3,6)]  
2.	> dt  
3.	    价格 月流水  
4.	1    104   2912  
5.	2    108   3348  
6.	3    108   1512  
7.	4    108   1404  
8.	> summary(dt)  
9.	      价格           月流水       
10.	 Min.   : 25.0   Min.   :   37    
11.	 1st Qu.:149.0   1st Qu.: 2388    
12.	 Median :188.0   Median : 4108    
13.	 Mean   :191.4   Mean   : 4074    
14.	 3rd Qu.:218.0   3rd Qu.: 5346    
15.	 Max.   :488.0   Max.   :12688    
16.	> mod_simp_reg<-lm(月流水~价格,data=dt)  
17.	> summary(mod_simp_reg)  
18.	  
19.	Call:  
20.	lm(formula = 月流水 ~ 价格, data = dt)  
21.	  
22.	Residuals:  
23.	    Min      1Q  Median      3Q     Max   
24.	-6249.7  -831.2   513.2  1142.2  2651.1   
25.	  
26.	Coefficients:  
27.	            Estimate Std. Error t value Pr(>|t|)      
28.	(Intercept) -889.132    306.025  -2.905  0.00401 **   
29.	价格          25.937      1.502  17.263  < 2e-16 ***  
30.	---  
31.	Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1  
32.	  
33.	Residual standard error: 1628 on 239 degrees of freedom  
34.	Multiple R-squared:  0.5549,    Adjusted R-squared:  0.5531   
F-statistic:   298 on 1 and 239 DF,  p-value: < 2.2e-16  

简单线性回归方程如下:

月流水=-899.132+25.937*价格

入住率-月流水

1.	> dt<-data[,c(5,6)]  
2.	> dt  
3.	        入住率 月流水  
4.	1   0.90322581   2912  
5.	2   1.00000000   3348  
6.	3   0.45161290   1512  
7.	> summary(dt)  
8.	     入住率            月流水       
9.	 Min.   :0.03226   Min.   :   37    
10.	 1st Qu.:0.45161   1st Qu.: 2388    
11.	 Median :0.77419   Median : 4108    
12.	 Mean   :0.66270   Mean   : 4074    
13.	 3rd Qu.:0.87097   3rd Qu.: 5346    
14.	 Max.   :1.00000   Max.   :12688    
15.	> mod_simp_reg<-lm(月流水~入住率,data=dt)  
16.	> summary(mod_simp_reg)  
17.	  
18.	Call:  
19.	lm(formula = 月流水 ~ 入住率, data = dt)  
20.	  
21.	Residuals:  
22.	    Min      1Q  Median      3Q     Max   
23.	-3318.5  -863.3  -127.5   414.9  7431.2   
24.	  
25.	Coefficients:  
26.	            Estimate Std. Error t value Pr(>|t|)      
27.	(Intercept)   -379.0      255.9  -1.481     0.14      
28.	入住率        6719.6      355.8  18.888   <2e-16 ***  
29.	---  
30.	Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1  
31.	  
32.	Residual standard error: 1545 on 239 degrees of freedom  
33.	Multiple R-squared:  0.5988,    Adjusted R-squared:  0.5971   
F-statistic: 356.8 on 1 and 239 DF,  p-value: < 2.2e-16 

简单线性回归方程如下:

月流水=-379+6719.6*入住率

根据和质量相关的统计数据来看,变量之间存在着较佳的关联。评判标准:

1,标准误差残差Residual standard error: 要很低

2,调整后的R平方值,Multiple R-squared: 需要较高,可显示变量之间的良好关系

3,p-value要小,显示模型的显著性

下面,我们检验回归假设:

月流水~入住率之间,接受模型可用之前,我们需要建设回归假设是否为真

线性关系检验:

#可绘制残差与自变量的相应值

c066c234ede3a43299000e869920edc7.png

误差的独立性检验:

1.	#对于通过回归线附近误差的独立性检验,由于数据是在相同时间段内收集的,不需要进行此检验  
2.	>library(lmtest)  
3.	>dwtest(mod_simp_reg)  
4.	  
5.	Plot(mod_simp_reg)  

正态性检验

3f1208c28920dd5353476f96753eeb1a.png

残差大部分位于直线上,说明残差是近似正态分布的

Scale-location plot

aa8c39332d06fd4465e30349f9b2cba8.png

随着点在线周围的分布,因而确定恒定方差(同方差性)的假设

下面,使用library car中的crPlots 来理解由模型表示的线性关系

1.	> library(car)  
2.	> crPlots(mod_simp_reg)  

436ee1f7df5f1cfe7acc0efdf9bea0ae.png

可见,对模型进行模拟的效果基本可靠,可以通过验证回归假设的检验

模型通过验证后,即可预测响应变量,这里假设入住率为0.93:

1.	> predictor<-data.frame(入住率=0.93)  
2.	> predicted<-predict(mod_simp_reg,newdata=predictor)  
3.	> predicted  
4.	       1   
5.	5870.216   
6.	#范围预测:  
7.	> predicted<-predict(mod_simp_reg,newdata=predictor,interval='prediction')  
8.	> predicted  
9.	       fit      lwr      upr  
1 5870.216 2813.828 8926.604  

补充说明:从模型可以看出,截距为-4000多,不太符合实际,房屋租金1800,入住率为0时,其他的费用总和应该在500元左右,因此,可强制设置截距为0

1.	> mod_simp_reg_wo_intercept<-lm(dt$月流水~dt$入住率+0)  
2.	> crPlots(mod_simp_reg_wo_intercept)  

e332956ebb4ea9852e49950aa416341c.png

这样的图相对来说更符合实际

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值