R语言里做时间序列分析有哪些包

Python010

R语言里做时间序列分析有哪些包,第1张

直接谷歌一下,“时间序列分析

R语言”,就能得到你想要的结果

以下结果来自,

作者:詹鹏 2012-9-20

22:46:46

【包】

library(zoo)           

#时间格式预处理

library(xts)

           #同上

library(timeSeires)     

#同上

library(urca)          

#进行单位根检验

library(tseries)        

#arma模型

library(fUnitRoots)    

#进行单位根检验

library(FinTS)       

 #调用其中的自回归检验函数

library(fGarch)       

#GARCH模型

library(nlme)         

#调用其中的gls函数

library(fArma)       

#进行拟合和检验

【基本函数】

数学函数

abs,sqrt:绝对值,平方根

log,

log10,

log2

,

exp:对数与指数函数

sin,cos,tan,asin,acos,atan,atan2:三角函数

sinh,cosh,tanh,asinh,acosh,atanh:双曲函数

简单统计量

sum,

mean,

var,

sd,

min,

max,

range,

median,

IQR(四分位间距)等为统计量,sort,order,rank与排序有关,其它还有ave,fivenum,mad,quantile,stem等

主成分分析

成分分析((Principal Component Analysis,PCA)是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关变量称为主成分(原来变量的线性组合)。整体思想就是化繁为简,抓住问题关键,也就是降维思想。

主成分分析法是通过恰当的数学变换,使新变量——主成分成为原变量的线性组合,并选取少数几个在变差总信息量中比例较大的主成分来分析事物的一种方法。主成分在变差信息量中的比例越大,它在综合评价中的作用就越大。

因子分析

探索性因子分析法(Exploratory Factor Analysis,EFA)是一系列用来发现一组变量的潜在结构的方法。它通过寻找一组更小的、潜在的或隐藏的结构来解释已观测到的、显式的变量间的关系。

PCA与EFA模型间的区别

参见图14-1。主成分(PC1和PC2)是观测变量(X1到X5)的线性组合。形成线性组合的权重都是通过最大化各主成分所解释的方差来获得,同时还要保证个主成分间不相关。相反,因子(F1和F2)被当做是观测变量的结构基础或“原因”,而不是它们的线性组合。

R的基础安装包提供了PCA和EFA的函数,分别为princomp()和factanal()。

最常见的分析步骤

(1)数据预处理。PCA和EFA都根据观测变量间的相关性来推导结果。用户可以输入原始数据矩阵或者相关系数矩阵到principal()和fa()函数中。若输入初始数据,相关系数矩阵将会被自动计算,在计算前请确保数据中没有缺失值。

(2)选择因子模型。判断是PCA(数据降维)还是EFA(发现潜在结构)更符合你的研究目标。如果选择EFA方法,你还需要选择一种估计因子模型的方法(如最大似然估计)。

(3)判断要选择的主成分/因子数目。

(4)选择主成分/因子。

(5)旋转主成分/因子。

(6)解释结果。

(7)计算主成分或因子得分。

PCA的目标是用一组较少的不相关变量代替大量相关变量,同时尽可能保留初始变量的信息,这些推导所得的变量称为主成分,它们是观测变量的线性组合。如第一主成分为:

它是k个观测变量的加权组合,对初始变量集的方差解释性最大。第二主成分也是初始变量的线性组合,对方差的解释性排第二,同时与第一主成分正交(不相关)。后面每一个主成分都最大化它对方差的解释程度,同时与之前所有的主成分都正交。理论上来说,你可以选取与变量数相同的主成分,但从实用的角度来看,我们都希望能用较少的主成分来近似全变量集。

主成分与原始变量之间的关系

(1)主成分保留了原始变量绝大多数信息。

(2)主成分的个数大大少于原始变量的数目。

(3)各个主成分之间互不相关。

(4)每个主成分都是原始变量的线性组合。

数据集USJudgeRatings包含了律师对美国高等法院法官的评分。数据框包含43个观测,12个变量。

用来判断PCA中需要多少个主成分的准则:

根据先验经验和理论知识判断主成分数;

根据要解释变量方差的积累值的阈值来判断需要的主成分数;

通过检查变量间k × k的相关系数矩阵来判断保留的主成分数。

最常见的是基于特征值的方法。每个主成分都与相关系数矩阵的特征值相关联,第一主成分与最大的特征值相关联,第二主成分与第二大的特征值相关联,依此类推。

Kaiser-Harris准则建议保留特征值大于1的主成分,特征值小于1的成分所解释的方差比包含在单个变量中的方差更少。Cattell碎石检验则绘制了特征值与主成分数的图形。这类图形可以清晰地展示图形弯曲状况,在图形变化最大处之上的主成分都可保留。最后,你还可以进行模拟,依据与初始矩阵相同大小的随机数据矩阵来判断要提取的特征值。若基于真实数据的某个特征值大于一组随机数据矩阵相应的平均特征值,那么该主成分可以保留。该方法称作平行分析。

图形解读:线段和x符号组成的图(蓝色线):特征值曲线;

红色虚线:根据100个随机数据矩阵推导出来的平均特征值曲线;

绿色实线:特征值准则线(即:y=1的水平线)

判别标准:特征值大于平均特征值,且大于y=1的特征值准则线,被认为是可保留的主成分。根据判别标准,保留1个主成分即可。

fa.parallel函数学习

fa.parallel(data,n.obs=,fa=”pc”/”both”,n.iter=100,show.legend=T/F)

data:原始数据数据框;

n.obs:当data是相关系数矩阵时,给出原始数据(非原始变量)个数,data是原始数据矩阵时忽略此参数;

fa:“pc”为仅计算主成分,“fa”为因子分析,“both”为计算主成分及因子;

n.iter:模拟平行分析次数;

show.legend:显示图例。

principal(r, nfactors = , rotate = , scores = )

r:相关系数矩阵或原始数据矩阵;

nfactors:设定主成分数(默认为1);

rotate:指定旋转的方法,默认最大方差旋转(varimax)。

scores:设定是否需要计算主成分得分(默认不需要)。

PC1栏包含了成分载荷,指观测变量与主成分的相关系数。如果提取不止一个主成分,那么还将会有PC2、PC3等栏。成分载荷(component loadings)可用来解释主成分的含义,解释主成分与各变量的相关程度。

h2栏为成分公因子方差,即主成分对每个变量的方差解释度。

u2栏为成分唯一性,即方差无法被主成分解释的部分(1-h2)。

SS loadings包含了与主成分相关联的特征值,其含义是与特定主成分相关联的标准化后的方差值,即可以通过它来看90%的方差可以被多少个成分解释,从而选出主成分(即可使用nfactors=原始变量个数来把所有特征值查出,当然也可以直接通过eigen函数对它的相关矩阵进行查特征值)。

Proportion Var表示每个主成分对整个数据集的解释程度。

Cumulative Var表示各主成分解释程度之和。

Proportion Explained及Cumulative Proportion分别为按现有总解释方差百分比划分主成分及其累积百分比。

结果解读:第一主成分(PC1)与每个变量都高度相关,也就是说,它是一个可用来进行一般性评价的维度。ORAL变量99.1%的方差都可以被PC1来解释,仅仅有0.91%的方差不能被PC1解释。第一主成分解释了11个变量92%的方差。

结果解读:通过碎石图可以判定选择的主成分个数为2个。

结果解读:从结果Proportion Var: 0.58和0.22可以判定,第一主成分解释了身体测量指标58%的方差,而第二主成分解释了22%,两者总共解释了81%的方差。对于高度变量,两者则共解释了其88%的方差。

旋转是一系列将成分载荷阵变得更容易解释的数学方法,它们尽可能地对成分去噪。旋转方法有两种:使选择的成分保持不相关(正交旋转),和让它们变得相关(斜交旋转)。旋转方法也会依据去噪定义的不同而不同。最流行的正交旋转是方差极大旋转,它试图对载荷阵的列进行去噪,使得每个成分只是由一组有限的变量来解释(即载荷阵每列只有少数几个很大的载荷,其他都是很小的载荷)。 结果列表中列的名字都从PC变成了RC,以表示成分被旋转。

当scores = TRUE时,主成分得分存储在principal()函数返回对象的scores元素中。

如果你的目标是寻求可解释观测变量的潜在隐含变量,可使用因子分析。

EFA的目标是通过发掘隐藏在数据下的一组较少的、更为基本的无法观测的变量,来解释一

组可观测变量的相关性。这些虚拟的、无法观测的变量称作因子。(每个因子被认为可解释多个

观测变量间共有的方差,因此准确来说,它们应该称作公共因子。)

其中 是第i个可观测变量(i = 1…k), 是公共因子(j = 1…p),并且p<k。 是 变量独有的部分(无法被公共因子解释)。 可认为是每个因子对复合而成的可观测变量的贡献值。

碎石检验的前两个特征值(三角形)都在拐角处之上,并且大于基于100次模拟数据矩阵的特征值均值。对于EFA,Kaiser-Harris准则的特征值数大于0,而不是1。

结果解读:PCA结果建议提取一个或者两个成分,EFA建议提取两个因子。

fa(r, nfactors=, n.obs=, rotate=, scores=, fm=)

 r是相关系数矩阵或者原始数据矩阵;

 nfactors设定提取的因子数(默认为1);

 n.obs是观测数(输入相关系数矩阵时需要填写);

 rotate设定旋转的方法(默认互变异数最小法);

 scores设定是否计算因子得分(默认不计算);

 fm设定因子化方法(默认极小残差法)。

与PCA不同,提取公共因子的方法很多,包括最大似然法(ml)、主轴迭代法(pa)、加权最小二乘法(wls)、广义加权最小二乘法(gls)和最小残差法(minres)。统计学家青睐使用最大似然法,因为它有良好的统计性质。

结果解读:两个因子的Proportion Var分别为0.46和0.14,两个因子解释了六个心理学测试60%的方差。

结果解读:阅读和词汇在第一因子上载荷较大,画图、积木图案和迷宫在第二因子上载荷较大,非语言的普通智力测量在两个因子上载荷较为平均,这表明存在一个语言智力因子和一个非语言智力因子。

正交旋转和斜交旋转的不同之处。

对于正交旋转,因子分析的重点在于因子结构矩阵(变量与因子的相关系数),而对于斜交旋转,因子分析会考虑三个矩阵:因子结构矩阵、因子模式矩阵和因子关联矩阵。

因子模式矩阵即标准化的回归系数矩阵。它列出了因子预测变量的权重。因子关联矩阵即因子相关系数矩阵。

图形解读:词汇和阅读在第一个因子(PA1)上载荷较大,而积木图案、画图和迷宫在第二个因子(PA2)上载荷较大。普通智力测验在两个因子上较为平均。

与可精确计算的主成分得分不同,因子得分只是估计得到的。它的估计方法有多种,fa()函数使用的是回归方法。

R包含了其他许多对因子分析非常有用的软件包。FactoMineR包不仅提供了PCA和EFA方法,还包含潜变量模型。它有许多此处我们并没考虑的参数选项,比如数值型变量和类别型变量的使用方法。FAiR包使用遗传算法来估计因子分析模型,它增强了模型参数估计能力,能够处理不等式的约束条件,GPArotation包则提供了许多因子旋转方法。最后,还有nFactors包,它提供了用来判断因子数目的许多复杂方法。

主成分分析

1.数据导入

数据结构:对10株玉米进行了生物学性状考察,考察指标有株高,穗位,茎粗,穗长,秃顶,穗粗,穗行数,行粒数。

结果解读:选择2个主成分即可保留样本大量信息。

3.提取主成分

结果解读:主成分1可解释44%的方差,主成分2解释了26%的方差,合计解释了70%的方差。

4.获取主成分得分

5.主成分方程

PC1 = 0.27 株高 - 0.04 穗位 + 0.29 茎粗 - 0.01 穗长 - 0.21 秃顶 - 0.13 穗粗 + 0.16 穗行数 + 0.24 行粒数

PC2 = -0.01 株高 + 0.36 穗位 - 0.10 茎粗 + 0.41 穗长 - 0.08 秃顶 + 0.43 穗粗 - 0.15 穗行数 + 0.01 行粒数

图形解读:此图反映了变量与主成分的关系,三个蓝点对应的RC2值较高,点上的标号2,4,6对应变量名穗位,穗长,穗粗,说明第2主成分主要解释了这些变量,与这些变量相关性强;黑点分别对应株高,茎粗,穗行数,行粒数,说明第一主成分与这些变量相关性强,第一主成分主要解释的也是这些变量,而5号点秃顶对于两个主成分均没有显示好的相关性。

因子分析

图解:可以看到需要提取4个因子。

2.提取因子

结果解读:因子1到4解释了80%的方差。

3.获取因子得分

图解:可以看出,因子1和因子2的相关系数为0.4,行粒数,株高,茎粗,秃顶在因子1的载荷较大,穗长,穗位在因子2上的载荷较大;因子3只有穗行数相关,因子4只有穗粗相关。

参考资料:

系统信息管理模块的划分如图11.6所示。这种划分实现r数据管理、GlS图形处理功能与综合分析的结合。在C/S体系下以ArcMap应用框架基础上,结合ArcObjects进行定制开发的胖客户端(图11.7),用户可以实现数据管理的基本功能;根据实际需要进行定制各自的专题成果图,对各种专题图形进行绘制、选取、输出以及定位查询等图形操作;也可以将系统图形数据转成其他系统需要的格式进行标准图形输出。而B/S为主的瘦客户浏览端(图11.8),川户除了数据管理、空间叠加这样较为复杂的操作不能实现以外,其他功能儿乎均能在基于Internct/Intranet的客户端实现。实现方式也大同小异,只是在执行效率方面瘦客户端逊色于胖客户端而已。

图11.6 信息管理模块划分

图11.7 基于C/S的应用界面

图11.8 基于B/S的应用界面

11.5.1.1 数据管理

数据管理也是GIS系统的基本功能,本系统为了实现对基本数据库的有效管理,对数据管理的一些主要功能在C/S体系下的胖客户端实现。

(1)数据输入。图形、表格数据、文本数据的输入建库与数据更新等。

(2)数据编辑。即数据的处理,包括数据内容的增加、修改与删除,数据属性的增加、修改与删除等。

(3)数据输出。图表、文档(包括查询结果)的输出,各种流行图形格式(包括矢量和栅格)的输出等。可根据中国地质调查局的要求,输出ArcInfo E00格式。

(4)投影转换。采用国际通用投影方式之间的转换等,在这里主要转换成我国统一的高斯-克吕格大地坐标系统。

11.5.1.2 图形管理

图形管理模块是国土遥感综合调查基础数据库及其信息系统建成运行的关键功能。为了实现遥感综合调查项目各个专题数据的整合,使得各个专项基础数据库发挥自己最大的效能,就必须通过本模块去合理地组织数据、维护数据,以实现对图形数据库以及其他格式的数据的有效管理。它具体包括了添加新数据、扩展数据的范围、元数据编辑修改以及数据版本管理等功能。它内含图层控制、空间分析等子模块。

(1)图层控制。对遥感调查成果数据库中的各类数据包括遥感影像数据进行有选择的叠加显示,为形成决策提供信息支持。其中,遥感影像与矢量数据的叠加切换显示,可以很直观地反映土地资源利用状况和宏观地表生态环境的变化,发现城市土地利用的动态变化状况,如城市扩展、植被退化、退耕还林、未利用地开垦等;为大型道路、桥梁、水利等基础设施工程的宏观规划和前期论证,为地质灾害的预防和监测提供重要的资源环境背景信息,如图11.8所示。

(2)空间分析。空间分析是将两层图形数据进行叠加,产生一个新的要素层的操作,其结果是原来的要素被分割、剪断、套合,然后生成新的要素。这部分功能主要在胖客户端。

(3)专题提取。依据一定的逻辑组合条件,从当前被选取图层中提取生成一张新的专题图件,并可根据选取的统计数字,制作柱状图、饼状图、曲线图等专题图。

(4)三维分析。数据可视化允许用户在表面上叠加栅格或矢量数据,并从表面上提取矢量要素,还可以通过不同的浏览器从不同的角度浏览场景,通过改变三维图层的属性,对表面使用纹理或将其透明化,也可以改变三维场景设置地形的垂直拉伸系数、坐标系统及场景范围、照明等;三维分析工具可以从GIS数据中创建表面模型,可以对栅格表面插值,在TIN中创建或添加要素;表面分析允许用户交互地查询栅格表面的值和TIN的坡度、坡向及高程。这部分功能主要在胖客户端。

(5)信息标注。用户查询到感兴趣的地区或有疑问的地方,可以直接在当前查询界面上进行标注。通过标注,可以在以后快速定位到被标注的位置和信息层面,继续进行主题分析和疑难查询。

(6)制图输出。分为专业打印和普通打印。专业打印须在胖客户端的布局窗口里进行,系统进入布局状态时自动将当前地图窗口中的地图加载到布局页面上。此时通过点击工具栏上的按钮可以交互式地创建其他布局元素。可利用图形辅助工具生成相应的专题图件。所制作的图件上除了标准分幅图的规定内容外,还要标出项目名称、图例、经纬度、绘制时间等内容。而普通打印则为所见即所得,系统打印当前图形所显示的状态。

11.5.1.3 查询统计

(1)信息查询。图属对应功能:选中地图上查询出来的对象,地图下方的属性表中相应的记录就会呈选中状态;反过来选中属性表中的任意一行记录,对应的被选中对象也会在地图上高亮居中显示。

另外,系统提供了界面供用户输入属性和空间查询条件后,系统按照设定的条件从数据库中提取相应的数据的功能。通过构造查询树,用户还可以设定属性查询条件;通过从三种空间查询模式中选定一种,用户可以交互式设定查询的空间范围,从而实现查询功能。

(2)统计分析。可以检索查询浙江省任意一个市、县的遥感影像和土地利用状况、地质灾害分布情况、地壳稳定性分区及活动断裂构造分布状况等情况并进行统计分析,输出统计分析数据报表。

统计结果可按固定格式的表格、图表的形式打印输出。

11.5.1.4 元数据管理

元数据是对数据的描述性数据,它包含数据从空间到属性、从外部到内容的多种信息,同时也包含数据在数据库系统中使用存贮、数据获取等信息,是数据检索查询的依据和桥梁。元数据发布通过通川的客户浏览器平台实现,并提供多种查询方式以方便用户的使用。在这里主要以HTML形式发布(如图11.9所示)。

图11.9 元数据发布页面