Stata连享会 主页 || 视频 || 推文 || 知乎 || Bilibili 站
温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc
,ihelp
,rdbalance
,gitee
,installpkg
⛳ Stata 系列推文:
作者: 史柯 (中央财经大学)
邮箱: shike2231128@gmail.com
目录 [TOC]
tstransform
生成由时间序列运算形成的新变量。 它可以模拟时间序列运算符的滞后、领先、差异和季节性差异。 它还创建了均值、后向均值、前向均值和滚动窗口均值,以及与这些均值的相应偏差。该命令包包括 Stata 的 egen
命令的扩展及独立命令 tstransform
,其中 egen
命令的扩展主要是增加了用于时间序列转换的运算函数。
net install tstransform, from(http://www.kripfganz.de/stata/)
tstransform
命令安装完毕后,可以运行 help tstransform
命令来查阅命令的帮助文档。
tstransform
命令是 Sebastian Kripfganz 教授所编写的 Stata 新命令,两种语法结构如下。
第一种命令格式为 egen
命令的扩展命令,语法结构如下:
egen [type] newvar = fcn(arguments) [if] [in] [, options]
type
:运算得到的新变量的种类。newvar
:运算得到的新变量的名称。fcn(arguments)
:定义新变量的计算方法,运算函数 fcn
主要包括 mean(exp)
、demean(exp)
、bmean(exp)
、bdemean(exp)
、fmean(exp)
、fdemean(exp)
以及其他egen
、egenmore
原本包含的其他运算函数;运算函数 fcn
的运算对象 arguments
是取决于函数计算用到的表达式(expression)、变量(varlist)或数列(numlist)。第二种命令格式为直接使用 tstransform
命令,语法结构如下:
tstransform varlist [if] [in] , transformation [options]
varlist
:用于运算的变量transformation
:转换命令,主要包括
lag(numlist)
:生成滞后项
forward(numlist)
:生成提前项
difference(numlist)
:生成差分项
seasonal(numlist)
:生成季度差分项
mean
:生成均值(面板内)
demean
:生成平均偏差(面板内)
bmean
:生成后向均值(面板内)
bdemean
:生成后向平均偏差(面板内)
fmean
:生成前向均值(面板内)
fdemean
:生成前向平均偏差(面板内)rmean(numlist)
:生成滚动窗口均值(面板内)
rdemean(numlist)
:生成滚动窗口平均偏差(面板内)options
)包括:
rescale
:在 i.i.d. 下重新调整重新调整转换后的变量假设
generate([type] string)
:为转换后的变量指定类型和名称
replace
:如果使用 generate() 指定的变量名称或已转换变量的默认名称已经存在,则更改现有变量的内容,该选项不会替代 varlist 变量的取值
nolabel
:不标记转换后的变量tstransform
命令之前需要使用 tsset
命令声明时间变量。panelvar
,否则不会在面板内计算。generate
规定新变量名称时,可采用以下占位符:
*
字符代表 varlist 变量的名称。
~
字符代表 varlist 中指定的时间序列操作,例如,L 为求滞后项,D 为求差分。
#
字符代表变换 lag(#)、forward(#)、difference(#) 或 seasonal(#) 时的 numlist 的相应元素,例如lag(2)中可用 #
代替2。
下面我们用一个年度数据来检验此命令。为了便于观察,数据集仅包含8个观测值。通过以下命令调用数据:
webuse gxmpl1, clear
/* Notes:
数据中每个观测值为每一年的消费者物价水平(cpi)及国民生产总值(gnp)
year:年份
cpi:消费者物价水平
gnp:国民生产总值
*/
首先,我们使用 tstransform
命令生成 1 至 3 阶滞后的消费者物价水平 cpi
,并进行描述性统计,为了比较,同时对通过时间序列运算符得到的时间变量进行描述行统计:
tstransform cpi, lag(1/3)
summarize cpi_L* L(1/3).cpi
结果输入如下:
. summarize cpi_L* L(1/3).cpi
Variable | Obs Mean Std. Dev. Min Max
-------------+---------------------------------------------------------
cpi_L1 | 7 139.4714 9.969237 124 152.4
cpi_L2 | 6 137.3167 8.958888 124 148.2
cpi_L3 | 5 135.14 8.049411 124 144.5
|
cpi |
L1. | 7 139.4714 9.969237 124 152.4
L2. | 6 137.3167 8.958888 124 148.2
-------------+---------------------------------------------------------
L3. | 5 135.14 8.049411 124 144.5
可以看出,使用 tstransform
命令生成的三个滞后项 cpi_L1
、cpi_L2
、cpi_L3
与使用L(1/3).cpi
命令生成的三个滞后项等价。
接下来,我们生成 D.cpi
的第二个季节性滞后并通过 generate
选项定义变量名称,其中 *
代表变量名称 cpi ,~
代表时间序列操作 D ,#
代表阶数 2,因此新变量的名称为 cpi_SD_2
,再通过 list
命令将变量列示在结果输出窗口:
tstransform D.cpi, seasonal(2) generate(*_S~_#)
list cpi_SD_2 S2D.cpi
结果输出如下:
. list cpi_SD_2 S2D.cpi
+-----------------------+
| DS2.|
| cpi_SD_2 cpi |
|-----------------------|
1. | . . |
2. | . . |
3. | . . |
4. | -2.599991 -2.599991 |
5. | -1.300003 -1.300003 |
|-----------------------|
6. | -.4000092 -.4000092 |
7. | 0 0 |
8. | .8000031 .8000031 |
+-----------------------+
使用 tstransform
命令生成的新变量 cpi_SD_2
与 直接使用 S2D.cpi
效果相同,均为 cpi_t - cpi_t-1 - cpi_t-2 + cpi_t-3
,因此只有从第四个观测值开始该变量才能计算,其中 DS2
与 S2D
是等价的,即先取一阶差分(D)再取二阶季节性差分(S2)等价于先取二阶季节性差分(S2)再取一阶差分(D)。
使用 tstransform
命令计算滚动窗口为过去三个观测值及当前观测值共四个观测值的 cpi 均值,并通过 list
命令列示:
tstransform cpi, rmean(-3/0)
list cpi*
结果输出如下:
. list cpi*
+-----------------------------+
| cpi cpi_SD_2 cpi_RM |
|-----------------------------|
1. | 124 . 124 |
2. | 130.7 . 127.35 |
3. | 136.2 . 130.3 |
4. | 140.3 -2.599991 132.8 |
5. | 144.5 -1.300003 137.925 |
|-----------------------------|
6. | 148.2 -.4000092 142.3 |
7. | 152.4 0 146.35 |
8. | 156.9 .8000031 150.5 |
+-----------------------------+
其中 cpi_SD_2
为上一部分已经生成的变量,通过 tstransform
命令计算的滚动窗口均值为 cpi_RM
。
tstransform
命令可以模拟传统时间序列运算符的滞后、领先、差异和季节性差异,同时也提供了均值、后向均值、前向均值和滚动窗口均值的计算方法,此外,还能通过占位符的使用实现新变量命名的便捷。
免费公开课
最新课程-直播课
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 | 文本分析、机器学习、效率专题、生存分析等 | |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
⛳ 课程主页
⛳ 课程主页
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会-常见问题解答:
✨ https://gitee.com/lianxh/Course/wikis
New!
lianxh
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh