R语言区间数据回归分析

回归分析是一种十分常见的数据分析方法,通过观测数据确定变量间的相互关系.

由Kaizong Ye,Liao Bao撰写

传统回归分析以点数据为研究对象,预测结果也是点数据,而真实数据往往在一定范围内变动的.基于置信度可以形成置信区间,一定程度弥补了预测值为单点的不足,但将点数据作为研究对象,以点带表某范围内的所有数据,往往存在信息丢失的问题.

区间回归分析是一种以区间数为研究对象的数据分析方法.

区间数能反映出数据的变动范围,更符合现实情况.区间型符号数据是区间数的一种,通过”数据打包”形成,因此除具有区间端点信息外,还具有区间内部散点信息.

本文将做一个简短的解释说明如何使用R在有区间的情况下提取上下限值。让我们从生成数据开始,


X=rnorm(n)
Y=2+X+rnorm(n,sd = .3)

 假设现在我们不再观察变量x,而只是观察一个类(我们将创建八个类,每个类有八分之一的观察值)


Q=quantile(x = X,(0:8)/8)
Q[1]=Q[1]-.00001
Xcut=cut(X,breaks = Q)

 例如,对于第一个值,我们有


as.character(Xcut[1])
[1] "(-0.626,-0.348]"

 要提取有关这些边界的信息,我们可以使用下面的小代码,该代码返回区间的下限,上限和中值



lower = c(lower1,lower2) lower=lower[!is.na(lower)] upper = c(upper1,upper2) upper=upper[!is.na(upper)] mid = (lower+upper)/2 return(c(lower=lower,mid=mid,upper=upper)

视频

非线性模型原理与R语言多项式回归、局部平滑样条、 广义相加模型GAM分析

探索见解

去bilibili观看

探索更多视频


extrai(Xcut[1])
lower mid upper 
-0.626 -0.487 -0.348

 可以看到,我们可以在数据库中创建三个变量(具有下限,上限和中值信息)


B$lower=B2[1,] B$mid =B2[2,] B$upper=B2[3,]

 我们可以比较4个回归(i)我们对8个类别进行回归,即我们的8个因子(ii)我们对区间的下限进行回归,(iii)对区间的“平均值”值进行回归(iv)对上限


regF=lm(Y~X,data=B)
regL=lm(Y~lower,data=B)
regM=lm(Y~mid,data=B)
regU=lm(Y~upper,data=B)

 我们可以将预测与我们的四个模型进行比较


图片

线性回归和时间序列分析北京房价影响因素可视化案例

阅读文章



随时关注您喜欢的主题



更进一步,我们还可以比较模型的AIC,


AIC(regF)
[1] 204.5653
AIC(regM)
[1] 201.1201
AIC(regL)
[1] 266.5246
AIC(regU)
[1] 255.0687

如果下限和上限值的使用不是确定性的,则在此处应注意,使用区间的平均值会比使用8个因子略好。


可下载资源

关于作者

Kaizong Ye拓端研究室(TRL)的研究员。在此对他对本文所作的贡献表示诚挚感谢,他在上海财经大学完成了统计学专业的硕士学位,专注人工智能领域。擅长Python.Matlab仿真、视觉处理、神经网络、数据分析。

本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。

​非常感谢您阅读本文,如需帮助请联系我们!

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498

关注有关新文章的微信公众号


永远不要错过任何见解。当新文章发表时,我们会通过微信公众号向您推送。

技术干货

最新洞察

This will close in 0 seconds