回归分析

R语言回归分析相关流程

数据预处理

  • 中心化标准化

    data <- as.data.frame(scale(data, center = T, scale = T))    # 标准化
    data <- as.data.frame(scale(data, center = T, scale = F))    # 中心化

变量相关性检验

  • 使用Hmisc

    library(Hmisc)
    rcorr(as.matrix(data), type = 'pearson')
    R <- rcorr(as.matrix(data), type = 'pearson')$r  # 相关系数阵
    P <- rcorr(as.matrix(data), type = 'pearson')$P  # 相关性检验的P值
  • 使用psych

    library(psych)
    corr.test(data,use="complete")
  • 热力图

    library(Hmisc)
    R <- rcorr(as.matrix(data), type = 'pearson')$r # 相关阵
    library(corrplot)
    corrplot(R, method="color", addCoef.col='grey', tl.col='black') # 热力图
    image-20221124123849236
  • 使用ggplot绘制热图

    library(Hmisc)
    R <- rcorr(as.matrix(data), type = 'pearson')$r # 相关阵
    library(reshape2)  
    melted_r <- melt(R)  # 将相关系数矩阵拉直
    library(ggplot2)
    ggplot(data = melted_r, aes(x=Var1,y=Var2,fill = value)) + # ggplot2 基本图层
      geom_raster() + # 绘制热力图
      scale_fill_gradient2(low = rgb(10,8,32,max = 255),mid = rgb(165,24,90,max = 255),
                           high = rgb(249,228,209,max = 255),limit = c(0,1),
                           name="Pearson\nCorrelation") + 
      theme( # 调整图表样式
        axis.title = element_blank(), # 删除ggplot2的坐标标签
        panel.background = element_blank(), # 删除ggplot2的灰色背景
        panel.grid.major = element_blank(), # 删除ggplot2的面板网格
        panel.border = element_blank(),
        axis.ticks = element_blank() # 删除ggplot2的轴刻度
      ) + 
      geom_text(aes(Var2,Var1,label = round(value,2)),
                color = '#228B22',size = 2) # 加上相关系数数值
    image-20221124124310441

偏相关系数

在多要素所构成的系统中,当研究某一个要素对另一个要素的影响或相关程度时,把其他要素的影响视作常数(保持不变),即暂时不考虑其他要素影响,单独研究两个要素之间的相互关系的密切程度,所得数值结果为偏相关系数

  • 计算偏相关系数并绘图

    偏相关系数图

建立模型

  • 最小二乘回归

  • 计算杠杆值

    查看杠杆值(按照X大小顺序排序)
  • 计算模型残差

回归模型检验

  • 显著性检验

    image-20221124124627132

模型分析

  • 点预测

  • 区间预测

  • 绘制区间图

    开始绘图

    置信区间和预测区间

预测相关

  • 新值预测

最后更新于