可揣度出y的值,还考虑了这么些已知点之间的自相关关系

克里金插值的主导介绍可以参考ALacrosseCGIS的救助文档[1]. 其本质就是根据已知点的数值,确定其周围点(预测点)的数值。最直观的主意就是找到已知点和预测点数值之间的涉嫌,从而预测出预测点的数值。比如IDW插值方法,就是若是已知点和预测点的值跟它们相对距离成反比。克里金插值的精美之处在于它不但考虑了已知点和预测点的离开关系,还考虑了那个已知点之间的自有关涉嫌。

克里金插值的宗旨介绍可以参见A奇骏CGIS的帮忙文档[1]. 其本质就是依据已知点的数值,确定其周围点(预测点)的数值。最直观的不二法门就是找到已知点和预测点数值之间的涉嫌,从而预测出预测点的数值。比如IDW插值方法,就是如果已知点和预测点的值跟它们相对距离成反比。克里金插值的小巧之处在于它不光考虑了已知点和预测点的偏离关系,还考虑了那个已知点之间的自相关关系。

回归 Regression ,可以知道为倒推,由结果臆度出原因。

什么衡量已知点之间的自有关涉嫌吗?经常使用的就是半变异函数,其公式如下[1]:

什么样衡量已知点之间的自相关关系吗?日常拔取的就是半变异函数,其公式如下[1]:

 

Semivariogram(distance h) = 0.5 * average((value i – value j)2)
Semivariogram(distance h) = 0.5 * average((value i – value j)2)

线性回归 是利用数理统计中回归分析,来确定二种或三种以上变量间互相依赖的定量关系的一种统计分析方法,表达格局为:

这就是克里金插值不一致于其他插值方法的宗旨所在,通过测算各种距离限制内存有配对点的离差平方和,就可以绘制出不一样距离限制下的变差值图,如下示意图[1]。我们知道,离差平方和是衡量一组数据变动程度的量,而那边透过统计有所已知点与其不一致距离限制内邻居点集的偏离离差平方和,就可以大体衡量出已知点与不一样距离限制邻居点的变化程度关系,平日的做法是进展曲线拟合,常用的统揽指数拟合、球面拟合、高斯拟合等。而这一个拟合的结果就是大家插值所急需的块金值、基台值等。

这就是克里金插值不一样于其余插值方法的主导所在,通过总结每一种距离限制内拥有配对点的离差平方和,就足以绘制出不一致距离限制下的变差值图,如下示意图[1]。大家领悟,离差平方和是衡量一组数据变动程度的量,而那里通过总计有所已知点与其差距距离限制内邻居点集的相距离差平方和,就可以大约衡量出已知点与不一样距离限制邻居点的成形程度关系,寻常的做法是进展曲线拟合,常用的统揽指数拟合、球面拟合、高斯拟合等。而这么些拟合的结果就是大家插值所急需的块金值、基台值等。

  y= ax+b+e 

图片 1 图片 2

图片 3 图片 4

e为误差遵从均值为0的正态分布。

留意,最近截至那里只涉嫌到克里金插值是怎么分析已知点新闻,以及哪些社团这几个已知点之间的涉及,整个插值(预测)进度就是假如那种已知点之间的关联:距离关系和自相关关系,对于预测点同样适用!

小心,近期停止那里只涉及到克里金插值是何等剖析已知点新闻,以及怎样协会这一个已知点之间的涉嫌,整个插值(预测)进度就是借使那种已知点之间的关联:距离关系和自有关关系,对于预测点同样适用!

图片 5

 

 

图片 6 

然则,在并未越多新闻的前提下,我们如何通晓那种插值是不是可信赖?方今较为合理的方法就是陆续验证威朗validation。其本质是拿出一些已知点作为预测点,那些被拿出的点不参加上述已知点关系的商量进度,而是作为验证数据来衡量大家预测是不是合理。比如,大家每一趟拿出一个已知点作为验证数据,来注解这几个点的预测值,大家就可以获取所有已知点与其预测值之间的过错,那些所有点的过错从某种程度上讲就为我们提供了方方面面预测方法是还是不是合理的依据。

唯独,在向来不更加多消息的前提下,大家什么样驾驭那种插值是不是可相信?近年来较为合理的方法就是交叉验证SANTANAvalidation。其本质是拿出有些已知点作为预测点,那个被拿出的点不参预上述已知点关系的探讨历程,而是作为评释数据来衡量大家预测是还是不是站得住。比如,我们每一次拿出一个已知点作为验证数据,来表明这几个点的预测值,大家就足以获取所有已知点与其预测值之间的偏向,那一个所有点的不是从某种程度上讲就为大家提供了百分之百预测方法是还是不是创建的依照。

经过已部分大批量数量,x和y的值,总括得到表明式y=ax+b+e的涉嫌,表明这种关系。

一个基于奔驰M级 gstat空间插值包的言传身教:

一个依据君越 gstat空间插值包的示范:

然后经过x值,可推测出y的值。

如下图,假若大家已知的数据点的栅格图,须要插值出此外预测点的值(黄铜色透明区域):

正如图,假如我们已知的数据点的栅格图,须要插值出其余预测点的值(中黄透明区域):

图片 7

图片 8

图片 9

 

首先,大家须要将以此栅格数据读入到冠道中(须求安装raster包)

率先,大家要求将那几个栅格数据读入到ENVISION中(要求安装raster包)

拟合:把平面上一雨后春笋的点用一条油亮的曲线链接起来的经过;

install.packages(“raster”)

install.packages(“raster”)

使用微小二乘法来举办曲线拟合,残差平方和,如下图;

library(raster)

library(raster)

图片 10

data.observed <- raster(“C:/Users/workspace/allmax.img”)

data.observed <- raster(“C:/Users/workspace/allmax.img”)

 

因为gstat都以以data
 frame的格式进行数量处理,首先大家编辑一个函数,将那几个栅格数据转化为data
frame:

因为gstat都是以data
 frame的格式进行数据处理,首先大家编辑一个函数,将以此栅格数据转化为data
frame:

细微二乘法

raster_to_dataframe<- function(inRaster, name) # 
{
  rp<- rasterToPoints(inRaster)
  df = data.frame(rp)
  colnames(df) = c("X", "Y", "VALUE")
  df$NAME<- name
  return(df)
}

name参数可以是随意的字符串,方便与其他data frame合并的时候辨别数据,这时候我们调用此函数,如下:
data.observed <- raster_to_dataframe (data.observed, "Observed") 
查看转换为data frame的结果,可以使用:
head(data.observed)

          X       Y VALUE    NAME
1 -318466.5 3794841    12 Observed
2 -304466.5 3794841    10 Observed
3 -303466.5 3794841     9 Observed
4 -302466.5 3794841    11 Observed
5 -301466.5 3794841     7 Observed
6 -297466.5 3794841    14 Observed
raster_to_dataframe<- function(inRaster, name) # 
{
  rp<- rasterToPoints(inRaster)
  df = data.frame(rp)
  colnames(df) = c("X", "Y", "VALUE")
  df$NAME<- name
  return(df)
}

name参数可以是随意的字符串,方便与其他data frame合并的时候辨别数据,这时候我们调用此函数,如下:
data.observed <- raster_to_dataframe (data.observed, "Observed") 
查看转换为data frame的结果,可以使用:
head(data.observed)

          X       Y VALUE    NAME
1 -318466.5 3794841    12 Observed
2 -304466.5 3794841    10 Observed
3 -303466.5 3794841     9 Observed
4 -302466.5 3794841    11 Observed
5 -301466.5 3794841     7 Observed
6 -297466.5 3794841    14 Observed

大家以最简易的一元线性模型来分解最小二乘法。什么是一元线性模型呢?
监督学习中,假使预测的变量是离散的,大家称其为分类(如决策树,扶助向量机等),即使预测的变量是接二连三的,大家称其为回归。回归分析中,倘使只包含一个自变量和一个因变量,且两岸的涉嫌可用一条直线近似表示,那种回归分析称为一元线性回归分析。若是回归分析中总结八个或五个以上的自变量,且因变量和自变量之间是线性关系,则称之为多元线性回归分析。对于二维空间线性是一条直线;对于三维空间线性是一个平面,对于多维空间线性是一个超平面…

好了,接下去就是要分析那写已知点,gstat提供了半变异图绘制函数variogram:

好了,接下去就是要分析那写已知点,gstat提供了半变异图绘制函数variogram:

对于一元线性回归模型,
假若从完整中收获了n组观望值(X1,Y1),(X2,Y2),
…,(Xn,Yn)。对于平面中的那n个点,可以行使过多条曲线来拟合。须要样本回归函数尽恐怕好地拟合那组值。综合起来看,这条直线处于样本数量的基本地方最合理。
采取最佳拟合曲线的业内可以规定为:使总的拟合误差(即总残差)达到最小。有以下八个规范可以挑选:

v<- variogram(object = VALUE~1,data = df.wg,locations =~X+Y, width= 200)
plot(v)
v<- variogram(object = VALUE~1,data = df.wg,locations =~X+Y, width= 200)
plot(v)

  (1)用“残差和纤维”确定直线地点是一个门道。但飞速发现总计“残差和”存在互相平衡的难点。
  (2)用“残差相对值和微小”确定直线地方也是一个门道。但相对值的测算相比较费劲。
  (3)最小二乘法的尺度是以“残差平方和纤维”确定直线地方。用很小二乘法除了计算相比方便外,得到的臆度量还装有得天独厚性状。那种艺术对十分值非凡灵敏。

图片 11

图片 12

  最常用的是惯常最小二乘法( Ordinary Least
Square,OLS):所选用的回归模型应该使拥有观望值的残差平方和落得最小。(Q为残差平方和)-
即利用平方损失函数。

通过寓目,已知点的自相关关系semivariance随着距离distance的充实,突显出指数格局的裁减(还记得吗?离差平方和?值越小,代表涉嫌越强),所以通过旁观半变异方差的遍布,确定使用指数模型来拟合:

通过旁观,已知点的自相关关系semivariance随着距离distance的加码,突显出指数方式的削弱(还记得呢?离差平方和?值越小,代表涉嫌越强),所以通过观看半变异方差的遍布,确定使用指数模型来拟合:

 

v.fit = fit.variogram(v, vgm(model = "Exp", psill= 45, range = 20000, kappa = 10),fit.sills = 50)
plot(v, model=v.fit)
v.fit
v.fit = fit.variogram(v, vgm(model = "Exp", psill= 45, range = 20000, kappa = 10),fit.sills = 50)
plot(v, model=v.fit)
v.fit

参考:http://blog.csdn.net/qll125596718/article/details/8248249

如何确定pstill,
range等开端值呢,同样通过观看大概给出即可,fit.variogram()函数会自动测算出不错的结果,那一个初阶值存在的法力只是支持总括,不用特别不利,其结果如下图:

什么规定pstill,
range等起初值呢,同样通过观看大致给出即可,fit.variogram()函数会自动测算出不错的结果,这么些初始值存在的作用只是支持计算,不用特别毋庸置疑,其结果如下图:

 

图片 13  

图片 14  

TSS: Total Sum of Squares 总离差平方和/总平方和

 

 

&amp;lt;img
src=”https://pic1.zhimg.com/2dc3951313f1b77afb39c4c909d88bd4\_b.png
data-rawwidth=”297″ data-rawheight=”112″ class=”content_image”
width=”297″&amp;gt;

 

 

图片 15
ESS: Explained Sum of Squares 回归平方和/解释平方和

model psill range
1 Exp 61.39472 5326.663
model psill range
1 Exp 61.39472 5326.663

&amp;lt;img
src=”https://pic2.zhimg.com/e7440626203b456b0aaf61aad2c66b2d\_b.png
data-rawwidth=”313″ data-rawheight=”117″ class=”content_image”
width=”313″&amp;gt;

可以见到,Odyssey总计出了新的psill和range值。

可以看到,LX570总括出了新的psill和range值。

图片 16

接下去,我们就足以采取上述分析的新闻,举办克里金插值。那里运用的是krige函数:

接下去,大家就可以动用上述分析的新闻,举行克里金插值。那里运用的是krige函数:

景逸SUVSS: Residual Sum of Squares 残差平方和

kingnewdata<- raster_to_dataframe2(max.allgf, "Interpolate location")
aa<- krige(formula = VALUE~1,locations =~X+Y , model = vgm(61.39472, "Exp", 5326.663 , 10) , data = data.observed, newdata= kingnewdata, nmax=12, nmin=10)
kingnewdata<- raster_to_dataframe2(max.allgf, "Interpolate location")
aa<- krige(formula = VALUE~1,locations =~X+Y , model = vgm(61.39472, "Exp", 5326.663 , 10) , data = data.observed, newdata= kingnewdata, nmax=12, nmin=10)

&amp;lt;img
src=”https://pic2.zhimg.com/4ebff5bc76eb3b03ea72d15ead5fbeed\_b.png
data-rawwidth=”305″ data-rawheight=”110″ class=”content_image”
width=”305″&amp;gt;

参数formula指出已知点和别的音讯的关系(假诺本例已知点代表土壤含水量,大家也清楚这几个点对应的降水音信,那么这里的公式就是泥土含水量和降水的不难线性关系),那里咱们从未其余音讯,就是经常克里金插值。参数location是已知点的坐标,那里X代表经度,Y值代表纬度。参数model就是大家上面分析的指数模型,使用拟合后的参数即可。data表示要使用的已知点的数据框。newdata代表要插值的点的职责,注意要包涵和data参数所利用的dataframe一样的变量名称(本例中地点是大写X,
Y),nmax和nmin是最多和最少搜索的罗列,其余参数大家可以参考扶助文档,插值的结果如下:

参数formula提议已知点和其余新闻的涉嫌(假诺本例已知点代表土壤含水量,大家也知晓这一个点对应的降雨新闻,那么那里的公式就是土壤含水量和降雨的简单线性关系),那里大家从没其余消息,就是日常克里金插值。参数location是已知点的坐标,那里X代表经度,Y值代表纬度。参数model就是大家上面分析的指数模型,使用拟合后的参数即可。data代表要利用的已知点的数据框。newdata表示要插值的点的职位,注意要含有和data参数所利用的dataframe一样的变量名称(本例中地方是大写X,
Y),nmax和nmin是最多和最少搜索的罗列,其余参数大家可以参见支持文档,插值的结果如下:

图片 17

图片 18

图片 19

TSS=RSS+ESS

 

 

 

好了,我们早已形成了克里金插值所有义务并且赢得了小编们所需求插值图,然而怎么才能驾驭大家的插值结果可信与否呢?当然,如果我们有预测点的实际数据,我们得以评价插值结果的精度,但是不少状态下,大家并未这一个多少,cross
validaion应运而生。对于克里金插值,gstat提供的cross
validation函数是krige.cv(),对于本文,只要求如下代码即可到位cross
validation:

好了,大家早已成功了克里金插值所有职务并且赢得了大家所急需插值图,不过怎么才能驾驭大家的插值结果可相信与否呢?当然,倘使大家有预测点的其实数目,大家可以评价插值结果的精度,不过不少情形下,大家向来不这个数据,cross
validaion应运而生。对于克里金插值,gstat提供的cross
validation函数是krige.cv(),对于本文,只必要如下代码即可到位cross
validation:

 

kriging<- krige.cv(formula = VALUE~1, locations = ~X+Y, model = vgm(61.39472, "Exp", 5326.663 , 10), data = data.observed ,nfold= nrow(data.observed))
head(kriging)
kriging<- krige.cv(formula = VALUE~1, locations = ~X+Y, model = vgm(61.39472, "Exp", 5326.663 , 10), data = data.observed ,nfold= nrow(data.observed))
head(kriging)

小小二乘法与梯度下跌法

在意,krige.cv()函数本质上是开展很频仍克里金插值,然后大家就可以分析被拿出的已知点的值和预测值,估摸克里金插值的可倚重性。那里大家每趟拿出一个点,所以nfold的值设置为和data.observed的行数一样,可以见见结果:

留神,krige.cv()函数本质上是开展很频仍克里金插值,然后大家就可以分析被拿出的已知点的值和预测值,估量克里金插值的可相信性。那里大家每回拿出一个点,所以nfold的值设置为和data.observed的行数一样,能够看到结果:

  最小二乘法跟梯度下落法都以由此求导来求损失函数的微乎其微值,这它们有哪些分别呢。

  var1.pred var1.var observed  residual     zscore fold         X       Y
1 19.020820 31.29921       12 -7.020820 -1.2549348    1 -318466.5 3794841
2 11.220626 27.62193       10 -1.220626 -0.2322499    2 -304466.5 3794841
3 10.758057 24.82611        9 -1.758057 -0.3528407    3 -303466.5 3794841
4  9.200462 24.85426       11  1.799538  0.3609613    4 -302466.5 3794841
5 10.840395 27.07824        7 -3.840395 -0.7380158    5 -301466.5 3794841
6 12.446044 29.40208       14  1.553956  0.2865826    6 -297466.5 3794841
  var1.pred var1.var observed  residual     zscore fold         X       Y
1 19.020820 31.29921       12 -7.020820 -1.2549348    1 -318466.5 3794841
2 11.220626 27.62193       10 -1.220626 -0.2322499    2 -304466.5 3794841
3 10.758057 24.82611        9 -1.758057 -0.3528407    3 -303466.5 3794841
4  9.200462 24.85426       11  1.799538  0.3609613    4 -302466.5 3794841
5 10.840395 27.07824        7 -3.840395 -0.7380158    5 -301466.5 3794841
6 12.446044 29.40208       14  1.553956  0.2865826    6 -297466.5 3794841

  相同

结果包括了预测值,预测值的方差,已知值,残差,z计算量值等,我们可以绘制出z总结量图: 

结果包括了预测值,预测值的方差,已知值,残差,z计算量值等,大家得以绘制出z总计量图: 

  1.精神相同:二种艺术都以在加以已知多少(independent & dependent
variables)的前提下对dependent
variables算出出一个司空见惯的估值函数。然后对给定新数据的dependent
variables举行估量。
  2.目的一致:都以在已知多少的框架内,使得估摸值与实际值的总平方差尽量更小(事实上未必一定要运用平方)

ggplot(data = kriging, aes(x=X,y=Y))+
  geom_raster( aes(fill= zscore)) +
  scale_fill_gradient2( name="zscore",low = "green",
                        mid = "grey", high = "red", midpoint = 0,
                        space = "rgb", na.value = "grey50")  
ggplot(data = kriging, aes(x=X,y=Y))+
  geom_raster( aes(fill= zscore)) +
  scale_fill_gradient2( name="zscore",low = "green",
                        mid = "grey", high = "red", midpoint = 0,
                        space = "rgb", na.value = "grey50")  

  不同
  1.兑现方式和结果分歧:最小二乘法是一贯对求导找出全局最小,是非迭代法。而梯度下落法是一种迭代法,先给定一个,然后向下跌最快的趋向调整,在若干次迭代过后找到局地最小。梯度下跌法的弱项是到细微点的时候没有速度变慢,并且对开首点的选项颇为敏感,其矫正大多是在那两地点下武术。

结果如下:

结果如下:

 

图片 20

图片 21

 

 或然其直方图来评价插值方案:

 可能其直方图来评论插值方案:

过拟合

par(mar=c(2,2,2,2))
hist(kriging$zscore)
par(mar=c(2,2,2,2))
hist(kriging$zscore)

咱俩因而对数据样本的体察和架空,最终归结得到一个完全的数据映射模型。但是在综合的经过中,大概为了投其所好所有样本向量点甚至是噪声点而使得模型描述过于复杂。

  

  

过拟合的妨害有以下几点:

图片 22

图片 23

1.描述复杂 模型的叙说格外复杂–参数繁多,总结逻辑多。

 

 

2.错过泛华能力
所谓泛华能力就是经过机械学习取得的模型对未知数据的前瞻能力,即采纳于任何非训练样本的向量时的分类能力。

迎接大家留言商讨,转发请评释出处
http://www.cnblogs.com/ABMRG/p/5186727.html 

迎接我们留言商讨,转发请表明出处
http://www.cnblogs.com/ABMRG/p/5186727.html 

 

 

 

以致过拟合的由来:

参考文献:

参考文献:

1.磨练样本太少 练习样本少,陶冶出来的模型格外不准确

[1]
http://desktop.arcgis.com/en/arcmap/10.3/tools/3d-analyst-toolbox/how-kriging-works.htm

[1]
http://desktop.arcgis.com/en/arcmap/10.3/tools/3d-analyst-toolbox/how-kriging-works.htm

2.追求完美 对于有着的磨炼样本向量点都希望用拟合的模型覆盖,但在实际的磨炼样本中却存在许多噪音。

 

 

 

 

 

欠拟合

 

 

与过拟合相反,叫做欠拟合。建模不当发生的误差,重假若对线性回归中的因素考虑不足。

 

 

由来如下:

有关中华V基本栅格数据处理自身推荐一篇博文:http://rstudio-pubs-static.s3.amazonaws.com/1057\_1f7e9ac569644689b7e4de78c1fece90.html

关于君越基本栅格数据处理小编引进一篇博文:http://rstudio-pubs-static.s3.amazonaws.com/1057\_1f7e9ac569644689b7e4de78c1fece90.html

1.参数过少 对于练习样本向量的维度提取太少导致磨炼描述的不准确。

 

 

2.拟合不当 寻常是拟合方法的不科学

 

非线性回归的景色太过复杂,在生产实践中也尽量幸免使用那种模型。多利用线性回归

 

例子

数据文件内容:

29,female,27.94,1,yes,southeast,19107.7796
49,female,27.17,0,no,southeast,8601.3293
37,female,23.37,2,no,northwest,6686.4313
44,male,37.1,2,no,southwest,7740.337
18,male,23.75,0,no,northeast,1705.6245
20,female,28.975,0,no,northwest,2257.47525
44,male,31.35,1,yes,northeast,39556.4945
47,female,33.915,3,no,northwest,10115.00885
26,female,28.785,0,no,northeast,3385.39915
19,female,28.3,0,yes,southwest,17081.08
52,female,37.4,0,no,southwest,9634.538
32,female,17.765,2,yes,northwest,32734.1863
38,male,34.7,2,no,southwest,6082.405
59,female,26.505,0,no,northeast,12815.44495
61,female,22.04,0,no,northeast,13616.3586
53,female,35.9,2,no,southwest,11163.568
19,male,25.555,0,no,northwest,1632.56445
20,female,28.785,0,no,northeast,2457.21115
22,female,28.05,0,no,southeast,2155.6815
19,male,34.1,0,no,southwest,1261.442
22,male,25.175,0,no,northwest,2045.68525
54,female,31.9,3,no,southeast,27322.73386
22,female,36,0,no,southwest,2166.732
34,male,22.42,2,no,northeast,27375.90478
26,male,32.49,1,no,northeast,3490.5491
34,male,25.3,2,yes,southeast,18972.495
29,male,29.735,2,no,northwest,18157.876
......

 

执行进度分析:

> insurance <- read.csv("insurance.csv", stringsAsFactors = TRUE)  #读取数据
> str(insurance)     #查看data.frame结构
'data.frame':    1338 obs. of  7 variables:
 $ age     : int  19 18 28 33 32 31 46 37 37 60 ...
 $ sex     : Factor w/ 2 levels "female","male": 1 2 2 2 2 1 1 1 2 1 ...
 $ bmi     : num  27.9 33.8 33 22.7 28.9 ...
 $ children: int  0 1 3 0 0 0 1 3 2 0 ...
 $ smoker  : Factor w/ 2 levels "no","yes": 2 1 1 1 1 1 1 1 1 1 ...
 $ region  : Factor w/ 4 levels "northeast","northwest",..: 4 3 3 2 2 3 3 2 1 2 ...
 $ charges : num  16885 1726 4449 21984 3867 ...> library("psych")    #加载包
> ins_model <- lm(charges ~ age + children + bmi + sex + smoker + region, data=insurance) #使用包的线性回归方法训练数据集
> summary(ins_model)  #查看训练集汇总信息

Call:
lm(formula = charges ~ age + children + bmi + sex + smoker + 
    region, data = insurance)

Residuals:
     Min       1Q   Median       3Q      Max 
-11304.9  -2848.1   -982.1   1393.9  29992.8 

Coefficients:
                Estimate Std. Error t value Pr(>|t|)    
(Intercept)     -11938.5      987.8 -12.086  < 2e-16 ***   
age                256.9       11.9  21.587  < 2e-16 ***  #*多代表显著特征
children           475.5      137.8   3.451 0.000577 ***
bmi                339.2       28.6  11.860  < 2e-16 ***
sexmale           -131.3      332.9  -0.394 0.693348    
smokeryes        23848.5      413.1  57.723  < 2e-16 ***
regionnorthwest   -353.0      476.3  -0.741 0.458769    
regionsoutheast  -1035.0      478.7  -2.162 0.030782 *  
regionsouthwest   -960.0      477.9  -2.009 0.044765 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 6062 on 1329 degrees of freedom
Multiple R-squared:  0.7509,    Adjusted R-squared:  0.7494 
F-statistic: 500.8 on 8 and 1329 DF,  p-value: < 2.2e-16

> lmstep<- step(ins_model) #用于去除不显著的特征
Start:  AIC=23316.43
charges ~ age + children + bmi + sex + smoker + region

           Df  Sum of Sq        RSS   AIC
- sex       1 5.7164e+06 4.8845e+10 23315    #sex特征被删除
<none>                   4.8840e+10 23316
- region    3 2.3343e+08 4.9073e+10 23317
- children  1 4.3755e+08 4.9277e+10 23326
- bmi       1 5.1692e+09 5.4009e+10 23449
- age       1 1.7124e+10 6.5964e+10 23717
- smoker    1 1.2245e+11 1.7129e+11 24993

Step:  AIC=23314.58                        #用AIC最小值来评估
charges ~ age + children + bmi + smoker + region

           Df  Sum of Sq        RSS   AIC
<none>                   4.8845e+10 23315
- region    3 2.3320e+08 4.9078e+10 23315
- children  1 4.3596e+08 4.9281e+10 23325
- bmi       1 5.1645e+09 5.4010e+10 23447
- age       1 1.7151e+10 6.5996e+10 23715
- smoker    1 1.2301e+11 1.7186e+11 24996
> predict.lm(lmstep,data.frame(age=70,children=4,bmi=31.5,smoker='yes',region='northeast'),interval="prediction",level=0.95) #使用预测方法对数据进行预测
       fit      lwr      upr
1 42400.38 30429.87 54370.89          #预测结果 42400.38 置信区间 30429.87~54370.89

查看图:

> plot(lmstep)

图片 24

X轴预测值,Y轴残值;反映预测值和真实值的偏离;十分值 243、1301、578

 

图片 25

QQ图 X理论分为区间;Y标准化残差值  判断是还是不是适合正态分布,
粗略判断大于2及小于-2的点为离群点

 

图片 26

X轴预测值,Y轴标准化残差值开方  

 

图片 27

X轴杠杆比率,Y轴标准化残差值 leverage=d(预测值)/ d(真实值) 

 

相关文章