zoukankan      html  css  js  c++  java
  • R语言相关分析和稳健线性回归分析

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

    目录

    怎么做测试

    功率分析


    介绍

    下面以物种多样性为例子展示了如何在R语言中进行相关分析和线性回归分析。

    怎么做测试

    相关和线性回归示例

    
    Data = read.table(textConnection(Input),header=TRUE)

    数据简单图

                                                                          

    plot(Species ~ Latitude, 
         data=Data, 
         pch=16,
         xlab = "Latitude", 
         ylab = "Species")

     

    相关性

    可以使用 cor.test函数。它可以执行Pearson,Kendall和Spearman相关。

    皮尔逊相关

    皮尔逊相关是最常见的相关形式。假设数据是线性相关的,并且残差呈正态分布。

    cor.test( ~ Species + Latitude, 
             data=Data,
             method = "pearson",
             conf.level = 0.95)
    
    
    
    Pearson's product-moment correlation
    
    
    
    t = -2.0225, df = 15, p-value = 0.06134
    
    
    
           cor
    
    -0.4628844

    肯德尔相关

    肯德尔秩相关是一种非参数检验,它不假设数据的分布或数据是线性相关的。它对数据进行排名以确定相关程度。

    cor.test( ~ Species + Latitude, 
             data=Data,
             method = "kendall",
             continuity = FALSE,
             conf.level = 0.95)
    
     
    
    Kendall's rank correlation tau
    
     
    
    z = -1.3234, p-value = 0.1857
    
     
    
           tau
    
    -0.2388326

    斯皮尔曼相关

    Spearman等级相关性是一种非参数检验,它不假设数据的分布或数据是线性相关的。它对数据进行排序以确定相关程度,并且适合于顺序测量。

    线性回归

    线性回归可以使用 lm函数执行。可以使用lmrob函数执行稳健回归。

    
    
    summary(model)                    # shows parameter estimates,
                                      # p-value for model, r-square
    
     
    
                Estimate Std. Error t value Pr(>|t|) 
    
    (Intercept)  585.145    230.024   2.544   0.0225 *
    
    Latitude     -12.039      5.953  -2.022   0.0613 .
    
     
    
    Multiple R-squared:  0.2143,  Adjusted R-squared:  0.1619
    
    F-statistic:  4.09 on 1 and 15 DF,  p-value: 0.06134
    
     
    
     
    
    
    
    Response: Species
    
              Sum Sq Df F value  Pr(>F) 
    
    Latitude  1096.6  1  4.0903 0.06134 .
    
    Residuals 4021.4 15

    绘制线性回归

    
    plot(Species ~ Latitude,
         data = Data,
         pch=16,
         xlab = "Latitude", 
         ylab = "Species")
    
    abline(int, slope,
           lty=1, lwd=2, col="blue")     #  style and color of line

     

    检查模型的假设

     

    线性模型中残差的直方图。这些残差的分布应近似正态。

     

    残差与预测值的关系图。残差应无偏且均等。 

    稳健回归

    该线性回归对响应变量中的异常值不敏感。

    
    
    summary(model)                    # shows parameter estimates, r-square
    
     
    
                Estimate Std. Error t value Pr(>|t|) 
    
    (Intercept)  568.830    230.203   2.471   0.0259 *
    
    Latitude     -11.619      5.912  -1.966   0.0681 .
    
     
    
    Multiple R-squared:  0.1846,  Adjusted R-squared:  0.1302
    
     
    
     
                       
    anova(model, model.null)         # shows p-value for model
    
     
    
      pseudoDf Test.Stat Df Pr(>chisq) 
    
    1       15                         
    
    2       16    3.8634  1    0.04935 *

     

    绘制模型

     

    线性回归示例

    
    
    summary(model)                    # shows parameter estimates, 
                                      # p-value for model, r-square
    
     
    
    Coefficients:
    
                Estimate Std. Error t value Pr(>|t|)  
    
    (Intercept)  12.6890     4.2009   3.021   0.0056 **
    
    Weight        1.6017     0.6176   2.593   0.0154 *
    
     
    
    Multiple R-squared:  0.2055,  Adjusted R-squared:  0.175
    
    F-statistic: 6.726 on 1 and 26 DF,  p-value: 0.0154
    
     
    
    ###  Neither the r-squared nor the p-value agrees with what is reported
    
    ###    in the Handbook.
    
     
    
     
    
    library(car)
    
    Anova(model, type="II")           # shows p-value for effects in model
    
     
    
              Sum Sq Df F value Pr(>F) 
    
    Weight     93.89  1  6.7258 0.0154 *
    
    Residuals 362.96 26  
    
     
    
    #     #     #

    功率分析

    功率分析的相关性

    ### --------------------------------------------------------------
    ### Power analysis, correlation
    ### --------------------------------------------------------------
    
    pwr.r.test()
    
     
    
         approximate correlation power calculation (arctangh transformation)
    
     
    
                  n = 28.87376 

    如果您有任何疑问,请在下面发表评论。 

  • 相关阅读:
    史上最复杂业务场景_逼出阿里高可用三大法宝
    六一儿童节PHP宝宝又被围剿了,迅速围观!
    程序员常用远程工具有哪些?
    Kotlin真的会取代JAVA吗?
    云通信—连接产品与用户的桥梁
    小团队能做大系统:Cloud_Native云原生架构实践
    打造立体化监控体系的最佳实践——分布式调用跟踪和监控时间
    “机器学习”三重门_“中庸之道”趋若人(深度学习入门系列之四)
    ehcache缓存
    hibernate延迟加载
  • 原文地址:https://www.cnblogs.com/tecdat/p/12048870.html
Copyright © 2011-2022 走看看