精华内容
下载资源
问答
  • R语言语言学与R语言的碰撞Xu & YangPhoneticSan学习参考Discovering Statistics Using RStatistics for Linguistics with RHow to Do Linguistics with RR in ActionAnalyzing Linguistic DataR Graphics ...

    R语言

    语言学与R语言的碰撞

    Xu & Yang

    PhoneticSan

    562e08c3c2346aa6396858063e7e9184.png

    学习参考

    Discovering Statistics Using R

    Statistics for Linguistics with R

    How to Do Linguistics with R

    R in Action

    Analyzing Linguistic Data

    R Graphics Cookbook

    ··· ···

    Recap

    1. 相关是用来描述和测量两个变量之间关系的统计分析方法,很多情况下是对没有控制或操纵情况下变量的观察。

    2. 根据关系的方向,相关可以分为正相关和负相关两种类型。以此,我们可以绘制出一条直线来预测。

    3. 一个简单的线性回归由斜率和截距组成,记为Yi = b0 + b1Xi εi,其中b0b1被称为回归系数,εi被称为残差,是观测到的数据到回归线的距离。

    4. 使用R2可以判断线性回归模型的拟合优度,范围在[0,1]浮动,越接近1说明拟合程度越好。

    5. 在R中使用lm( )函数可以实现回归分析的建模,完成建模后使用summary( )函数查看建模结果,并使用anova( )函数与base model (null model)比较,如果有显著性差异,说明我们添加的因素对因变量有影响。

    ccd79e98512de7123f09d45fbf692381.png

    R: The R Project for Statistical Computing

    https://www.r-project.org/

    RStudio:

    https://rstudio.com/

    R Project

    Linguistics

    1

     线性回归的假设

    上一期我们介绍了最基础的线性回归方式,并了解到了lm( )函数的使用方法。通过写相关代码我们了解到,线性回归分析本质上是不断添加参数以和无参数的null model (base model)进行比较,从而检验自变量是否对因变量有影响。与其他假设检验一样,当你在进行线性回归分析前,要注意它们能顺利进行的三个前提假设,包括线性(linearity)、残差正态性(normality of residuals)、残差的方差齐性(homoscedasticity of residuals),下面我们对这三个方面进行解释。

    60f2b8fbebae74b127393aa8eff87648.png

    线性回归分析的三个假设

    首先是线性,实际上这个问题我们在前面也提到过,也很显而易见:「线性」回归分析,如果变量之间的相关性不是线性的,你就不能使用线性回归分析了。这个假设不需要额外地检验,在我们进行线性回归模型拟合的时候,采用了R2来判断拟合优度。如果R2接近0,说明我们的拟合并不好,也侧面说明我们的数据并不是线性相关。

    3c876d29ee1fe614586f7323d2a40411.png

    线性回归要求必须线性相关

    第二个要求是残差正态性,即残差的分布必须服从正态分布。需要注意的是,这里的正态分布要求不是数据本身,而是残差。如何得到残差?我们不需要进行计算,在使用lm( )函数的过程中,R就已经为我们计算好了残差,只要直接调用即可。检验正态分布的方法与之前提到的一样,使用Q-Q图或者shapiro.test( )函数都可以。我们以上一期的english数据为例,回顾一下建模过程。

    # 加载languageR包library(languageR)# 建立线性回归模型eng.m data=english)# QQ图检验正态分布qqnorm(eng.m$residuals)# Shapiro-Wilk检验shapiro.test(eng.m$residuals)
    50678278770894c44e30391fc5a92500.png 49008a993d7e755fab22638dc8fdba6c.png

    正态分布检验示意

    最后是残差的方差齐性。可能很多人会疑问,我们的回归分析大部分一个自变量只对应一个因变量,怎么计算方差?要注意,我们这里提到的方差齐性,指的是「残差」而不是原始数据。如果以残差为纵坐标,自变量为横坐标绘制散点图,它的分散比较均匀,残差没有出现随着自变量的变化而变化,那么说明方差是齐性的。反之,则说明反差的方差不是齐性的。

    49bcf41448adb4da85d9798d6504e2bc.png

    残差的方差齐性

    如何检验回归分析中残差的方差齐性?我们可以借用car包中的ncvTest( )函数或spreadLevelPlot( )函数进行检验,前者与shapiro.test( )函数一样,直接输出结果,如果出现显著性差异,则说明方差不是齐性的。后者则与Q-Q图一样会输出最佳拟合曲线的拟合值与残差绝对值的散点图,如果点没有均匀分布在水平线上下,则说明方差不是齐性的。我们以eng.m为例,那么如下:

    # 加载car包library(car)# 使用ncvTest函数检验方差齐性ncvTest(eng.m)# 使用spreadLevelPlot检验方差齐性spreadLevelPlot(eng.m)

    通过检验结果可以看到,我们上次的数据并不具有方差齐性,因此我们需要考虑不能使用线性回归分析进行检验。

    739730af0785dab45f210652974ed16e.png c0edfd88d71d534648695c5295f3627a.png

    方差齐性检验

    综上所述,在进行线性回归分析的时候,我们主要的步骤是:建立线性回归模型,查验模型是否符合三个前提假设;创建null model;对两个模型进行假设检验。

    1b7b27940c5d0e82efd64da0a8342f87.png

    线性回归分析基本步骤

    现在,我们了解了最基础的线性回归分析方法。但是显而易见的是,我们的语言研究中并不可能只有一个因素对因变量有影响,我们可以在有多个预测变量对情况下,对实验数据进行回归分析吗?答案是肯定的,这时候我们需要采用的方法叫做多元回归分析(multiple regression analysis)。

    R Project

    Linguistics

    2

     多元回归分析

    在面对多于一个预测变量的情况下,我们使用的方法被称作多元回归分析。它与简单的线性回归分析原理是一样的,不同之处在于,对于每一个额外的(多出来的)预测变量,我们都要赋予它们一个相关系数。那么,我们可以一直加需要的相关系数,那么我们的多元回归分析的基本公式则是Y = b0+ b1X1+ b2X2+ ... + bnXn+ ε,每一个系数表示其对应的预测变量对因变量的影响,表现在图上就是斜率的大小。

    086541c03067a2e2342d94730505d07d.png

    多元回归分析示意(两个预测变量)

    多元回归分析所使用的函数依旧是lm( )函数,我们继续以languageR包中的english数据为例。上期我们考察了阅读时间RTlexdec和书写频率WrittenFrequency之间的关系,假设我们认为LengthInLetters这一列的数据对RTlexdec可能也有影响,那么我们就直接使用➕把这个因素加在后面即可,表示我要考虑该因素。为了进行比较,我们把null model、一个预测变量的模型、两个预测变量的模型如下展示。

    eng.base 1, eng.m.1 data=english)eng.m.2 data=english)

    进行拟合后,要记得查看拟合优度。这里我们假设拟合很不错,我们的下一步就是进行检验分析,查看预测变量对因变量是否有影响。我们分为自下而上(bottom-up)和自上而下(top-bottom)两种方式,前者是先将简单的拟合模型进行比较,慢慢加预测变量,而后者与之相反,率先从最复杂的模型开始。我们以自下而上的方式为例,首先比较eng.base和eng.m.1,出现了显著性差异,说明第一个预测变量WrittenFrequency对RTlexdec有显著影响。接着我们继续加一个预测变量,比较eng.m.1和eng.m.2,发现并没有出现显著性差异,这说明第二个预测变量对因变量没有出现影响。我们也可以直接把它们放在一起,即anova(eng.base, eng.m.1, eng.m.1)也是可以的。

    c1d1d7d0f1a543eb51fffc4dc0a785e0.png

    多元回归的分析检验

    最后,我们需要指出,既然出现了多个变量,那么我们就要考虑主效应和交互效应的问题。如何把两个预测变量的交互效应考虑进多元回归分析中?以english为例,我们可以这样进行建模。

    eng.m.3 <- lm(RTlexdec ~ WrittenFrequency +               LengthInLetters +               WrittenFrequency : LengthInLetters,               data = english)

    其中的WrittenFrequency : LengthInLetters意味着我们考察的是它们的交互效应。建立好模型后,继续使用anova( )分析结果,有没有显著性差异呢?这里就留待你自己运行代码查看了。

    之前我们谈到的所有预测变量,全部是连续型预测变量,而有一些研究涉及到的是分类型变量。比如,动词词组或名词词组这样的短语类型对阅读时长的影响,这时候我们的预测变量则变成了分类型,还可以继续使用回归分析吗?如果输出结果是分类型变量,也可以回归分析吗?答案是可以。这一期讲了很多,所以这些问题留待下一期进行详细解释。

    —END—

    排版:Xu & Yang

    197650c3a072f6ffc7395a835a31a35d.png
    展开全文
  • R语言 逐步回归分析

    千次阅读 2020-04-24 10:40:27
    逐步回归分析是以AIC信息...R语言中用于逐步回归分析的函数 step() drop1() add1() 1.载入数据 首先对数据进行多元线性回归分析 tdata<-data.frame( x1=c( 7, 1,11,11, 7,11, 3, 1, 2,21, 1,11,10), x2=c(26,2...

    逐步回归分析是以AIC信息统计量为准则,通过选择最小的AIC信息统计量,来达到删除或增加变量的目的。

    R语言中用于逐步回归分析的函数 step() drop1() add1()

    1.载入数据 首先对数据进行多元线性回归分析

    tdata<-data.frame(
      x1=c( 7, 1,11,11, 7,11, 3, 1, 2,21, 1,11,10),
      x2=c(26,29,56,31,52,55,71,31,54,47,40,66,68),
      x3=c( 6,15, 8, 8, 6, 9,17,22,18, 4,23, 9, 8),
      x4=c(60,52,20,47,33,22, 6,44,22,26,34,12,12),
      Y =c(78.5,74.3,104.3,87.6,95.9,109.2,102.7,72.5,
           93.1,115.9,83.8,113.3,109.4)
    )
    tlm<-lm(Y~x1+x2+x3+x4,data=tdata)
    summary(tlm)
    

    多元线性回归结果分析

    在这里插入图片描述
    通过观察,回归方程的系数都没有通过显著性检验

    2.逐步回归分析

    tstep<-step(tlm)
    summary(tstep)
    

    在这里插入图片描述
    结果分析:当用x1 x2 x3 x4作为回归方程的系数时,AIC的值为26.94

              去掉x3 回归方程的AIC值为24.974;去掉x4 回归方程的AIC值为25.011……
    
              由于去x3可以使得AIC达到最小值,因此R会自动去掉x3;
    

    去掉x3之后 AIC的值都增加 逐步回归分析终止 得到当前最优的回归方程
    在这里插入图片描述
    回归系数的显著性水平有所提高 但是x2 x4的显著性水平仍然不理想

    3.逐步回归分析的优化

    drop1(tstep)
    

    结果分析
    在这里插入图片描述
    如果去掉x4 AIC的值从24.974增加到25.420 是三个变量中增加最小的

    4.进一步进行多元回归分析

    tlm<-lm(Y~x1+x2,data=tdata)
    summary(tlm)
    

    结果分析
    在这里插入图片描述
    所有的检验均为显著

    因此所得回归方程为y=52.57735+ 1.46831x1+ 0.66225x2.

    展开全文
  • R语言 逐步回归分析 AIC

    万次阅读 多人点赞 2017-09-19 09:38:40
    逐步回归分析是以AIC信息统计量为准则,通过选择最小的AIC信息统计量,来达到删除或增加变量的目的

    关注微信公共号:小程在线

     

    关注CSDN博客:程志伟的博客

    逐步回归分析是以AIC信息统计量为准则,通过选择最小的AIC信息统计量,来达到删除或增加变量的目的。

    R语言中用于逐步回归分析的函数 step()    drop1()     add1()

    #1.载入数据 首先对数据进行多元线性回归分析

    复制代码
    tdata<-data.frame(
      x1=c( 7, 1,11,11, 7,11, 3, 1, 2,21, 1,11,10),
      x2=c(26,29,56,31,52,55,71,31,54,47,40,66,68),
      x3=c( 6,15, 8, 8, 6, 9,17,22,18, 4,23, 9, 8),
      x4=c(60,52,20,47,33,22, 6,44,22,26,34,12,12),
      Y =c(78.5,74.3,104.3,87.6,95.9,109.2,102.7,72.5,
           93.1,115.9,83.8,113.3,109.4)
    )
    tlm<-lm(Y~x1+x2+x3+x4,data=tdata)
    summary(tlm)
    复制代码

    多元线性回归结果分析

    通过观察,回归方程的系数都没有通过显著性检验

    #2.逐步回归分析

    tstep<-step(tlm)
    summary(tstep)

    结果分析:当用x1 x2 x3 x4作为回归方程的系数时,AIC的值为26.94

                  去掉x3 回归方程的AIC值为24.974;去掉x4 回归方程的AIC值为25.011……

                  由于去x3可以使得AIC达到最小值,因此R会自动去掉x3;

    去掉x3之后 AIC的值都增加 逐步回归分析终止  得到当前最优的回归方程

    回归系数的显著性水平有所提高 但是x2 x4的显著性水平仍然不理想

    #3.逐步回归分析的优化

    drop1(tstep)

    结果分析

    如果去掉x4 AIC的值从24.974增加到25.420 是三个变量中增加最小的

     

    #4.进一步进行多元回归分析

    tlm<-lm(Y~x1+x2,data=tdata)
    summary(tlm)

    结果分析

    所有的检验均为显著

    因此所得回归方程为y=52.57735+ 1.46831x1+ 0.66225x2.

    展开全文
  • R语言回归分析

    2014-08-28 18:13:10
    回归模型是计量里最基础也最常见的模型之一。究其原因是因为在实际问题中我们并不知道总体分布如何,而且只有一组数据,那么试着对数据作回归分析将会是一个不错的选择。
  • 传统回归分析以点数据为研究对象,预测结果也是点数据,而真实数据往往在一定范围内变动的.基于置信度可以形成置信区间,一定程度弥补了预测值为单点的不足,但将点数据作为研究对象,以点带表某范围内的所有数据,往往...

    原文链接

    http://tecdat.cn/?p=14850​tecdat.cn

    f8bd625aac1bd82a977c59d860370175.png

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

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

    本文解释如何在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)

    6a041bce8fc1316c5555cf006fe7f85e.png

    更进一步,我们还可以比较模型的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个因素得到更好的结果。


    参考文献

    1.用SPSS估计HLM层次线性模型模型

    2.R语言线性判别分析(LDA),二次判别分析(QDA)和正则判别分析(RDA)

    3.基于R语言的lmer混合线性回归模型

    4.R语言Gibbs抽样的贝叶斯简单线性回归仿真分析

    5.在r语言中使用GAM(广义相加模型)进行电力负荷时间序列分析

    6.使用SAS,Stata,HLM,R,SPSS和Mplus的分层线性模型HLM

    7.R语言中的岭回归、套索回归、主成分回归:线性模型选择和正则化

    8.R语言用线性回归模型预测空气质量臭氧数据

    9.R语言分层线性模型案例

    展开全文
  • 在基因数据的分析中,经常会用到...接下来以线性回归为例介绍其在R语言中的实现,当然在logistic回归、cox回归也是可用lasso的。实例数据data("longley")R包(glmnet)library(glmnet)我们用交叉验证来确定lamda的值...
  • R语言回归分析

    千次阅读 2018-11-16 23:37:08
    这篇博客主要根据一次作业来总结r语言进行回归分析的步骤,真的是好记忆不如“烂笔头”??长时间不用就会忘记。 回归方程: r语言进行回归分析时,可以使用lm()函数进行; #使用r语言进行回归和区间估计; x&...
  • 使用R语言做多元应用回归模型案例,内置R语言代码。包含相关系数的可视化、回归诊断、变量选择、回归诊断。 版权声明:代码下载只能自己学习使用,切勿用于商业用途,违者必究。
  • R语言计量回归分析

    2019-10-25 22:54:22
    在国内学计量的时候都是用Stata或者Eviews来进行回归分析的,这边用的是R,我觉得也比较方便~清数据,分析然后画图都可以很快做好。 回归分析 install.packages("lmtest") library(lmtest) 假设检验 Student-t...
  • R语言回归分析与机器学习实践技术应用,详细介绍了R语言的应用于机器学习的方法。
  • R语言简单回归分析总结

    千次阅读 2016-09-28 22:40:13
    R语言简单回归分析总结
  • R语言回归分析

    万次阅读 2017-08-16 12:34:09
    回归分析(英语:Regression Analysis)是一种统计学上分析数据的方法,目的在于了解两个或多个变数间是否相关、相关方向与强度,并建立数学模型以便观察特定变数来预测研究者感兴趣的变数。更具体的来说,回归分析...
  • 回归分析数据准备数据基本信息建立回归模型建立回归方程预测数值回归方程可视化散点图加拟合回归方程诊断 回归分析它是最为人熟知的建模技术之一。线性回归通常是人们在学习预测模型时首选的技术之一。在这种技术中...
  • R语言回归分析-回归诊断

    千次阅读 2020-02-20 16:25:56
    R语言回归分析 回归分析可以说是统计学的核心,它其实是一个广义的概念,通指那些用一个或多个预测变量(也称自变量或解释变量)来预测响应变量(也称因变量、效标变量或结果变量)的方法。通常,回归分析可以用来...
  • R语言 线性回归分析

    2019-03-04 23:05:11
    回归分析是非常基础的但是也是极其泛用化的统计预测工具之一,而R语言也有自带的function来完成一元和多元回归。 针对一元回归,数据集选用的是R语言自带的women数据集 data(“women”) plot(x=womenweight,y=...
  • R语言回归分析

    2020-02-20 12:03:10
    R语言回归分析 回归分析可以说是统计学的核心,它其实是一个广义的概念,通指那些用一个或多个预测变量(也称自变量或解释变量)来预测响应变量(也称因变量、效标变量或结果变量)的方法。通常,回归分析可以用来...
  • 学会用R回归分析 在统计学中,回归分析(regression analysis)指的是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。回归分析按照涉及的变量的多少,分为一元回归和多元回归分析;按照因变量的...
  • R语言回归分析2018新作,比较详细的介绍了用R进行回归分析的方方面面,书是英文版,适合有一定英语基础的,对回归分析有兴趣的同学学习。
  • R语言回归分析 回归分析可以说是统计学的核心,它其实是一个广义的概念,通指那些用一个或多个预测变量(也称自变量或解释变量)来预测响应变量(也称因变量、效标变量或结果变量)的方法。通常,回归分析可以用来...
  • R语言回归分析 回归分析可以说是统计学的核心,它其实是一个广义的概念,通指那些用一个或多个预测变量(也称自变量或解释变量)来预测响应变量(也称因变量、效标变量或结果变量)的方法。通常,回归分析可以用来...
  • R语言语言学与R语言的碰撞Xu & YangPhoneticSan学习参考Discovering Statistics Using RStatistics for Linguistics with RHow to Do Linguistics with RR in ActionAnalyzing Linguistic DataR Graphics ...
  • 应用回归分析R语言版),R语言学习精品资料,大数据分析最佳工具
  • R语言_回归分析

    千次阅读 2015-08-25 11:10:13
    回归分析
  • R语言回归分析实例

    万次阅读 多人点赞 2017-11-08 09:33:50
    本文包含多元线性回归及逻辑回归两种算法,个人实践操作,希望能与大家一起交流分享,如有描述不当之处,欢迎并多谢指正。 #一、公共部分,加载并审核数据、...setwd("E:/R语言建模实例") #------------------------
  • R语言回归分析

    万次阅读 2014-01-28 14:06:52
    回归分析: 相关分析:是否相关,相关方向,相关程度 7.1 一元线性回归 7.1.1 拟合模型 回归分析是将相关的因素进行测定,确定其因果关系,并以数学模型来表现其具体关系式,从而进行的各类统计分析。 其主要步骤有...
  • R语言回归分析

    2016-11-25 12:01:00
    使用R做回归分析整体上是比较常规的一类数据分析内容,下面我们具体的了解用R语言回归分析的过程。 首先,我们先构造一个分析的数据集 x<-data.frame(y=c(102,115,124,135,148,156,162,176,183,195), var1=run...
  • R语言使用矩阵操作回归分析

    千次阅读 2017-12-24 16:28:42
    用矩阵的方法计算回归分析参数1.1 数据来源:来源R语言默认的数据集women这是一个描述女性身高和体重的数据,我们以height为X变量(自变量),以weight为Y变量(因变量),进行模型的计算。 计算方法参考:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,213
精华内容 9,685
关键字:

r语言作回归分析