线性函数拟合R语言示例

摘要:
线性函数拟合(y=a+bx)1。R运行示例R语言运行代码如下:data=data1)summary(lm.data1)#输出拟合信息调用:lm(formula=data1$y~data1$x)残差:
线性函数拟合(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值概率的2

          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张线性函数拟合R语言示例第2张

免责声明:文章转载自《线性函数拟合R语言示例》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇用过的两种鼠标右键添加快捷指令方法springboot使用RestTemplate+httpclient连接池发送http消息下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

数据可视化之powerBI技巧(十二)学会这几个度量值,轻松获取前N名

数据中的明细项一般都有很多,可是我们关注的往往只是前几名,所以在报表中只展示关注的部分,就十分常用。 有了上篇(这几个示例,帮你深入理解RANKX排名)关于排名的铺垫,仅显示前N名就简单多了。 依然以上篇文章数据中的数据为例,按销售额的高低来显示前几名的产品,使用最常用的排名方式, 排名 = RANKX(ALL('产品'),[销售额]) 有了这个排名,如果...

二、Metrics指标类型

Prometheus 的客户端库中提供了四种核心的指标类型。但这些类型只是在客户端库(客户端可以根据不同的数据类型调用不同的 API 接口)和在线协议中,实际在 Prometheus server 中并不对指标类型进行区分,而是简单地把这些指标统一视为无类型的时间序列 2.1、Counter (计数器) ​ Counter 类型代表一种样本数据单调递增的指...

NOIP比赛写代码注意事项

1.头文件:   常用头文件:      <iostream>      <cstdio>      <cmath>      <cstring>      <cstdlib>      cstdio包含scanf和printf,有的编译器iostream都包含了,都写上比较好一般写代码时先都把这...

数据库(增、删、改、查)

数据库(增、删、改、查) 数据库: 三个层次:文件--服务--界面 (DBMS) 两种登录方式的设置:Windows身份登录;SqlServer身份登录。 如何设置SQLServer身份验证? 1.对象资源管理器右击--属性--安全性--SqlServer和Windows身份登录。 2.对象资源管理器--安全性--登录--sa--右击--属性--常规--...

CSS3 -- 透明色(rgba)

1、rgba 描述   rgb:红r、绿g、蓝b   rgba:红r、绿g、蓝b、透明度Alpha   取值:     r、g、b值:正整数(0 ~ 255) | 百分数( 0.0% ~ 100.0%);(超出范围的数值将被截至其最接近的取值极限。并非所有浏览器都支持使用百分数值。)     a透明度值:取值0~1之间;(不可为负) 2、rgba 兼容...

Mysql 日期时间类型详解

MySQL 中有多种数据类型可以用于日期和时间的表示,不同的版本可能有所差异,表3-2 中列出了MySQL 5.0 中所支持的日期和时间类型。 这些数据类型的主要区别如下: * 如果要用来表示年月日,通常用DATE 来表示。 * 如果要用来表示年月日时分秒,通常用DATETIME 表示。 * 如果只用来表示时分秒,通常用TIME 来表示。 * 如...