线性函数拟合(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语言示例的更多相关文章

  1. survival analysis 生存分析与R 语言示例 入门篇

    原创博客,未经允许,不得转载. 生存分析,survival analysis,顾名思义是用来研究个体的存活概率与时间的关系.例如研究病人感染了病毒后,多长时间会死亡:工作的机器多长时间会发生崩溃等. ...

  2. 第五篇:R语言数据可视化之散点图

    散点图简介 散点图通常是用来表述两个连续变量之间的关系,图中的每个点表示目标数据集中的每个样本. 同时散点图中常常还会拟合一些直线,以用来表示某些模型. 绘制基本散点图 本例选用如下测试数据集: 绘制 ...

  3. 第六篇:R语言数据可视化之数据分布图(直方图、密度曲线、箱线图、等高线、2D密度图)

    数据分布图简介 中医上讲看病四诊法为:望闻问切.而数据分析师分析数据的过程也有点相似,我们需要望:看看数据长什么样:闻:仔细分析数据是否合理:问:针对前两步工作搜集到的问题与业务方交流:切:结合业务方 ...

  4. 第四篇:R语言数据可视化之折线图、堆积图、堆积面积图

    折线图简介 折线图通常用来对两个连续变量的依存关系进行可视化,其中横轴很多时候是时间轴. 但横轴也不一定是连续型变量,可以是有序的离散型变量. 绘制基本折线图 本例选用如下测试数据集: 绘制方法是首先 ...

  5. R语言-处理异常值或报错的三个示例

    博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html Tuesday, March 31, 2015 之前用rvest帮人写了一个定期抓取amazon ...

  6. R语言-Kindle特价书爬榜示例 & 输出HTML小技巧

    博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html ---- 自从买了kindle以后,总是想要定期刷有没有便宜的书,amazon经常有些1元/2元 ...

  7. R语言-Kindle特价书爬榜示例 & 输出HTML小技巧(转)

    自从买了kindle以后,总是想要定期刷有没有便宜的书,amazon经常有些1元/2元的书打特价,但是每次都去刷那些榜单太麻烦了,而且榜单又不能按照价格排名,捞书有点累 所以自己用R语言的rvest包 ...

  8. R语言进行文件夹操作示例(转)

    rm(list=ls())path = 'J:/lab/EX29 --在R语言中进行文件(夹)操作'setwd(path)cat("file A\n", file="A& ...

  9. 【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语 ...

随机推荐

  1. Jquery异步提交$.ajax的使用

    function test(){ var myEntity=new Object(); myEntity.pro1="xxx"; myEntity.pro2=10; $.ajax( ...

  2. c#网络通信框架networkcomms内核解析之八 数据包的核心处理器

    NetworkComms网络通信框架序言 本文基于networkcomms2.3.1开源版本  gplv3协议 我们先回顾一个 c#网络通信框架networkcomms内核解析之六 处理接收到的二进制 ...

  3. NimBus一个好的开发框架

    NimbusKit是一个非常适合有经验的开发人员使用的iOS开发框架,具备完整的文档,并且提供了模块化的方式来解决iOS开发中的各种不同需求.最重要的是,该框架会经常添加一些新的组件和功能. Nimb ...

  4. NGINX Plus 现在完全支持 HTTP/2

    早些时候,我们发布了支持 HTTP/2 协议的 NGINX Plus R7.作为 HTTP 协议的最新标准,HTTP/2 的设计为现在的 web 应用程序带来了更高的性能和安全性.(LCTT 译注: ...

  5. js基础之arguments、css

    arguments就是一个包含传入的参数的数组对象 栗子一: function sum(){ var result=0; for(var i=0;i<arguments.length;i++){ ...

  6. Andriod——区别DVM与JVM

    区别DVM与JVM 1.首要差别 Dalvik: 基于寄存器,编译和运行都会更快些 JVM: 基于栈, 编译和运行都会慢些 2.字节码的区别 Dalvik: 执行.dex格式的字节码,是对.class ...

  7. iOS各种动画效果

    ios各种动画效果 最普通动画: //开始动画 [UIView beginAnimations:nil context:nil];  //设定动画持续时间 [UIView setAnimationDu ...

  8. 创建ROS功能包(四)

    为了方便直接用ROS的create-pkg命令行工具 roscreate-pkg chapter2_tutorials std_msgs rospy roscpp std_msgs 包含了常见的消息类 ...

  9. HDU 5382 莫比乌斯反演

    题目大意: 求S(n)的值 n<=1000000 这是官方题解给出的推导过程,orz,按这上面说的来写,就不难了 这里需要思考的就是G(n)这个如何利用积性函数的性质线性筛出来 作为一个质数,那 ...

  10. [转]diskpart命令

    from: http://support.microsoft.com/kb/300415/zh-cn Diskpart 与许多命令行实用工具不同,原因是它不以单行模式操作.相反,当您启动该实用工具后, ...