计量经济学实验

(Econometrics Lab)

基于EViews软件的实验设计与应用


Hu Huaping (胡华平)

huhuaping01 at hotmail.com

经济管理学院(CEM)

2025年11月24日

Lab 01:EViews入门

为何选择EViews?

EViews简介

EViews(Econometrics Views)由 MicroTSP 演化而来,1994 年由 QMS 公司以 C++ 重构,2010 年并入 IHS Markit。软件定位于计量经济分析的“全流程工作台”,以对象(Object)为核心理念,提供数据导入、建模、诊断、可视化到结果输出的一站式体验。

  • 支持截面数据、时间序列、面板数据等主流数据结构
  • 兼容菜单操作与命令脚本,易学易用又能满足复杂任务
  • 依托对象管理:数据、表格、图形、方程可独立保存、复制、重命名并复用
  • 适合教学场景(降低入门门槛)与科研实证(可重复性强)

注记

“Views” 既指软件界面的所见即所得,也强调通过不同视图/对象来组织分析流程。

EViews的运行逻辑

菜单驱动流程

  • 十大主菜单涵盖数据、统计、估计、诊断与输出,配合鼠标即可完成大多数任务
  • 新手易于上手,但需要记忆菜单路径;重复性任务效率有限
  • 每次操作都会生成可见对象,便于后续修改与呈现

命令驱动流程

命令驱动流程适合于相对复杂、有一定重复性的分析任务。

可以(与菜单驱动流程)并行使用,也可以单独使用。

  • 菜单与命令可混合使用:菜单获取对象,命令提取系数、批量生成图表

可以在命令窗口中逐行执行,也可以在.prg文件中批量执行。

  • 命令窗口支持逐行执行;.prg 文件可批量复现分析

命令语法示例

命令语法示例

进行线性回归分析的典型语法:

' 声明方程对象并估计
equation eq_main.ls gdp c pce investment government
' 估计并立即展示
show eq_main.ls gdp c pce investment government
' 估计并保存结果表
freeze(tab_output) eq_main.ls gdp c pce investment government

EViews的官方帮助

  • Help 菜单:Object Reference、Basic/Command/Function/Programming Reference、Matrix Reference、Online Tutorials
  • PDF 文档:User Guide I/IICommand & Programming ReferenceObject ReferenceEViews Illustrated
  • 官网资源:http://www.eviews.com/general/about_us.html,及时掌握版本更新与补丁
  • 提示:EViews 10 为本课程标准版本,早期 EViews 1-6 不再兼容 Windows 10

提示

正确安装后即自带全部帮助文件,可离线查阅;建议通过目录或搜索功能快速定位对象说明。

EViews快速入门

实验目标与内容

  • 熟悉 EViews 工作文件(workfile)创建、数据导入与对象管理
  • 掌握 group_vars 组对象的描述统计与图形可视化
  • 估计 ln(GDP) 与 PCE、Investment、Government 的多元回归,输出报告
  • 形成可复现的步骤记录,为后续章节奠定基础

重要

实验数据来自 data/lab1-basic-development.xlsx,覆盖 1980Q1–2012Q1 共 129 个季度样本。

宏观数据概览

图 1: 宏观经济发展数据片段
表 1: 变量定义与标签
variable label
year
quarter 季度
GDP 国内生产总值(10亿美元)
PCE 人均消费支出(美元)
Investment 投资(10亿美元)
Government 政府支出(10亿美元)

探索性结果示意

图 2: 导入数据后的工作区
图 3: ln(GDP) 回归分析报告

实验准备

软件

  • EViews ≥ 9.0(推荐 10)
  • Mathtype ≥ 6.0
  • Office Word/Excel ≥ 2010
  • 浏览器:Chrome ≥ 66 或 360 极速 ≥ 9.5

资料与规则

  • 数据:lab1-basic-development.xlsx
  • 图片:picture/lab1-introduction/
  • 代码:R/.prg 模板,路径命名保持一致,实验文件集中管理

六步菜单流程

  • 准备数据(data preparing)
  • 构建工作文件(workfile creating)
  • 构造对象(objects generating)
  • 探索性分析(exploratory analyzing)
  • 线性回归分析(linear regression analyzing)
  • 报告结果输出(output reporting)

准备数据

  • 数据收集:理论变量 ↔︎ 实际可获取数据
  • 数据清洗:缺失、异常、重复值处理
  • 数据整理:确保“行=样本、列=变量”的坐标型结构
表 2: 规范数据表示例

构建工作文件

  1. File → New → Workfile
  2. Structure:Data-regular frequency;Frequency=Quarterly
  3. Start=1980/1,End=2012/1;WF=macro_economic,page=gdp
  4. Ctrl+S 保存

创建工作文件(workfile)

图 4: 创建工作文件

工作文件视窗

图 5: 工作文件视窗

数据导入与检查

  • File → Import → Import from file … → 选择 .xlsx
  • 向导四步确认范围、变量名、缺失值、结构
  • 双击序列或构建组对象验证数据
图 6: 导入菜单

构造对象

  • Object → New object… 生成 Series、Vector、Scalar 等
  • 通过菜单/公式创建 trendlog_gdp 等派生序列
  • 常见对象“全家福”可参考教材图示

常用 EViews 对象1/2

指数 图标 英文名 中文名 用途
\(4^{\ast}\) Alpha 字母数字(序列型) 表达包含字母数字的变量
\(4^{\ast}\) Coef 系数(向量型) 表示方程(Equation)或系统(System)的参数
\(5^{\ast}\) Equation 方程 表示方程的估计、检验或预测
\(5^{\ast}\) Graph 图形 表示图形输出结果
\(5^{\ast}\) Group 表示序列型对象(包括Series/Alpha等)的一个集合体

常用 EViews 对象2/2

指数 图标 英文名 中文名 用途
\(4^{\ast}\) Matrix 矩阵 表示矩阵(二维数组)
\(4^{\ast}\) Scalar 标量 表示标量(也即一个数值)
\(5^{\ast}\) Series 序列(数值型) 表示时间序列变量,其元素需为数值
\(5^{\ast}\) Table 表格 表示表格输出结果
\(4^{\ast}\) Vector 列向量(数值) 表示数值类型的列向量

其他对象示例1/2

指数 图标 英文名 中文名 用途
Factor 因子 表示因子分析结果
Logl 对数似然 表示对数似然分析结果
Model 模型 表示联立方程的预测、模拟等
\(3^{\ast}\) Pool 数据池 表示面板数据(同时含有时间和截面单元)
Rowvector 行向量 表示行向量(一维数组)
\(3^{\ast}\) Sample 样本 表示观测样本的集合体
Spool 对象池 表示包含各种输出对象的容器池
Sspace 设置状态空间模型 表示状态空间模型分析结果

其他对象示例2/2

指数 图标 英文名 中文名 用途
String 字符串 表示标准字符串表达式(不同于字符串值)
Svector 列向量(字符串) 表示字符串类型的向量
\(2^{\ast}\) Sym 对称矩阵 表示对称矩阵
System 系统 表示估计方程的系统(与Model类似,但不能用于模拟仿真分析)
Text 文本 表示任意文本信息
Userobj 自定义对象 用于用户自主设置的对象
\(2^{\ast}\) Valmap 值映射 表示映射关系,给序列型对象(Series/Alpha)的值赋予标签
Var 向量自回归 表示向量自回归和误差矫正模型分析结果

新增序列对象流程

图 7: 新增序列对象流程

探索性分析

  • group_vars → Quick → Group Statistics → Descriptive Statistics → Freeze tab_descriptive
  • Quick → Graph → Line-Symbol → 保存 graph_line
  • 依据图表设计原则选择合适图形(比较、构成、分布、关系)

图表选择原则

  • 表格适合展示具体数值、回归输出等确定性结果
  • 线图、柱状图、散点图等需与变量个数、分组、时间特性匹配
  • 建议先明确对比/构成/分布/关系,再挑选工具箱里的模板

图形选择:数据比较

序号 目的 示例 图形 特征
1 数据比较 循环面积图(Circular Area Chart) 时期间比较->时期数较多->周期性时期
2 数据比较 折线图(Line Chart) 时期间比较->时期数较多->非周期性时期
3 数据比较 柱状图(Column Chart) 时期间比较->时期数较少->分组较少
4 数据比较 簇状-折线图(Line Chart) 时期间比较->时期数较少->分组较多
5 数据比较 不等宽柱状图(Variable Width Column Chart) 条目间比较->每个条目有两个变量->
6 数据比较 表格型嵌图(Table with Embedded Charts) 条目间比较->每个条目有一个变量->分组较多
7 数据比较 簇状-条形图(Bar Chart) 条目间比较->每个条目有一个变量->分组较少->条目较多
8 数据比较 簇状-柱状图(Column Chart) 条目间比较->每个条目有一个变量->分组较少->条目较少

图形选择:数据构成

序号 目的 示例 图形 特征
1 数据构成 饼形图(Pie Chart) 构成无时期变化->简单占比构成
2 数据构成 瀑布图(Waterfall Chart) 构成无时期变化->累积构成或落差构成
3 数据构成 百分比多层构成图(Components of Components) 构成无时期变化->多层次子类的百分比构成
4 数据构成 堆栈百分比柱状图(Stacked 100% column chart) 构成有时期变化->时期较少->仅关心成分之间的相对差异
5 数据构成 堆栈柱状图(Stacked Column Chart) 构成有时期变化->时期较少->仅关心成分之间的绝对差异
6 数据构成 堆栈百分比面积图(Stacked 100% Area Chart) 构成有时期变化->时期较多->仅关心成分之间的相对差异
7 数据构成 堆栈面积图(Stacked Area Chart) 构成有时期变化->时期较多->仅关心成分之间的绝对差异

图形选择:数据分布

序号 目的 示例 图形 特征
1 数据分布 柱状直方图(Column Histogram) 一个变量的分布->数据点较少
2 数据分布 线状直方图(Line Histogram) 一个变量的分布->数据点较多
3 数据分布 散点图(Scatter Chart) 两个变量的分布

图形选择:数据关系

序号 目的 示例 图形 特征
1 数据关系 3D面积图(3D Area Chart) 三个变量间的分布
2 数据关系 散点图(Scatter Chart) 两个变量间的关系
3 数据关系 泡泡图(Bubble chart) 三个变量间的关系

EViews 图形工具箱

  • 工具箱根据所选对象自动调整图类型、轴、图例、模板
  • Graph TypeFrame & SizeAxes & ScalingLegendGraph Elements 是最常用的微调面板
  • 可结合 FreezeAddTextUpdate 完成美学改版

EViews 常用图形1/2

序号 英文名 中文名 示例 说明
1 line & Symbol 线图 表现变化趋势,包含1个序列对象,数据点较多
1 line & Symbol 线图 表现变化趋势,包含4个序列对象,数据点较多
2 Bar 条形图 表现分组差异,水平条形,包含1个序列对象,数据分组较少
2 Bar 条形图 表现分组差异,垂直条形,包含1个序列对象,数据分组较少
2 Bar 条形图 表现分组差异,垂直条形,包含若干序列对象,数据分组较少
3 Spike 钉形图 表现数值大小,包含1个序列对象,数据分组较少
4 Area 面积图 表现覆盖面积,包含1个序列对象,数据点较多
4 Area 面积图 表现覆盖面积,包含4个序列对象,数据点较多
5 Area Band 带形图 表现面积差异,包含2个序列对象,数据点较多
6 Mixed 混合图 表现多样信息,包含多个序列对象,数据点较多
7 Dot Plot 点图 表现数值大小,包含1个序列对象,数据点较多

EViews 常用图形2/2

序号 英文名 中文名 示例 说明
8 Error Plot 误差图 表现数值差异,包含2个序列对象,数据点较少
8 Error Plot 误差图 表现数值差异,包含3个序列对象,数据点较少
9 High-Low 高低图 表现数值位置关系,包含2个序列对象(最高价、最低价),数据点较少
9 High-Low 高低图 表现数值位置关系,包含3个序列对象(开盘价、最高价、最低价),数据点较少
10 Scatter 散点图 表现变量关系,包含2个序列对象,数据点较多
10 Scatter 散点图 表现变量关系,包含多个序列对象,数据点较多
11 Bubble Plot 泡泡图 表现变量关系,包含3个序列对象,数据点较多
12 XY Line 路径图 表现数据变化路径,包含2个序列对象,数据点较多
13 XY Area 二维面积图 表现2D覆盖面积,包含个序列对象,数据点较多
14 XY Bar 不等宽柱状图 表现分组差异,垂直条形,包含若干个序列对象,数据分组较少
15 Pie 饼图 表现数据构成关系,包含1个序列对象,数据分组较少
16 Distribution 密度图 表现数据分布密度,直方图,包含1个序列对象,数据点较多(自动分组)
17 Quantile-Quantile 正态图 表现数据分布密度,正态QQ图,包含1个序列对象,数据点较多
18 Boxplot 箱线图 表现数据分布形态,包含若干序列对象,数据点较多
19 Seasonal Graph 季节图 表现数据循环关系,包含1个序列对象,数据点较多,分组较少(在同一月份不同年份上的变化)
19 Seasonal Graph 季节图 表现数据循环关系,包含1个序列对象,数据点较多,分组较少(在同一年份不同月份上的变化)

描述统计三线表

图 8: 描述统计三线表

多变量线图

图 9: 多变量线图

个性化线图与细节调整

图 10: 个性化线图与细节调整

线性回归分析

  • Quick → Estimation Equation
  • Equation specification:gdp c pce investment government
  • Method:LS;Sample:默认
  • 命名 eq_main,可复制对比其他模型

报告输出

  • Freeze 图表/表格 → 命名 tab_descriptivegraph_line
  • 利用对象属性提取 \(R^2\)、残差、预测值等
  • 结合 R 包(如 xmerit)生成四行式或三线表

Eviews编程体系及语法

命令运行方式

  • 方式 1:完全菜单驱动 – 所见即所得,适合一次性任务
  • 方式 2:完全命令驱动
    • 交互式命令(逐行) – 灵活、随时穿插
    • 批量式程序(.prg) – 逻辑清晰、可重复
  • 方式 3:菜单 + 命令并行 – 菜单完成主体,命令执行提取、批量、定制化任务

回归分析的典型语法

equation eq_main01.ls gdp c investment pce government
show eq_main02.ls gdp c investment pce government
freeze(tab_output) eq_main03.ls gdp c investment pce government

菜单与命令交互案例: 提取回归判定系数

EViews 命令示例

vector(2) vec_fitness(1)=eq_main.@r2
vec_fitness(2)=eq_main.@rbar2
图 11: 提取 \(R^2\) 与调整 \(\overline{R}^2\)

菜单与命令交互案例: 计算临界 t 值

EViews 命令示例

scalar t_value=@qtdist(0.975,125)
图 12: 计算 \(t_{0.975}(125)\)

批量式命令驱动

  • .prg 文件用于批量式命令驱动,可管理、维护、运行和分析EViews代码。

  • .prg 支持 Run/Run Selected,可添加注释 ' 管理脚本结构,利于课堂演示与批量复现。

prg 文件示例

prg 文件示例

' my_first_program.prg
wfcreate(wf=development,page=gdp) q 1980/1 2012/1
import d:\economitrics\macro-economic.xlsx
group group_vars gdp pce investment government
freeze(tab_descriptive) group_vars.stats
graph graph_line.line(s) group_vars
equation eq_main.ls gdp c pce investment government
vector(2) vec_fitness(1)=eq_main.@r2
vec_fitness(2)=eq_main.@rbar2
scalar t_value=@qtdist(0.975,125)

命令语法结构

  • 标准结构:action(action_opt) object.view_or_proc(options)
  • 示例:
    • equation eq_main.ls ...:声明方程对象并估计
    • show eq_main.ls ...:估计并立即展示
    • freeze(tab_output) eq_main.ls ...:估计并保存结果表
  • 关键元素:动作 (action)、对象 (object)、视图/程序 (view/proc)、参数 (arguments)

常用命令与函数1/4

序号 分类 函数命令 作用 说明
1 运算符 +
2 运算符 -
3 运算符 *
4 运算符 /
5 运算符 ^ 幂次
6 运算符 = 等于
7 常数 @pi 圆周率\(\pi\) \(3.14159 \cdots\)
8 基础数学函数 @abs(x) 绝对值 \(\mid{X}\mid\)
9 基础数学函数 @exp(x) 自然数e的幂次 \(e^X\)
10 基础数学函数 @inv(x) 倒数 \(1/X\)
11 基础数学函数 @log(x) 自然对数 \(log_e(X)\)
12 基础数学函数 @log10(x) 10为底的对数 \(log_{10}(X)\)
13 基础数学函数 @recode() 重新编码
14 基础数学函数 @round(x) 取整

常用命令与函数2/4

序号 分类 函数命令 作用 说明
15 基础数学函数 @sqrt(x) 平方根 \(\sqrt{X}\)
16 时间序列函数 @d(x) 一阶差分 \(\Delta\)
17 时间序列函数 @lag(x,n) n阶滞后 \(X_{t-n}\)
18 时间序列函数 @trend() 构造趋势序列 \({0,1,2,\cdots}\)
19 描述性统计函数 @cor(x,y) 相关系数 \(r\)
20 描述性统计函数 @cov(x,y) 协方差 \(Cov(X,Y)\)
21 描述性统计函数 @gmean(x) 几何平均数 \(\bar{X}_G\)
22 描述性统计函数 @hmean(x) 调和平均数 \(\bar{X}_H\)
23 描述性统计函数 @max(x) 极大值 Max
24 描述性统计函数 @mean(x) 简单平均数 \(\bar{X}\)
25 描述性统计函数 @median(x) 中位数 \(M_e\)
26 描述性统计函数 @min(x) 极小值 Min
27 描述性统计函数 @obs(x) 样本数 \(n\)
28 描述性统计函数 @quantile(x,q) 分位数 \(Q_1; Q_3\)

常用命令与函数3/4

序号 分类 函数命令 作用 说明
29 描述性统计函数 @skew(x) 偏度
30 描述性统计函数 @stdev(x) 标准差 \(S\)
31 描述性统计函数 @sum(x) 求和 \(\sum{X_i}\)
32 描述性统计函数 @sumsq(x) 平方和 \(\sum{X_i^2}\)
33 描述性统计函数 @var(x) 方差 \(S^2\)
34 密度;概率函数 @cchisq(x,f) 累积卡方分布函数 \(G_{\chi^2}(X,f)\)
35 密度;概率函数 @dchisq(x,f) 卡方分布的密度函数 \(g_{\chi^2}(X,f)\)
36 密度;概率函数 @qchisq(p,f) 卡方值 右侧大值\(\chi^2_{(1-\alpha)}(p,f)\)
37 密度;概率函数 @cfdist(x,f1,f2) 累积F分布函数 \(G_{F}(X,f1,f2)\)
38 密度;概率函数 @dfdist(x,f1,f2) F分布的密度函数 \(g_{F}(X,f1,f2)\)
39 密度;概率函数 @qfdist(p,f1,f2) F值 右侧大值\(F_{(1-\alpha)}(p,f1,f2)\)
40 密度;概率函数 @ctdist(x,f) 累积t分布函数 \(G_{t}(X,f)\)
41 密度;概率函数 @dtdist(x,f) t分布的密度函数 \(g_{t}(X,f)\)
42 密度;概率函数 @qtdist(p,f) t值 右侧正值\(t_{(1-\alpha/2)}(p,f)\)

常用命令与函数4/4

序号 分类 函数命令 作用 说明
43 密度;概率函数 @cnorm(x) 累积t分布函数 \(G_{N}(X)\)
44 密度;概率函数 @dnorm(x) t分布的密度函数 \(g_{N}(X)\)
45 密度;概率函数 @qnorm(p) t值 右侧正值\(N_{(1-\alpha/2)}(p)\)
46 特定表达式 ar 自回归误差设置项 p阶自回归\(AR(p)\)
47 特定表达式 ma 移动平均误差设置项 q阶移动平均\(MA(q)\)
48 特定表达式 @expand 自动产生的虚拟变量 \(Edu_{D1};Edu_{D2};\cdots\)
49 矩阵函数 @ones(n,k) 生成元素全为1的\(n*k\)维矩阵 \(\mathbf{1}_{n,k}\)
50 矩阵函数 @identity(n,n) 生成\(n*n\)维单位矩阵 \(\mathbf{I}_{n,n}\)
51 矩阵函数 @transpose(X) 对矩阵\(\mathbf{X}\)进行转置 \(\mathbf{X'}\)
52 矩阵函数 @det(X) 得到方阵\(\mathbf{X}\)的行列式 \(\mathbf{\mid{X}\mid}\)
53 矩阵函数 @eigenvalues(X) 得到对称矩阵的特征值向量
54 矩阵函数 @inverse(X) 对方阵\(\mathbf{X}\)求逆 \(\mathbf{X}^{-1}\)
55 矩阵函数 @ediv(X,Y) 两个矩阵对应元素点除 \(X_{ij}/Y_{ij}\)
56 矩阵函数 @getmaindiagonal(X) 得到矩阵\(\mathbf{X}\)的主对角线元素(向量)

本章结束