拓端tecdat|R语言区间数据回归分析


原文链接http://tecdat.cn/?p=14850

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

区间回归分析是一种以区间数为研究对象的数据分析方法.区间数能反映出数据的变动范围,更符合现实情况.区间型符号数据是区间数的一种,通过"数据打包"形成,因此除具有区间端点信息外,还具有区间内部散点信息.

本文解释如何在R里对有区间变量的情况下提取上下限值。让我们从生成数据开始,

  1.  
    n=200
  2.  
    set.seed(123)
  3.  
    X=rnorm(n)
  4.  
    Y=2+X+rnorm(n,sd = .3)

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

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

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

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

我们可以检查我们的第一个观察

  1.  
    extraire(Xcut[1])
  2.  
    lower mid upper
  3.  
    -0.626 -0.487 -0.348

我们可以在数据库中创建三个附加变量

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

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

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

  1.  
    plot(B$Y,predict(regF),ylim=c(0,4))
  2.  
    points(B$Y,predict(regM),col="red")
  3.  
    points(B$Y,predict(regU),col="blue")
  4.  
    points(B$Y,predict(regL),col="purple")
  5.  
    abline(a=0,b=1,lty=2)

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

  1.  
    AIC(regF)
  2.  
    [1] 204.5653
  3.  
    AIC(regM)
  4.  
    [1] 201.1201
  5.  
    AIC(regL)
  6.  
    [1] 266.5246
  7.  
    AIC(regU)
  8.  
    [1] 255.0687

如果下限值和上限的使用不是确定性的,则应注意,使用区间的平均值会比使用8个因素得到更好的结果。

▍关注我们 【大数据部落】第三方数据服务提供商,提供全面的统计分析与数据挖掘咨询服务,为客户定制个性化的数据解决方案与行业报告等。 ▍咨询链接:http://y0.cn/teradat ▍联系邮箱:3025393450@qq.com
原文地址:https://www.cnblogs.com/tecdat/p/13529739.html