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。
> 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一样。钢铁是怎样炼成的(http://www.simayi.net/duhougan/6680.html)读后感400字心得体会,同时,MTS包中也提供了进行VAR、SVAR和VARX等分析的函数。进行多变量自回归分析的函数包可以在TaskView中进行查看。

R语言 函数与模型:爬虫
网络数据的价值不言而喻。越来越多的研究开始利用各种程序语言从网络爬取数据。爬取网页数据有两个难题——解析网页和文本提取。对“规矩”网页进行解析是很简单的事情:在edge浏览器中选择F12开发人员工具或者在Google Chrome中选择page view source都可以直接浏览网页代码。R中有现存的包进行网页解析,我推荐的是rvest包,因为不需要进行太多参数设置即可完成工作。配合管道函数%>%可以使网页结点解析更加简单。我们的任务就是在一堆代码中找到需要的数据,并查看数据前后的结点,<>和</>表示结点的开始和结束(在爬取数据的时候甚至都不需要知道结点符号表示的含义)。爬取数据的难点在于对解析出来的字符对象进行文本分割和提取,这需要爬虫的作者(使用爬虫的人)掌握基本的文本分析技巧。我的经验是,直接对字符进行定位,并根据起止位置分割。
爬虫的基本框架是:
网页解析
结点提取
字符串清洗和分割
提取并保存目标文本
翻页(循环)

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

  1. R语言编程入门--replicate()函数比较有意思!

    I. 导论 简单来讲,编程是借助计算机来解决某个问题.学习编程的就是训练我们解决问题的能力.有这样一种说法:在未来,不会编程的人即是文盲. 1 为什么要学习R编程 大部分情况下解决某些问题还需要依赖一 ...

  2. R语言实现SOM(自组织映射)模型(三个函数包+代码)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- SOM自组织映射神经网络模型 的R语言实现 笔 ...

  3. r语言 siar 代码_平滑转换自回归(STAR)模型的R语言编程实现详解

    总体讲,ST(Smooth transition)模型,这块的code混乱的比较狗血,文献中的做法也是千奇百怪, 单变量的有 :STAR, LSTAR, ESTAR, 多变量的有:STVAR, LST ...

  4. R语言使用rpart包构建决策树模型、使用prune函数进行树的剪枝、交叉验证预防过拟合、plotcp可视化复杂度、rpart.plot包可视化决策树、使用table函数计算混淆矩阵评估分类模型性能

    R语言使用rpart包构建决策树模型.使用prune函数进行树的剪枝.使用10折交叉验证选择预测误差最低的树来预防过拟合.plotcp可视化决策树复杂度.rpart.plot包可视化最终决策树.使用t ...

  5. r语言编程基础_这项免费的统计编程课程仅需2个小时即可学习R编程语言基础知识

    r语言编程基础 Learn the R programming language in this course from Barton Poulson of datalab.cc. This is a ...

  6. R语言survival包clogit函数构建条件logistic回归模型、summary函数查看模型汇总统计信息、通过似然比检验分析结果判断模型有无统计学意义

    R语言survival包clogit函数构建条件logistic回归模型.summary函数查看模型汇总统计信息.通过似然比检验分析结果判断模型有无统计学意义 目录

  7. R语言使用glm构建logistic回归模型,构建多个协变量和分组变量之间的关系模型进行倾向性评分计算、使用predict函数预测倾向性评分并将结果整合到dataframe中

    R语言使用glm构建logistic回归模型,构建多个协变量和分组变量之间的关系模型进行倾向性评分计算.估计(Propensity score).使用predict函数预测倾向性评分并将结果整合到da ...

  8. R语言survival包coxph函数构建cox回归模型、ggrisk包ggrisk函数可视化Cox回归的风险评分图、使用风险得分的中位数计算最佳截断值cutoff(基于LIRI基因数据集)

    R语言survival包coxph函数构建cox回归模型.ggrisk包ggrisk函数可视化Cox回归的风险评分图.使用风险得分的中位数计算最佳截断值cutoff(基于LIRI基因数据集) 目录

  9. R语言编程 第一讲 变量与赋值

    R语言编程 第一讲 变量与赋值 R语言的变量名 赋值符号 <- 与 = 的区别 赋值符号 <- 的更多细节 Copy-on-Modify与Modify-in-Place 函数调用 列表 数 ...

最新文章

  1. 解读Python的命名空间
  2. CMD 输入中文看不到输入法的解决方法
  3. etcdctl命令查询etcd信息
  4. 日常生活小技巧 -- 玩转 PDF
  5. luogu4407 [JSOI2009]电子字典 字符串hash + hash表
  6. hiredis(Synchronous API)
  7. python爬取京东手机参数_python抓取京东小米8手机配置信息
  8. 2017-09-16
  9. [经验教程]百度Robots检测:您的服务器配置有误,百度暂时无法连接您的服务器,请检查服务器的设置,确保您网站的服务器能被正常访问。
  10. matlab如何定义dmod函数,matlab中的dmod函数
  11. 天选三超频实战/适用于所有AMD笔记本的全面超频指南:CPU频率,功耗墙,Infinity Fabric总线(FCLK),内存时序,CPU电压,核显频率,核显电压......
  12. 微分积分电路及其波形转换
  13. 专业心理性格测试软件,专业心理性格测试题目
  14. 数学中考计算机的应用,信息技术在初中数学教学中的应用
  15. NIST Cybersecurity White Paper 2021
  16. Linux下使用 shell 脚本实现ftp文件下载
  17. 内网渗透(十三)之内网信息收集-收集域环境中的基本信息
  18. 2021-11-06关节空间路径规划和算法(采样、搜索)或者末端轨迹优化?
  19. Android 如何实现google天气
  20. 工业基础类IFC—提取模型结构树

热门文章

  1. 2021电赛F题-智能送药小车-国一
  2. 音响放大器设计与实现
  3. (九)Java版Spring Cloud B2B2C o2o鸿鹄云商平台--平台管理通用设置
  4. 转:巩固mysql 字段的显示宽度
  5. Introduction写作常用句式
  6. 263海外邮箱服务器设置,263企业G邮局海外服务器
  7. Spring 条件组件注解:`@Conditional` 与 `@ConditionalOnBean`
  8. 客户机是如何用Telnet访问交换机
  9. 稳定快速的算法,并且支持多种用户界面TOSCA V9.0
  10. 浏览器中直接打开apk