线性函数拟合R语言示例
线性函数拟合(y=a+bx)
1. R运行实例
R语言运行代码如下:绿色为要提供的数据,黄色标识信息为需要保存的。
x<-c(0.10,0.11, 0.12, 0.13, 0.14, 0.15,0.16, 0.17, 0.18, 0.20, 0.21, 0.23)
y<-c(42.0,43.5, 45.0, 45.5, 45.0, 47.5,49.0, 53.0, 50.0, 55.0, 55.0, 60.0)
data1=data.frame(x=x,y=y) #数据存入数据框
#拟合线性函数
lm.data1<-lm(y~ x,data=data1)
summary(lm.data1) #输出拟合后信息
Call:
lm(formula = data1$y ~ data1$x)
Residuals: #残差分位数(当残差个数较少时,此处显示所有残差值)
Min 1Q Median 3Q Max
-2.0431 -0.7056 0.1694 0.6633 2.2653
Coefficients:
#系数估计值 #系数标准误差 #t检验值 #对应t值概率的倍
Estimate Std. Error t value Pr(>|t|)
(Intercept) 28.493 1.580 18.04 5.88e-09 ***
data1$x 130.835 9.683 13.51 9.50e-08 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’1
Residual standard error: 1.319 on 10degrees of freedom
#拟合优度判定系数 #修正的拟合优度判定系数
Multiple R-squared: 0.9481, AdjustedR-squared: 0.9429
#F检验值 #F检验值对应的概率
F-statistic: 182.6 on 1 and 10 DF, p-value:9.505e-08
t检验值对应的Pr(>|t|):该数值由于是t检验量对应的概率的2倍,所以其数值小于0.1时,就说明对应的自变量对于因变量来说是有显著性的,当然数值越小,显著性越高。
F检验值对应的p-value:F检验值对应的概率。当其数值小于0.05时,说明回归方程是显著的。
Adjusted R-squared修正拟合优度:数值越接近1,模型拟合的越好。
/***********************数值输出********************************/
coefficient<-lm.data1$coefficients #回归所有系数列举
coefficient[1] #系数a:截距
coefficient [2] #系数b
tvalue<-summary(lm.data1)$coefficients[1:2,3] #t检验值
tvalue[1] #系数a对应的t检验值
tvalue[2] #系数b对应的t检验值
Pr<-summary(lm.data1)$coefficients[1:2,4] #t检验值对应的概率的2倍
Pr[1] #系数a对应t检验值对应的概率2倍
Pr[2] #系数b对应t检验值对应的概率2倍
ARsquared<-summary(lm.data1)$adj.r.squared #修正的拟合优度判定系数
F_info<-summary(lm.data1)$fstatistic #F检验的F值、自由度DF和概率
F_info[1] #F检验值
F_info[2] #F检验量的自由度
F_info[3] #F检验值对应的概率
/****************************************************************/
#残差正态性检验
ks.test(lm.data1$residuals,"pnorm",0)
One-sampleKolmogorov-Smirnov test
data: lm.data1$residuals
#D检验值 #对应的概率值
D = 0.1332, p-value = 0.9648
alternative hypothesis: two-sided
D检验值对应的概率值p-value:该数值大于0.05,说明残差服从均值为0的正态分布。
/***********************数值输出********************************/
ks_test<-ks.test(lm.data1$residuals,"pnorm",0) #获取正态性检验信息
ks_test[1] #KS检验值
ks_test[2] #KS检验值对应的概率
/****************************************************************/
#残差独立性检验:DW法检验残差序列的自相关性
dwtest(lm.data1)
Durbin-Watsontest
data: lm.data1
#d.w检验值#对应的概率值
DW = 2.5465, p-value = 0.7422
alternative hypothesis: trueautocorrelation is greater than 0
DW检验值对应的概率值p-value:该数值大于0.05时,说明残差序列独立。
/***********************数值输出********************************/
dw_test<-dwtest(lm.data1) #获取独立性检验信息
dw_test[1] #DW检验值
dw_test[4] #DW检验值对应的概率
/****************************************************************/
#残差同方差检验
bptest(lm.data1)
studentizedBreusch-Pagan test
data: lm.data1
#BP检验值 #自由度 #对应概率值
BP = 0.9831, df = 1, p-value = 0.3214
BP检验值对应的概率值p-value:该数值大于0.05,说明残差是同方差的。
/***********************数值输出********************************/
bp_test<- bptest(lm.data1) #获取独立性检验信息
bp_test[1] #BP检验值
bp_test[2] #BP检验量的自由度
bp_test[4] #BP检验值对应的概率
/****************************************************************/
2. 拟合曲线图
ab<-round(lm.data1$coefficients[1],3) #回归方程系数a,保留3位小数
bb<-round(lm.data1$coefficients[2],3) #回归方程系数b,保留3位小数
plot(data1$x,data1$y,xlab="x",ylab = "y",col="red",pch="*") #训练数据点
abline(lm.data1,col="blue") #拟合曲线
text(mean(data1$x),max(data1$y),paste("y = ",bb,"x+(",ab,")",sep = ""))#方程式
线性函数拟合R语言示例的更多相关文章
- survival analysis 生存分析与R 语言示例 入门篇
原创博客,未经允许,不得转载. 生存分析,survival analysis,顾名思义是用来研究个体的存活概率与时间的关系.例如研究病人感染了病毒后,多长时间会死亡:工作的机器多长时间会发生崩溃等. ...
- 第五篇:R语言数据可视化之散点图
散点图简介 散点图通常是用来表述两个连续变量之间的关系,图中的每个点表示目标数据集中的每个样本. 同时散点图中常常还会拟合一些直线,以用来表示某些模型. 绘制基本散点图 本例选用如下测试数据集: 绘制 ...
- 第六篇:R语言数据可视化之数据分布图(直方图、密度曲线、箱线图、等高线、2D密度图)
数据分布图简介 中医上讲看病四诊法为:望闻问切.而数据分析师分析数据的过程也有点相似,我们需要望:看看数据长什么样:闻:仔细分析数据是否合理:问:针对前两步工作搜集到的问题与业务方交流:切:结合业务方 ...
- 第四篇:R语言数据可视化之折线图、堆积图、堆积面积图
折线图简介 折线图通常用来对两个连续变量的依存关系进行可视化,其中横轴很多时候是时间轴. 但横轴也不一定是连续型变量,可以是有序的离散型变量. 绘制基本折线图 本例选用如下测试数据集: 绘制方法是首先 ...
- R语言-处理异常值或报错的三个示例
博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html Tuesday, March 31, 2015 之前用rvest帮人写了一个定期抓取amazon ...
- R语言-Kindle特价书爬榜示例 & 输出HTML小技巧
博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html ---- 自从买了kindle以后,总是想要定期刷有没有便宜的书,amazon经常有些1元/2元 ...
- R语言-Kindle特价书爬榜示例 & 输出HTML小技巧(转)
自从买了kindle以后,总是想要定期刷有没有便宜的书,amazon经常有些1元/2元的书打特价,但是每次都去刷那些榜单太麻烦了,而且榜单又不能按照价格排名,捞书有点累 所以自己用R语言的rvest包 ...
- R语言进行文件夹操作示例(转)
rm(list=ls())path = 'J:/lab/EX29 --在R语言中进行文件(夹)操作'setwd(path)cat("file A\n", file="A& ...
- 【R语言系列】作图入门示例一
假设有如下数据,我们使用plot函数作图 月龄 体重 月龄 体重 1 4.4 9 7.3 3 5.3 3 6.0 5 7.2 9 10.4 2 5.2 12 10.2 11 8.5 3 6.1 R语 ...
随机推荐
- Linux查看程序端口占用情况【转】
今天发现服务器上Tomcat 8080端口起不来,老提示端口已经被占用. 使用命令: ps -aux | grep tomcat 发现并没有8080端口的Tomcat进程. 使用命令:netstat ...
- 修改linux 文件权限命令 chmod
[转载自:http://www.cnblogs.com/avril/archive/2010/03/23/1692809.html] Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以 ...
- Xwindow 连接 RHEL 5
cd /etc/gdm/custom.conf ----------------------------------------- [security] AllowRemoteRoot=true [x ...
- Error initializing endpoint java.lang.Exception: Socket bind failed: [730048] ?????????×???(Э?é/???????/???)????í??
2010-5-18 22:00:38 org.apache.catalina.core.AprLifecycleListener lifecycleEvent 信息: The Apache Tomca ...
- BroadcastReceiver的实例----基于Service的音乐播放器之二
该程序的后台Service会在播放状态发生改变时对外发送广播(广播将会激发前台Activity的BroadcastReceiver):它也会采用BroadcastReceiver监听来自前台Activ ...
- submit回车提交影响
$(".bInput").bind('keydown',function(event){//回车提交手动标签 if(event.keyCode==13){ ...
- S1 : 递归
递归函数是在一个函数通过名字调用自身的情况下构成的,如下所示 function f(num){ if(num<=1){ return 1; } else { return num*f(num-1 ...
- [开发笔记]-使用jquery获取url及url参数的方法
使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery获取url很简单,代码如下: window.location.href; 其实只是用到了javasc ...
- 用K2 smartforms开发一个应用程序究竟比ASP.NET快多少?
这次试验的起因是一场内部辩论. “用K2 smartforms开发一个应用程序究竟比ASP.NET快多少?” 我们推测是快4倍. 但是经过测试发现,我们推测错了. 本文记录了试验的规划.过程以及令人惊 ...
- 踏着前人的脚印学Hadoop——序列化,Writerable
package org.apache.hadoop.io; import java.io.DataOutput;import java.io.DataInput;import java.io.IOEx ...