赤脚论坛[原临沮论坛]

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9796|回复: 4

R语言编程学习之函数与模型:VAR与SVAR和爬虫(图)

[复制链接]
     
鲜花(1) 鸡蛋(0)
荆楚不肖生 发表于 2018-7-26 16:08 | 显示全部楼层 |阅读模式 来自 湖北省宜昌市 电信

赶紧注册,享受更多功能!查看帖内大图!

您需要 登录 才可以下载或查看,没有账号?立即注册

x
R语言编程学习之函数与模型:VAR与SVAR和爬虫(图)
SVAR模型与VAR模型在模型设定形式上的区别是,VAR模型只包含变量的滞后项,而SVAR模型还包含了变量的当期项。SVAR模型还可以避免联立方程模型可能产生的偏倚问题。因此我们今天给出SVAR在R软件中的使用说明。需要特别说明的是,今天我们并非给出一个新的函数以简化SVAR参数设定,因为我们所使用的vars包中VAR()函数和SVAR函数的参数设定已经十分简洁了。
1. 函数说明
vars包(可以通过TaskView查看具有相似函数的其它包)中的函数很多,按照VAR的分析程序可以分为估计和检验两类函数:估计函数有VAR()和SVAR()函数;检验函数有VARselect()、irf()、fevd()等,分别用于模型选择、脉冲响应和方差分解。同时,vars包还提供了arch.test()、causality()、normality.test()、serial.test()、stability()等函数用于模型检验。
2. 案例与使用说明
#####data1包含内生变量,data2包含外生变量,下面直接给出了data1和data2的原始数据
#####VARselect()函数给出了不同滞后阶数模型的信息值,其中y设定内生变量数据集,exogen设定外生变量数据集,lag.max设定最大滞后阶数,我们设定为6,type设定确定性部分的类型,可选择的包括const截距,trend趋势,both同时包含截距和趋势,none不包含截距和趋势
> VARselect(y=data1,lag.max=6,type="const",exogen=data2)
$selection
AIC(n)  HQ(n)  SC(n) FPE(n)
4      4      4      5
$criteria
1           2            3    4    5    6
AIC(n)     9.588271    10.07365     7.637841 -Inf -Inf -Inf
HQ(n)      9.579220    10.06007     7.619740 -Inf -Inf -Inf
SC(n)     10.437931    11.34814     9.337162 -Inf -Inf -Inf
FPE(n) 16817.321879 41461.93286 12450.487405  NaN    0    0
#####VAR()函数给出了VAR的估计结果,我们将其保存在变量rvar中。VAR()函数设定的参数包括,y为内生变量,exogen为外生变量,ic为可选的信息准则,p为滞后阶数,type为确定性部分,其与VARselect()函数相同。我们通过names()函数查看rvar中VAR()的回归结果。由于VAR()保存为S3类型,可以直接通过$调用,如rvar$varresult调用第一个list。

R语言编程学习之函数与模型:VAR与SVAR和爬虫(图)

R语言编程学习之函数与模型:VAR与SVAR和爬虫(图)
> rvar=VAR(y=data1,p=3,type="const",exogen=data2,ic=c("AIC","SC","HQ","FPE"))
> names(rvar)
[1] "varresult"    "datamat"      "y"            "type"         "p"            "K"           
[7] "obs"          "totobs"       "restrictions" "call"        
#####SVAR()函数给出了SVAR的估计结果,我们将其保存在变量rsvar中。在使用SVAR估计之前,我们需要定义A矩阵,即模型内生变量的当期影响。需要说明的是,由于内生变量方程中不可能与自身的当期值相关,因此A矩阵的对角线全部为1,其它为带估计参数。我们首先定义了一个全部为NA的3*3矩阵(3个内生变量),然后将对角线元素全部设定为1,保存在amat变量中。SVAR()需要设置的参数包括已经回归的VAR()对象,即上一步中的rvar,定义的A矩阵,即amat,估计方法选择的是直接使用极大似然估计“direct”。同样的,我们可以通过names()查看估计结果的名称,其中包括A矩阵和B矩阵的系数及系数标准误。SVAR的关键在于Amat矩阵,如果已经知道某些变量不存在当期相关,则可以通过amat[i,j]=0将该元素固定。
> amat=matrix(NA,3,3)
> amat[1,1]=amat[2,2]=amat[3,3]=1
> rsvar=SVAR(x=rvar,estmethod="direct",Amat=amat,Bmat=NULL,)
#####irf()和fevd()函数的设置相似,需要设置VAR()或者SVAR()估计对象,我们使用的是保存在rvar中的VAR()估计对象。irf()函数需要设定冲击变量和相应变量的名称,我们可以通过names()函数查看内生变量数据集中的变量名,n.ahead设定冲击响应的时期数,如果不设置则默认全部内生变量都进行分析。fevd()的参数设置与此一致。注意,irf()和fevd()返回的是脉冲响应和方差分解的数值,而不是图形。我们通过plot()函数简单的呈现。
> rirf=irf(rvar,impulse="m1",response="cpii",n.ahead=20)
> names(rirf)
[1] "irf"        "Lower"      "Upper"      "response"   "impulse"    "ortho"      "cumulative"
[8] "runs"       "ci"         "boot"       "model"     
> rfevd=fevd(rvar,n.ahead=20)
> names(rfevd)
[1] "m1"   "gdp"  "cpii"
> plot(rirf$irf$m1,type="l")
#####因果分析函数、异方差检验函数和正态性检验函数均是以VAR()或者SVAR()的回归结果为基础,因此我们以保存了VAR()回归结果的变量rvar尽心说明。
> causality(rvar)
> arch.test(rvar,lags.single=5,lags.multi=2)
> normality.test(rvar)
最后说明,在vars包中也包含进行VEC和SVEC分析的函数,使用方法与VAR和SVAR一样。钢铁是怎样炼成的读后感400字心得体会,同时,MTS包中也提供了进行VAR、SVAR和VARX等分析的函数。进行多变量自回归分析的函数包可以在TaskView中进行查看。
R语言 函数与模型:爬虫
网络数据的价值不言而喻。越来越多的研究开始利用各种程序语言从网络爬取数据。爬取网页数据有两个难题——解析网页和文本提取。对“规矩”网页进行解析是很简单的事情:在edge浏览器中选择F12开发人员工具或者在Google Chrome中选择page view source都可以直接浏览网页代码。R中有现存的包进行网页解析,我推荐的是rvest包,因为不需要进行太多参数设置即可完成工作。配合管道函数%>%可以使网页结点解析更加简单。我们的任务就是在一堆代码中找到需要的数据,并查看数据前后的结点,<>和</>表示结点的开始和结束(在爬取数据的时候甚至都不需要知道结点符号表示的含义)。爬取数据的难点在于对解析出来的字符对象进行文本分割和提取,这需要爬虫的作者(使用爬虫的人)掌握基本的文本分析技巧。我的经验是,直接对字符进行定位,并根据起止位置分割。
爬虫的基本框架是:
网页解析
结点提取
字符串清洗和分割
提取并保存目标文本
翻页(循环)

百姓地盘、草根平台!手机访问论坛,更方便更快捷!
点击修改为自己的签名)本站客服QQ:
     
鲜花(19) 鸡蛋(0)
荆山野女 发表于 2018-7-26 16:57 | 显示全部楼层 来自 湖北省宜昌市 电信
姐顶的不是寂寞,是楼主的帖!
百姓地盘、草根平台!手机访问论坛,更方便更快捷!
点击修改为自己的签名)本站客服QQ:
     
鲜花(2) 鸡蛋(0)
子非鱼 发表于 2018-7-26 16:58 | 显示全部楼层 来自 湖北省宜昌市 电信
赞一个!
百姓地盘、草根平台!手机访问论坛,更方便更快捷!
点击修改为自己的签名)本站客服QQ:
     
鲜花(4) 鸡蛋(0)
年轻就是资本 发表于 2018-7-27 13:13 | 显示全部楼层 来自 广东省肇庆市 电信
小手一抖,金币拿走。
百姓地盘、草根平台!手机访问论坛,更方便更快捷!
点击修改为自己的签名)本站客服QQ:
     
鲜花(7) 鸡蛋(0)
冰凌儿 发表于 2018-7-27 15:59 | 显示全部楼层 来自 湖北省宜昌市 电信
百姓地盘、草根平台!手机访问论坛,更方便更快捷!
点击修改为自己的签名)本站客服QQ:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|认证|简介|联系我们|赤脚网 ( 鄂ICP备18015422号 )

GMT+8, 2024-11-24 14:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

网站内容仅代表网友个人观点,非本站认同之观点!删帖请用删帖卡,或联系【 bbs@yalj.net 】我们会尽快处理。
声明:严禁任何人以任何形式在本站发表与中华人民共和国法律相抵触的言论!
技术管理:远安坤哥    主办单位:远安县临沮网信息管理中心
                   
快速回复 返回顶部 返回列表