
如何用R做计量经济学
CRAN任务视图:计量经济学
线形回归模型(Linear regression models)
ž 线形模型可用stats包中lm()函数通过OLS来拟合,该包中也有各种检验方法用来比较模型,如:summary() 和anova()。
ž lmtest包里的coeftest()和waldtest()函数是也支持渐近检验(如:z检验而不是检验,卡方检验而不是F检验)的类似函数。
ž car包里的linear.hypothesis()可检验更一般的线形假设。
ž HC和HAC协方差矩阵的这些功能可在sandwich包里实现。
ž car和lmtest包还提供了大量回归诊断和诊断检验的方法。
ž 工具变量回归(两阶段最小二乘)由AER包中的ivreg()提供,其另外一个实现sem包中的tsls()。
微观计量经济学(Microeconometrics)
ž 许多微观计量经济学模型属于广义线形模型,可由stats包的glm()函数拟合。包括用于选择类数据(choice data)的Logit和probit模型,用于计数类数据(count data)的poisson模型。这些模型回归元的值可用effects获得并可视化。
ž 负二项广义线形模型可由MASS包的glm.nb()实现。aod包提供了负二项模型的另一个实现,并包含过度分散数据的其它模型。
ž 边缘(zero-inflated)和hurdle计数模型可由pscl包提供。
ž 多项响应(Multinomial response):特定个体协变量(individual-specific covariates)多项模型只能由nnet包中multinom()函数提供。mlogit包实现包括特定个体和特定选择(choice-specific)变量。多项响应的广义可加模型可由VGAM包拟合。针对多项probit模型的贝叶斯方法由MNP包提供,各种贝叶斯多项模型(包括logit和probit)在bayesm包中可得。
ž 顺序响应(Ordered response):顺序响应的比例优势回归由MASS包中polr()函数实现。包ordinal为顺序数据(ordered data)提供包括比例优势模型(propotional odds models)以及更一般规范的累积链接模型(cumulative link models)。贝叶斯顺序probit模型由包bayesm提供。
ž 删失响应(Censored response):基本删失回归模型(比如,tobit模型)可以由survival包中的suevreg()函数拟合,一个便利的接口tobit()在AER包中。更深入的删失回归模型,包括面板数据的模型,由censReg包提供,样本选择的模型在sampleSelection包中可得。
ž 杂项:有关微观计量经济学得进一步精细工具由micEcon族包提供:Cobb-Douglas分析、translog、二次函数在micEcon里;规模弹性不变(Constant Elasticity of Scale,CES)函数在micEconCES里;对称归一二次利润(Symmetric Normalized Quadratic Profit,SNQP)函数在micEconSNQP里;几乎理想的需求函数模型系统(Almost Ideal Demand System ,AIDS)函数在micEconAids包里;随机前沿分析(Stochastic Frontier Analysis)在frontier包中;bayesm包执行微观计量济学和营销学(marketing)中的贝叶斯方法;相对分布推断在包reldist里。
其它的回归模型(Further regression models)
ž 非线性最小二乘回归建模可用stats包里的nls()实现。
ž 分位数回归(Quantile Regression):quantreg(包括线性、非线性、删失、局部多项和可加分位数回归)。
ž 面板数据的线性模型:plm。一个空间面板模型的包(splm)正在R-Forge开发。
ž 广义动量方法(Generalized method of moments,GMM)和广义实证似然(generalized empirical likelihood,GEL):gmm。
ž 线性结构方程模型:sem,包括两阶段最小二乘。
ž 联立方程估计:systemfit。
ž 非参核方法:np。
ž Beta回归:betareg和gamlss
ž 截位(高斯)回归:truncreg。
ž 非线性混合效应模型:nlme和lme4。
ž 广义可加模型:mgcv、gam、gamlss和VGAM。
ž 杂项:包VGAM、Design和Hmisc包提供了若干(广义)线性模型处理的扩展工具,Zelig是一个针对很多种回归模型的易于使用的统一接口。
基本的时间序列架构(Basic time series infrastructure)
ž stats包的“ts” 类是R的规则间隔时间序列的标准类(尤其是年度、季度和月度数据)。
ž “ts”格式的时间序列可以与zoo包中的“zooreg” 强制互换,而不丢失信息。zoo包规则和不规则间隔时间序列的架构(后者通过类“zoo”),其中时间信息可以是任意类。这包括日间序列(典型地,以“Date”时间索引)或日内序列(例如,以“POSIXct”时间索引)。
ž 建立在“POSIXt”时间-日期类上的its、tseries和timeSeries(前fSeries)包也提供不规则间隔时间序列的架构,特别用于金融分析。
时间序列建模(Time series modelling)
ž stats包里有经典的时间序列建模工具,arima()函数做ARIMA建模和Box-Jenkins-type分析。
ž stats包还提供StructTS()函数拟合结构时间序列。
ž 可以用nlme包中的gls()函数经由OLS拟合含AR误差项的线性回归模型。
ž 时间序列的滤波和分解可以用stats 包的decompose() 和HoltWinters() 函数。
ž 这些方法的扩展,尤其是预测和模型选择,在forecast 包里。
ž mFilter 里有各种各样的时序滤波方法。
ž 估计向量自回归(VAR)模型,有若干方法可用:简单模型可用stats 包里ar()拟合,vars 包提供更精巧的模型,dse 中的estVARXls()和贝叶斯方法在MSBVAR 中。dynlm包有一个经由OLS拟合动态回归模型的方便接口,dyn实现了一个用于其它回归函数的不同方法。
ž 可以用dse拟合更高级的动态方程组。
ž tsDyn 提供各种非线性自回归时序模型。
ž 高斯线性状态空间模型可用dlm 拟合(通过最大似然、卡尔曼滤波/平滑和贝叶斯方法)。
ž 包urca、tseries和CADFtest提供了单位根和协整技术。
ž 时间序列因子分析在tsfa 包里。
ž 包sde提供随机微分方程的模拟和推断。
ž 非对称价格传导建模在apt包中。
杂项
ž 矩阵操作(Matrix manipulations)。作为一个向量和矩阵语言,R有许多基本函数处理矩阵,与Matrix和SparseM包互补。
ž 放回再抽样(Bootstrap)。除了推荐的boot包,bootstrap或simpleboot包里有一些其它的常规bootstrapping技术;还有些函数专门为时间序列数据而设计,如:meboot包里的最大熵bootstrap,tseries包里的tsbootstrap()函数。
ž 不平等(Inequality)。为了测量不平等(inequality),集中(concentration)和贫穷(poverty),ineq包提供了一些基本的工具,如:劳伦茨曲线(Lorenz curves),Pen's parade,基尼系数(Gini coefficient)。
ž 结构变化(Structural change)。R有很强的处理参数模型的结构变化和变化点的能力,可参考strucchange和segmented包。
数据集(Data sets)
ž Packages AER和Ecdat包含许多来自计量经济学教科书和杂志(应用计量经济学,商业/经济统计)的数据集。
ž AER另外提供大量例子再现来自教材和文献的分析,演示各种计量经济学方法。
ž FinTS 是Tsay的《Analysis of Financial Time Series》(2nd ed., 2005, Wiley)一书的R参考,包含运行其中一些例子所需的数据集、函数和脚本。
ž DNmoney包提供加拿大货币流通额。
ž pwt包提供佩恩世界表(Penn World Table)。
ž 包expsmooth、fma和Mcomp分别是《Forecasting with Exponential Smoothing: The State Space Approach》(Hyndman, Koehler, Ord, Snyder, 2008, Springer)、《Forecasting: Methods and Applications》(Makridakis, Wheelwright, Hyndman, 3rd ed., 1998, Wiley)和《the M-competitions》的时间序列数据包
ž 包erer包含《Empirical Research in Economics: Growing up with R》(Sun, forthcoming)一书中的函数和数据集。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在 “神经网络与卡尔曼滤波融合” 的理论基础上,Python 凭借其丰富的科学计算库(NumPy、FilterPy)、深度学习框架(PyTorch、T ...
2025-10-23在工业控制、自动驾驶、机器人导航、气象预测等领域,“状态估计” 是核心任务 —— 即从含噪声的观测数据中,精准推断系统的真 ...
2025-10-23在数据分析全流程中,“数据清洗” 恰似烹饪前的食材处理:若食材(数据)腐烂变质、混杂异物(脏数据),即便拥有精湛的烹饪技 ...
2025-10-23在人工智能领域,“大模型” 已成为近年来的热点标签:从参数超 1750 亿的 GPT-3,到万亿级参数的 PaLM,再到多模态大模型 GPT-4 ...
2025-10-22在 MySQL 数据库的日常运维与开发中,“更新数据是否会影响读数据” 是一个高频疑问。这个问题的答案并非简单的 “是” 或 “否 ...
2025-10-22在企业数据分析中,“数据孤岛” 是制约分析深度的核心瓶颈 —— 用户数据散落在注册系统、APP 日志、客服记录中,订单数据分散 ...
2025-10-22在神经网络设计中,“隐藏层个数” 是决定模型能力的关键参数 —— 太少会导致 “欠拟合”(模型无法捕捉复杂数据规律,如用单隐 ...
2025-10-21在特征工程流程中,“单变量筛选” 是承上启下的关键步骤 —— 它通过分析单个特征与目标变量的关联强度,剔除无意义、冗余的特 ...
2025-10-21在数据分析全流程中,“数据读取” 常被误解为 “简单的文件打开”—— 双击 Excel、执行基础 SQL 查询即可完成。但对 CDA(Cert ...
2025-10-21在实际业务数据分析中,我们遇到的大多数数据并非理想的正态分布 —— 电商平台的用户消费金额(少数用户单次消费上万元,多数集 ...
2025-10-20在数字化交互中,用户的每一次操作 —— 从电商平台的 “浏览商品→加入购物车→查看评价→放弃下单”,到内容 APP 的 “点击短 ...
2025-10-20在数据分析的全流程中,“数据采集” 是最基础也最关键的环节 —— 如同烹饪前需备好新鲜食材,若采集的数据不完整、不准确或不 ...
2025-10-20在数据成为新时代“石油”的今天,几乎每个职场人都在焦虑: “为什么别人能用数据驱动决策、升职加薪,而我面对Excel表格却无从 ...
2025-10-18数据清洗是 “数据价值挖掘的前置关卡”—— 其核心目标是 “去除噪声、修正错误、规范格式”,但前提是不破坏数据的真实业务含 ...
2025-10-17在数据汇总分析中,透视表凭借灵活的字段重组能力成为核心工具,但原始透视表仅能呈现数值结果,缺乏对数据背景、异常原因或业务 ...
2025-10-17在企业管理中,“凭经验定策略” 的传统模式正逐渐失效 —— 金融机构靠 “研究员主观判断” 选股可能错失收益,电商靠 “运营拍 ...
2025-10-17在数据库日常操作中,INSERT INTO SELECT是实现 “批量数据迁移” 的核心 SQL 语句 —— 它能直接将一个表(或查询结果集)的数 ...
2025-10-16在机器学习建模中,“参数” 是决定模型效果的关键变量 —— 无论是线性回归的系数、随机森林的树深度,还是神经网络的权重,这 ...
2025-10-16在数字化浪潮中,“数据” 已从 “辅助决策的工具” 升级为 “驱动业务的核心资产”—— 电商平台靠用户行为数据优化推荐算法, ...
2025-10-16在大模型从实验室走向生产环境的过程中,“稳定性” 是决定其能否实用的关键 —— 一个在单轮测试中表现优异的模型,若在高并发 ...
2025-10-15