首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

广义最小二乘GLS多图

本文基于MT5753 统计建模复习笔记

谢绝任何形式的转载

GLS是一个解决异方差问题的办法。

在传统的线性回归模型中,我们假设是不存在“均值-方差”关系的(即方差和均值成比例,感谢方p同学友情提醒)。使用GLS,我们可以将这个假设替代为“存在某种均值-方差关系”。

我们将原本的回归模型:

改写为:

—以上二图均摘自MT5753统计建模课件,侵删

残差项不再是单纯服从同方差的正态分布,而是服从与响应变量相关的方差的正态分布,即上图中的任意一种, m1和m2为附加参数。

用GLS拟合出来的模型和用简单LM (linear model)拟合的差异可能会很大,记得用AIC或者BIC来做一下模型选择。

对于模型假设验证,GLS和LM有以下几点不同:

(1)首先我们不需要同方差的假设了,虽然它依旧需要遵循一些规律。

(2)对于残差独立性检验,Durbin-Waston test在GLS需要规定新的参数lag。此外,我们可以用acf(autocorrelation function,自相关函数)来检测,然后用自回归模型(Autoregression AR)来修正。

自相关 autocorrelation

线性回归模型残差之间具有相关性

对于所有数据点,我们有以下分块矩阵 (block-structure):N为常数,假设这个矩阵是10*10的,除了对角线上的黑色小块里的残差可以相关,矩阵其余地方的残差相关系数均为0(即不相关),相关系数公式见下下图。

r为标准化残差,N(l)为使用矩阵块的残差对的数量。这里的是i+L,不是i+1,写的有点问题。l 为lag,lag是指两个点之间关系的桥梁。比如lag1就是第一个数据点和第二个数据点之间的关系。

小方块内部大致是这样的:

那么怎么看ACF呢?比如说下面这个图,acf应该越平稳越好,我们看到左边和右边的ACF是颠簸的,就说明可能存在自相关的问题。

检测出来有问题之后,我们使用AR模型修正。

自回归模型是统计上一种处理时间序列的方法,用同一变量(例如X)的之前各期,即x1至xt-1来预测本期的表现,并假设它们为一线性关系。因为这是用X预测自己,不是y,所以叫做自回归。

使用条件:

a. 必须有自相关,自相关系数是关键,如果自相关系数ρ

b. 只适用于预测与自身前期相关的经济现象,及受自身历史因素影响较大的经济现象,如矿的开采量;对于受社会因素影响较大的经济现象,不宜采用。

——摘自百度百科《自回归》【1】

自回归模型大致分为三类:

a. AR(1)

即一阶自回归模型,加了一个被解释变量的一阶自回归。这也是使用最普遍的自回归模型。公式为:

h(l,ρ)=ρ^l

ρ为相关系数,l为lag. 当两个measurements之间的距离变长,h(l,ρ)就会衰减。

b. AR(2)

c. AR(3)

——摘自5753,侵删

AR(2)和AR(3)的维度更高,更难定义和解释,但是对于时间序列衰竭更具灵活性。

R代码:

AR(1)

model1

AR(2)

model2

AR(3)

model1

uniqueID是时间相关排序ID

建模完成后,可以用ACF再次查看:

这里很复杂,还需要通过截尾来定阶。课程并没有讲太细,我也没有自己看,所以这里只能大概粗略说一下。

acf查看后,还可以用AIC/BIC来看一看。最后,需要用方差齐性检验检验:

anova(model1,type="marginal")

Anova()适用于一般的线性模型lm()

R代码:

library(nlme)

model1

对于拟合值应永远大于0的情况,可以先给响应变量开方,拟合完模型之后再平方就可以解决:

model.sqrt

model1

durbinWatsonTest(model,max.lag = 15)

acf(residuals(model1,type="normalized"))

参考文献

【1】https://baike.baidu.com/item/%E8%87%AA%E5%9B%9E%E5%BD%92/12732327?fr=aladdin

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180505G090SC00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券