Stata时间序列笔记
与时间序列相关的STATA命令及其统计量的解析完整版
与时间序列相关的S T A T A命令及其统计量的解析Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】与时间序列相关的S T A T A命令及其统计量的解析残差U 序列相关:①DW 统计量——针对一阶自相关的(高阶无效)STATA 命令:1.先回归2.直接输入dwstat统计量如何看:查表②Q 统计量——针对高阶自相关correlogram-Q-statisticsSTATA 命令:1.先回归reg2.取出残差predict u,residual(不要忘记逗号)3. wntestq u Q统计量如何看:p 值越小(越接近0)Q 值越大——表示存在自相关具体自相关的阶数可以看自相关系数图和偏相关系数图:STATA 命令:自相关系数图:ac u( 残差) 或者窗口操作在 Graphics ——Time-series graphs ——correlogram(ac)偏相关系数图:pac u 或者窗口操作在Graphics——Time-series graphs—— (pac)自相关与偏相关系数以及Q 统计量同时表示出来的方法:corrgram u或者是窗口操作在Statistics——Time-series——Graphs—— Autocorrelations&Partial autocorrelations③LM 统计量——针对高阶自相关STATA 命令:1.先回归reg2.直接输入命令estate bgodfrey,lags(n) 或者窗口操作在 Statistics——Postestimation(倒数第二个)——Reports andStatistics(倒数第二个) ——在里面选择 Breush-Godfrey LM(当然你在里面还可以找到方差膨胀因子还有DW 统计量等常规统计量)LM 统计量如何看:P 值越小(越接近 0)表示越显着(显着拒绝原假设),存在序列相关具体是几阶序列相关,你可以把滞后期写为几,当然默认是 1,(通常的方法是先看图,上面说的自相关和偏相关图以及Q 值,然后再利用LM 肯定)。
时间序列分析STATA第二课
第二课:平稳性检验重点:1)平稳的基本含义及扩展2)制图的命令3)单位根检验一,平稳的基本含义及其扩展:1, 基本含义:平稳(stationary ),在本书中分析的都是弱/宽平稳,也称为协方差平稳(covariance stationary )即:1)μ=t Ex 2)22)(σ=t x E3)协方差只与时滞有关,而与所处时刻无关 即j j t t x x E γ=-)(2,非平稳产生的原因:1)奇异点(outlier )2)随机游走(Random Walk )3)漂移(Drift )4)趋势(Trend )5)方差变化(Changing Variance )。
时序图是判别上述五种情形最为直接和简便的方法。
单位根检验(Unit Root )检验的是2),3),4)种情形3,DF/ADF 检验的三种情形分别是:无漂移项的自回归过程(又称为 差分平稳过程difference stationary );带漂移项的自回归过程,带趋势项的自回归过程(这类过程又称为 趋势平稳Trend Stationary )二,制图命令:Twoway Historgram三,单位根检验UNIT ROOT Test命令:dfuller dfgls 适用于同方差场合pperron 适用于异方差场合检验结果表示为:t p t p t t t x x x x εββρμ+∇++∇++=∇---+1111...关键:看懂软件运行结果格式:Dfuller varname [if] [in] [, options]options Description---------------------------------------------------------------------------------------noconstant suppress constant term in regressiontrend include trend term in regressiondrift include drift term in regressionregress display regression tablelags(#) include # lagged differences---------------------------------------------------------------技巧:lags(#)的选择,是艺术,不是科学。
stata学习笔记
经济数据的特点与类型。
1、横截面数据:多个经济个体的变量在同一时间点上的取值,如2012年中国各省的GDP2、时间数列数据:指的是某个经济个体的变量在不同时点上的取值,如1978-2012年山东省每年的GDP3、面板数据:多个经济个体的变量在不同时点上的取值,如1978-2012年中国各省的GDP 小样本OLS(最小二乘法):单一方程线性回归最常见方法条件:解释变量与扰动项正交、扰动项无自相关、同方差。
拟合优度:衡量线性回归模型对样本数据的拟合程度(R2),越高说明模型拟合程度越好。
单系数T检验:对回归方程扰动项的具体概率进行假设显著性水平进行检验F检验:整个回归方程是否显著STATA操作简介:如果数据中包含1949-10-01或1949/10/01的时间变量,导入stata后可能会被视为字符串,因此对于日度数据,可以使用命令gen newvar=date(varname,YMD),将其转换为整数日期变量,其中YMD说明原始数据的格式为年月日,如果原始数据的格式为月日年则使用MDY;对于月度数据则gen newvar=monthly(varname,YM)。
.describe:数据的概貌.drop keep:删除和保留.su:统计特征Pwcorr:变量之间相关系数Star(.05):5%显著性水平gen:产生g intc=log(tc):取自然对数. reg:OLS回归.Vce:协方差矩阵reg。
,noc表示在进行回归时不要常数项大样本OLS:只要求解释变量与同期的扰动项正交即可Robust:稳健标准误,如果存在异方差,则应使用稳健标准误最大似然估计法:如果回归方程存在非线性,则使用最大似然估计法(MLE )或非线性最小二乘法(NLS )三类在大样本下渐进等价的统计检验:Wald test LR (似然比检验) LM操作步骤如下:sysuse auto (调用数据集)Hist mpg ,normal (画变量mpg 的直方图,并与正态密度比较)D e n s i t y直方图显示,变量mpg 的分布于正态分布有一定差距。
stata操作介绍之时间序列分析
【例1】使用文件“cpi.dta”的数据来对tsset命令的应用 进行说明。该例子是我国1983年1月年至2007年8月的居 民消费价格指数CPI。部分数据如表2所示: 表2 我国居民消费价格指数CPI Year
1983 1983 1983 1983 1983 1983 1983
month
daily weekly monthly quarterly harfyearly yearly generic format(%fmt) 时间周期 delta(#) delta((exp)) delta(#units) delta((exp)units)
注:(1)units表示时间单位,对于%tc,允许的时间单位包括:second、seconds、secs、secs、 minutes、minute、mine、min、hours、hour、days、weeks、week。对于其他%t的格式,Stata自动 获得其时间单位,delta选项经常与%tc格式一起使用。 STATA从入门到精通 Page 4
【例2】继续使用上例的数据来对tssmooth命令的应用进 行说明。在本例中对该组数据进行修匀,以便消除不规则 变动的影响,得到时间序列长期趋势,本例修匀的方法是 利用之前的1个月和之后的2个月及本月进行平均。
Page 9
STATA从入门到精通
二、
ARIMA模型的估计、单位根与协整
时间序列模型一般分为四类,分别是自回归过程、移动平均过程、自 回归移动平均过程、单整自回归移动平均过程。 自回归过程 如果一个剔出均值和确定性成分的线性过程可表达为 xt = 1xt-1 + 2 xt-2 + … + p xt-p + ut 其中i, i = 1, … p 是自回归参数,ut 是白噪声过程,则称xt为p阶自 回归过程,用AR(p)表示。xt是由它的p个滞后变量的加权和以及ut相 加而成。
stata操作介绍之时间序列分析
时间序列构成分析就是要观察现象在一个相当长的时期内, 由于各个影响因素的影响,使事物发展变化中出现的长期趋 势、季节变动、循环变动和不规则变动。
通过测定和分析过去一段时间之内现象的发展趋势,可以认 识和掌握现象发展变化的规律性,为统计预测提供必要的条 件,同时也可以消除原有时间序列中长期趋势的影响,更好 地研究季节变动和循环变动等问题。测定和分析长期趋势的 主要方法是对时间序列进行修匀。
timevar的格式为%tc, 0=1jan1960 00:00:00.000,1=1jan1960 00:00:00.001 即0代表1960年1月1日的第一秒,1为1960年1月1日的第二秒,依次后推。 timevar的格式为%td,0=1jan1960,1=2jan1960;即0为1960年第一天,1 为1960年第二天,依次后推。 timevar的格式为%tw,0=1960w1,1=1960w2;即0为1960年第一周,1 为1960年第二周,依次后推。 timevar的格式为%tm,0=1,1=;即0为1960年第一月,1为1960年第二 月,依次后推。 timevar的格式为%tq,0=1960q1,1=1960q2;即0为1960年第一季,1为 1960年第二季,依次后推。 timevar的格式为%th,0=1960h1,1=1960h2;即0为从1960起的第一个半 年,1为从1960年起第二个半年,依次后推。 timevar的格式为%ty,1960=1960,1961=1960 timevar的格式为%tg
义时间单位,或者定义时间周期(即timevar两个观测值 之间的周期数)。Options的相关描述如表1所示。
Page 3
STATA从入门到精通
时间单位
格式说明
Clocktime
(完整版)Stata学习笔记和国贸理论总结
(完整版)Stata学习笔记和国贸理论总结Stata学习笔记⼀、认识数据(⼀)向stata中导⼊txt、csv格式的数据1.这两种数据可以⽤⽂本⽂档打开,新建记事本,然后将相应⽂档拖⼊记事本即可打开数据,复制2.按下stata中的edit按钮,右键选择paste special3.*.xls/*.xlsx数据仅能⽤Excel打开,不可⽤记事本打开,打开后会出现乱码,也不要保存,否则就恢复不了。
逗号分隔的数据常为csv数据。
(⼆)⽹页数据⽹页上的表格只要能选中的,都能复制到excel中;⽹页数据的下载可以通过百度“国家数据”进⾏搜索、下载⼆、Do-file 和log⽂件打开stata后,第⼀步就要do-file,记录步骤和历史记录,⽅便⽇后查看。
Stata处理中保留的三种⽂件:原始数据(*.dta),记录处理步骤(*.do),以及处理的历史记录(*.smcl)。
三、导⼊StataStata不识别带有中⽂的变量,如果导⼊的数据第⼀⾏有中⽂就没法导⼊。
但是对于列来说不会出现这个问题,不分析即可(Stata不分析字符串,红⾊⽂本显⽰;被分析的数据,⿊⾊显⽰);第⼀⾏是英⽂变量名,选择“Treat first row as variable names”在导⼊新数据的时候,需要清空原有数据,clear命令。
导⼊空格分隔数据:复制——Stata中选择edit按钮或输⼊相应命令——右键选择paste special——并选择,确定;导⼊Excel 中数据,复制粘贴即可;逗号分隔数据,选择paste special后点击comma,然后确定。
Stata数据格式为*.dta,导⼊后统⼀使⽤此格式。
四、基本操作(⼏个命令)(⼀)use auto,clear 。
在清空原有数据的同时,导⼊新的auto数据。
(⼆)browse 。
浏览数据。
(三)describe 和list。
查看数据,describe 和list 使⽤list命令能使我们根据⾃⼰的需要选择数据(例如其与in/if语句的结合使⽤)。
stata笔记
1.一般检验假设系数为0,t比较大则拒绝假设,认为系数不为0.假设系数为0,P比较小则拒绝假设,认为系数不为0.假设方程不显着,F比较大则拒绝假设,认为方程显着。
2.小样本运用OLS进行估计的前提条件为:(1)线性假定。
即解释变量与被解释变量之间为线性关系。
这一前提可以通过将非线性转换为线性方程来解决。
(2)严格外生性。
即随机扰动项独立于所有解释变量:与解释变量之间所有时候都是正交关系,随机扰动项期望为0。
(工具变量法解决)(3)不存在严格的多重共线性。
一般在现实数据中不会出现,但是设置过多的虚拟变量时,可能会出现这种现象。
Stata可以自动剔除。
(4)扰动项为球型扰动项,即随即扰动项同方差,无自相关性。
3.大样本估计时,一般要求数据在30个以上就可以称为大样本了。
大样本的前提是(1)线性假定(2)渐进独立的平稳过程(3)前定解释变量,即解释变量与同期的扰动项正交。
(4)E(XiXit)为非退化矩阵。
(5)gt为鞅差分序列,且其协方差矩阵为非退化矩阵。
与小样本相比,其不需要严格的外生性和正太随机扰动项的要求。
4.命令稳健标准差回归:reg y x1 x2 x3, robust 回归系数与OLS一样,但标准差存在差异。
如果认为存在异方差,则使用稳健标准差。
使用稳健标准差可以对大样本进行检验。
只要样本容量足够大,在模型出现异方差的情况下,使用稳健标准差时参数估计、假设检验等均可正常进行,即可以很大程度上消除异方差带来的副作用对单个系数进行检验:test lnq=1线性检验:testnl _b[lnpl]=_b[lnq]^25.如果回归模型为非线性,不方便使用OLS,则可以采取最大似然估计法(MLE),或者非线性最小二乘法(NLS)6.违背经典假设,即存在异方差的情况。
截面数据通常会出现异方差。
因此检验异方差可以:(1)看残差图,但只是直观,可能并不准确。
rvfplot (residual-versus-fitted plot) 与拟合值的散点图rvpplot varname (residual-versus-predictor plot) 与解释变量的散点图扰动项的方差随观测值而变动,表示可能存在异方差。
stata学习笔记(stata学习笔记)
stata学习笔记(stata学习笔记)data managementCreate a new dataEdit / / variables in the data table and the creation of open dataInput x1 x2......Set OBS 10Gen x1=_nGen, x2=seq ()Egen, x3=seq (), B (5) t (5)Egen x4=fill (3434)Rename X1 pop / / variable VAR1 renamed popRename x2 placeMax C= (1,0.8\0.8,1)Drawnorm, x1, X2, means (1,10), SDS (0.3,2), corr (C), n (500)Gen x1=invnormal (uniform ())Gen roll=1+trunc (uniform () *6) randomly generates 1-6 randomnumbersGen x=exp (uniform ())Gen x=-3ln (uniform ())Gen x= (invnorm (uniform ())) ^2 chi square distributionGen, x=invttail (DF, uniform ()) t distributionGen, x=invFtail (DF1, df2, uniform ()) F distributionSample 10, countLabel variable pop population in 1000s, 1995 "/ / add tags for the variable popLabel define, sex_label 1, "male", 2 "female""Label values sex sex_label / / add value labels for the variable sexSave AAA / / keep the aaa.dta fileSave, replaceMerge dataUse a.datAppend using B.datUse a.datSort placeSave, replaceUse B.datSort placeMerge place using a.datReshape, long, grow, I (ID), J (year)Reshppe, wide, grow, I (ID), J (year)ClearCD f:\ statistics \stataUse AAASort pop / / as the pop variable orderingOrder place pop place pop / / variables were placed in the first, second positionDescrible / / description variable informationList / / show variable and variable valuesList, Sep (3) is shown separately in each of the 3 linesList, sepby (VaR) is shown as bounded by the VaR variableSummarize X / / display basic information variables, can add "d" to display detailed informationBy, VAR1, var2, sort:su, X (by can be used for Su, CI, centile, etc.)Tabstat, x, stats (mean, median, SD,, VaR, skewness, kurtosis, IQR, CV, semean, P2, etc)Collapse (sum), VAR1, var2 (SD), var3 (mean), newvar1=var4 (median), newvar2=var5A subset of variables (used by if and in)List, pop, place, sex, in, 1/50Sort popList pop place in -4/1 / / four observation shows that the value of pop maximumSummarize if pop<1000Summarize if place = = "China""Summarize, pop, place, sex, if, pop>100 & pop<1000Summarize place sex if pop<100 pop>1000 |Summarize place if pop<. / / the missing value is bigger than any numericalDrop, pop, if, place==, "China""KeepCreate and replace variables1, use, canada1, clearGenerate gap=flife-mlife"Label variable gap" "flife-mlife gap life""Format gap%4.1f / / fixed width of 4 decimal 1Other%4.1g (width 4, decimal part at least 1, can be displayed by decimal or scientific notation),%4.1eFormat only changes the display and does not affect the calculationUse, canada1, clearGenerate type=1Replace, type=2, if, place==, "Canada""Replace, type=3, if, place==, "Yukou""operator+ * / ^ mod (x, y)Use function(ABS)ACOS () //di ACOS (0.5) *180/_piSin, cos, asin, atan, atan2 () y/x's tangent functionSqrt, log (), ==ln (), log10, expThe smallest integer of ceil (x) >xThe maximum integer of floor (x) <xRound (x) four into fiveComb () lnfactorial ()distribution functionProbability of Ttail (DF, t) t>t0.05 (Dan Ce)Invttail (DF, P) calculates the T value based on the probability, and P is the right probabilityF (DF1, df2, f) left probability invF (N1, N2, P)Ftail (DF1, df2, f) the right probability invFtail (N1, N2, P)Chi2 (DF, x) left probabilityChi2tail (DF, x) right probabilityBinomial (n, x, P), n trials, x times and smaller probability1-binomial (n, X-1, P)Normal (z) standard normal distribution, left, cumulative probabilityDate function(1) assume that the numeric variable a is 20100312Gen str str_a=string (a,%10.0f) / / a conversion to character variableGene _ to date = DATE ("STR _, Ymd") / / 转换str _ a为日期变量, 返回值为当前日期 - 1960年1月1日的数值FORMAT DATE _% TD / / 转换date _ a的格式为日期12may2010假设有数值变量a格式为20100312101205STR str Gene _ = String ("% 16.0f")To _ = Clock Gene Double Date (STR _, "ymdhms")_% TC to date format假设有三个数值变量m、d、y分别表示月、日、年Gene _ date to mdy = (m, d)EgenEgen = seq (x t), B (3) (2) 111222111222Egen fill (x = 100,98) 100 98 94 96X = (0,2,7,0,2,7 egne fill)Rowmean egen x = (x1, X2, x3) 产生新变量, 其值为x1x2x3各行的均值Rowsum egen x = (x1, X2, x3) 产生新变量, 其值为x1x2x3各行的和Egen = STD X (a)Num 1: 15 for STD / egen xx = (AX)Xrank egen = RANK (X)10、其他函数Recode Group encodeX1 = recode gene (AGE, 24,28,32, ~) / / < < = 24 = 28Egen Group (x2 = x1)Strvar Gene ENCODE, 将字符变量转为数值变量 (numvar)Decode numvar, Gene (strvar)创建新的分类变量和定序变量假设有分类变量 (byte) type (1 - 3)Tab typeTab type, Gene (type) / / 产生type1 - 3三个哑变量2、将数值变量X1 = recode gene (AGE, 24,28,32, ~) / / 以 < < = 24 = 28~分组Egen Group (x2 = x1)变量下标Di x [4]Gene _ = X - X [N - 1] / / x与其前一个数值的差B gene _ = X - X [n + 1]从外部ascii文件导入数据以空格分隔, 字符串需带引号Str30 INFILE Place ulife tlife using aaa.raw / / 产生三个变量, place为30长度的字符变量COMPRESS / / 压缩place变量为最长的字符以tab或 "," 分隔Insheet Place ulife tlife using aaa.raw, comma (or tab).固定栏宽Infix Wood Year 1 - 4 5 - 8 9 - 10 aaa.raw using Water绘图Hist X, Bin (10) xlabel (0 (2) 10) ylabel (100 1000 xtick (100) (1) (2) 11) Norm fractionHist Start (50 x width (5) (FREQ by Group, total)Graph TwoWay Scatter and | | X Line and | | lfit X and X, mlabel (ID) msymbol (o / X)Graph TwoWay Scatter and x | | lfitci, STDFGraph Matrix X and ZGraph TwoWay line and year XGraph TwoWay line and yaxis (1 year) | yaxis | x Year (2)Graph TwoWay area and year XGraph box x and Z over (Group) yline (6.35).Graph pie x and Z, by (Group) foot (3, explode)Graph BAR (Mean) of X and Z, over (Group)Grapg DOT (median) x1 x2, over (Group) Marker (1, msymbol (OH) (2) Marker, msymbol (X))X Qnorm, GridPnorm X, Grid交叉表Tab B, SUM (X) meanTab B, All tabi B \ C D, All tab b] [FW = count, AllA B C 分布绘制abc的一维表 tab1A B C 建立所有可能的二维表 Tab2Sort by: a B C, Tab, All 以c的不同取值分别绘制a b的二维表Table Row col (col1, by 绘制多维表 row1)Sktest x swilk sfrancia正态性检验及数据变换Sktest x swilk sfrancia立方严重负偏态平方轻度负偏态平方根轻度正偏态对数正偏态平方根负倒数严重正偏态倒数非常严重正偏态平方倒数同上立方倒数同上X / / 产生以上8种变换后的正态性检验 LadderGladder X / / 针对ladder结果绘制直方图Bcskews newx = X / / 产生新变量newx, 是对x的变换方差齐性检验Sdtest X1 = x2Sdtest X1, by (Group)Robvar X, by levene检验, 返回值 (Group)W0: 均数 W50: 中位数 W10: 后的均数 trim10%方差分析单个样本TTEST (x = 10 signtest x = 10 二项分布ttest x1 = x2 signrank x1 = x2 wilcoxon符号检验ttest x city (group) ranksum x city (group) wilcoxon检验ttest x1 = x2, unpaired unequalbitest x = = pbitesti n c p单因素方差分析oneway x group, tabluate scheffe bonferroni sidak kwallis x city (group)多因素方差分析anova x a # # btest 1 (a = (test 2 (b = 3. bbonferonni: r (p) * c c: 比较次数, 组数x (组数 - 1) / 2scheffe: 1 - f (组数 - 1, 误差自由度, r (f) / (组数 - 1))regresspredict newvar 预测值predict newvar, stdp 预测值标准误anova x a b | aanova x a / id | a b a # banova x a b c.age相关分析 (town was:)cor x ypwcorr x y, bonferrior / sidakspearman x y, bonferrior / sidakpcorr y x1 - x3 去除其他x的影响后y与x的偏相关系数回归分析基本方法reg y x1 x2 x3, beta uncons预测值predict newvar, cooksd hat covratio dfits residuals rstudent rstandard stdp stdfhat > 2p / n 发现高杠杆值dfits > 2sqrt (p / n) 案例的自变量组合对回归直线的影响力cooksd > 4 / n 同上welsch > 3sqrt (p) 同上covratio: | r - 1 | > = 3p / nrvfplot, yline (0)假设检验reg x * ytest x1 x2 x1 和x2回归系数同时为0test x1 = x2虚拟变量loss region gene (reg) / / 产生reg1 - 4四个哑变量reg cmat reg2 / / reg2与其他3个地区的比较reg cmat reg1 reg2 reg3 reg4 = = xi: reg cmat i.region 此方法便于做交互分析char region [omit] 4 (与xi共同使用)xi: reg camt i.region逐步回归sw reg y x1 - x4, per (. 06) pe (0.05)sw reg y x1 x2 (x3, x4) lockterm1 per (. 06)面板数据iis regionten yearxtreg y x1 x2, rextmixed y 固定变量 | | school: 随机变量回归诊断estate ic 返回aic bic ll (null) ll (model) 值 (log likelihood 对数似然值)quietly reg y x1 - 85estimates of large fullquietly reg y x1 - x4lrtest fullovtest p < 0.05提示有二次、三次或四次方项目需要添加hettest p < 0.05提示方差不齐, 误差散点图不是随机分布的dwstat 一价自相关的durbin - watson检验kic 自变量共线性检查kic > 10 平均vif > 1 有问题宽容度 (vif的倒数) 表示该变量独立程度, 越大则越独立rvfplot 预测值与残差值的散点图rvpplot x 某一个自变量x与残差的散点图avplot x 去除其他变量影响后的x与y的线性关系, x轴上偏离的数值多为高杠杆值avplotsacprplot x, lowess 虚线在中间部分与直线不重和表示可能x与y 存在其他非线性关系,另外可以报告与x具有线性关系的其他自变量lvr2plot 注意拟合不好且具有较高杠杆作用的值可能是高杠杆值hat 较大值提示高杠杆值dfits cooksd covratio 提示对y影响较大的值logistic回归logit y x * logit y x *, orblogit n x * ylrocroctab y x, graphroccomp y x1 x2 比较y与x1的roc曲线和y与x2的是否相同rocgold y x x1 x2 比较y与x (金标准) 的roc曲线和y与x1的是否相同lsens, genprob (prob) gensens (sen) genspec (spec)lstatlfit, group (10) est gof, group (10)predict the phat, hat deviance ddeviance dbet dx2 dbetaclogit y x *, group (matchvar)ologit x * ymlogit y x *, b (1) mlogit y x *, rrrconstraint define 1 [3] x = 2 [2] xconstranit define 2 [4] x = 3 [2] xmlogit y x, c (1, 2) b (1)多元方差分析hotelling x *hotelling x *, city (group)manova x1 x2 x3 = g b g * b广义线性模型gaec y x1 x2家庭(高斯)链接(身份)* /正态分布线性回归GLM y x1 x2,家庭(二项式)链接(Logit)* /物流回归GLM y x1 x2,家庭(Poisson)链接(日志)lnoffset(暴露人年变量)泊松y x1 x2,曝光(暴露人年变量)poisgof [皮尔森]GLM y x1 x2,家庭(nbinomial)链接(日志)nbreg y x1 x2gnbreg y x1 x2,lnalpha(VAR)预测主成份分析PCA X点状图因子分析X因子*,PCF矿(0.5)主成份法X因子*,ML矿(0.5)最大似然法X因子*,IPF /迭代主因子法旋转方差极大旋转旋转,旋转斜交法生存分析认识时间,失败(结果)stsum,由(治疗)后缀树,由rmean(处理)STS列表,由(治疗)以损失为例的STS图STS图,通过gwood(治疗)STS测试组streg治疗组,诺尔公司(指数/ Weibull)预测new_var = = 1如果治疗,监测stcox治疗组,诺尔考克斯结果治疗组,死亡(结果)诺尔申银万国考克斯结果治疗组,死亡(结果)诺尔流行病队列研究IR案例的曝光时间(人年数)硝酸铵CS案例曝光[或数]CSI(A组)可使用结核病和精确(默认)计算RR可信区间,不能使用伍尔夫病例对照研究cc案例由(组)公开甲丙氨酯MCC的病例对照选择A B C D可使用精确(默认)、伍尔夫、麦田计算RR可信区间tabodds模型不如用物流、考克斯比例风险模型。
时间序列模型stata 基本命令汇总
时间序列模型结构模型虽然有助于人们理解变量之间的影响关系,但模型的预测精度比较低。
在一些大规模的联立方程中,情况更是如此。
而早期的单变量时间序列模型有较少的参数却可以得到非常精确的预测,因此随着Box and Jenkins(1984)等奠基性的研究,时间序列方法得到迅速发展。
从单变量时间序列到多元时间序列模型,从平稳过程到非平稳过程,时间序列分析方法被广泛应用于经济、气象和过程控制等领域。
本章将介绍如下时间序列分析方法,ARIMA模型、ARCH族模型、VAR模型、VEC模型、单位根检验及协整检验等。
一、基本命令1.1时间序列数据的处理1)声明时间序列:tsset 命令use gnp96.dta, clearlist in 1/20gen Lgnp = L.gnptsset datelist in 1/20gen Lgnp = L.gnp2)检查是否有断点:tsreport, reportuse gnp96.dta, cleartsset datetsreport, reportdrop in 10/10list in 1/12tsreport, reporttsreport, report list /*列出存在断点的样本信息*/3)填充缺漏值:tsfilltsfilltsreport, report listlist in 1/124)追加样本:tsappenduse gnp96.dta, cleartsset datelist in -10/-1sumtsappend , add(5) /*追加5个观察值*/list in -10/-1sum5)应用:样本外预测: predictreg gnp96 L.gnp96predict gnp_hatlist in -10/-16)清除时间标识: tsset, cleartsset, clear1.2变量的生成与处理1)滞后项、超前项和差分项 help tsvarlistuse gnp96.dta, cleartsset dategen Lgnp = L.gnp96 /*一阶滞后*/gen L2gnp = L2.gnp96gen Fgnp = F.gnp96 /*一阶超前*/gen F2gnp = F2.gnp96gen Dgnp = D.gnp96 /*一阶差分*/gen D2gnp = D2.gnp96list in 1/10list in -10/-12)产生增长率变量: 对数差分gen lngnp = ln(gnp96)gen growth = D.lngnpgen growth2 = (gnp96-L.gnp96)/L.gnp96gen diff = growth - growth2 /*表明对数差分和变量的增长率差别很小*/ list date gnp96 lngnp growth* diff in 1/101.3日期的处理日期的格式 help tsfmt基本时点:整数数值,如 -3, -2, -1, 0, 1, 2, 3 ....1960年1月1日,取值为 0;1)使用 tsset 命令指定显示格式use B6_tsset.dta, cleartsset t, dailylistuse B6_tsset.dta, cleartsset t, weeklylist2)指定起始时点cap drop monthgenerate month = m(1990-1) + _n - 1format month %tmlist t month in 1/20cap drop yeargen year = y(1952) + _n - 1format year %tylist t year in 1/203)自己设定不同的显示格式日期的显示格式 %d (%td) 定义如下:%[-][t]d<描述特定的显示格式>具体项目释义:“<描述特定的显示格式>”中可包含如下字母或字符c y m l nd j h q w _ . , : - / ' !cC Y M L ND J W定义如下:c and C 世纪值(个位数不附加/附加0)y and Y 不含世纪值的年份(个位数不附加/附加0)m 三个英文字母的月份简写(第一个字母大写) M 英文字母拼写的月份(第一个字母大写)n and N 数字月份(个位数不附加/附加0)d and D 一个月中的第几日(个位数不附加/附加0)j and J 一年中的第几日(个位数不附加/附加0)h 一年中的第几半年 (1 or 2)q 一年中的第几季度 (1, 2, 3, or 4)w and W 一年中的第几周(个位数不附加/附加0)_ display a blank (空格). display a period(句号), display a comma(逗号): display a colon(冒号)- display a dash (短线)/ display a slash(斜线)' display a close single quote(右引号)!c display character c (code !! to display an exclamation point)样式1:Format Sample date in format-----------------------------------%td 07jul1948%tdM_d,_CY July 7, 1948%tdY/M/D 48/07/11%tdM-D-CY 07-11-1948%tqCY.q 1999.2%tqCY:q 1992:2%twCY,_w 2010, 48-----------------------------------样式2:Format Sample date in format----------------------------------%d 11jul1948%dDlCY 11jul1948%dDlY 11jul48%dM_d,_CY July 11, 1948%dd_M_CY 11 July 1948%dN/D/Y 07/11/48%dD/N/Y 11/07/48%dY/N/D 48/07/11%dN-D-CY 07-11-1948----------------------------------clearset obs 100gen t = _n + d(13feb1978)list t in 1/5format t %dCY-N-D /*1978-02-14*/list t in 1/5format t %dcy_n_d /*1978 2 14*/list t in 1/5use B6_tsset, clearlisttsset t, format(%twCY-m)list4)一个实例:生成连续的时间变量use e1920.dta, clearlist year month in 1/30sort year monthgen time = _ntsset timelist year month time in 1/30generate newmonth = m(1920-1) + time - 1tsset newmonth, monthlylist year month time newmonth in 1/301.4图解时间序列1)例1:clearset seed 13579113sim_arma ar2, ar(0.7 0.2) nobs(200)sim_arma ma2, ma(0.7 0.2)tsset _ttsline ar2 ma2* 亦可采用 twoway line 命令绘制,但较为繁琐twoway line ar2 ma2 _t2)例2:增加文字标注sysuse tsline2, cleartsset daytsline calories, ttick(28nov2002 25dec2002, tpos(in)) /// ttext(3470 28nov2002 "thanks" ///3470 25dec2002 "x-mas", orient(vert)) 3)例3:增加两条纵向的标示线sysuse tsline2, cleartsset daytsline calories, tline(28nov2002 25dec2002) * 或采用 twoway line 命令 local d1 = d(28nov2002) local d2 = d(25dec2002)line calories day, xline(`d1' `d2')4)例4:改变标签tsline calories, tlabel(, format(%tdmd)) ttitle("Date (2002)") tsline calories, tlabel(, format(%td))二、ARIMA 模型和SARMIA 模型ARIMA 模型的基本思想是:将预测对象随时间推移而形成的数据序列视为一个随机序列,用一定的数学模型来近似描述这个序列。
自-时间序列模型stata基本命令汇总
时间序列模型结构模型虽然有助于人们理解变量之间的影响关系,但模型的预测精度比较低。
在一些大规模的联立方程中,情况更是如此。
而早期的单变量时间序列模型有较少的参数却可以得到非常精确的预测,因此随着Box and Jenkins(1984)等奠基性的研究,时间序列方法得到迅速发展。
从单变量时间序列到多元时间序列模型,从平稳过程到非平稳过程,时间序列分析方法被广泛应用于经济、气象和过程控制等领域。
本章将介绍如下时间序列分析方法,ARIMA模型、ARCH族模型、VAR模型、VEC模型、单位根检验及协整检验等。
一、基本命令1.1时间序列数据的处理1)声明时间序列:tsset 命令use gnp96.dta, clearlistin 1/20gen Lgnp =L.gnptsset datelist in 1/20gen Lgnp = L.gnp2)检查是否有断点:tsreport, reportuse gnp96.dta, cleartsset datetsreport, reportdrop in 10/10list in 1/12tsreport, reporttsreport,report list /*列出存在断点的样本信息*/3)填充缺漏值:tsfilltsfilltsreport, report listlist in 1/124)追加样本:tsappenduse gnp96.dta, cleartsset datelistin -10/-1sumtsappend , add(5) /*追加5个观察值*/list in -10/-1sum5)应用:样本外预测: predictreg gnp96 L.gnp96predict gnp_hatlist in-10/-16)清除时间标识: tsset, cleartsset,clear1.2变量的生成与处理1)滞后项、超前项和差分项 help tsvarlistuse gnp96.dta, cleartsset dategen Lgnp = L.gnp96/*一阶滞后*/gen L2gnp = L2.gnp96gen Fgnp = F.gnp96 /*一阶超前*/gen F2gnp =F2.gnp96gen Dgnp = D.gnp96/*一阶差分*/gen D2gnp = D2.gnp96list in 1/10list in -10/-12)产生增长率变量:对数差分genlngnp = ln(gnp96)gen growth = D.lngnpgen growth2 = (gnp96-L.gnp96)/L.gnp96gen diff = growth - growth2 /*表明对数差分和变量的增长率差别很小*/ list date gnp96 lngnp growth*diffin 1/101.3日期的处理日期的格式 help tsfmt基本时点:整数数值,如 -3, -2, -1, 0, 1, 2, 3 ....1960年1月1日,取值为 0;1)使用tsset 命令指定显示格式use B6_tsset.dta,cleartsset t, dailylistuse B6_tsset.dta, cleartsset t, weeklylist2)指定起始时点cap drop monthgenerate month= m(1990-1) + _n - 1format month %tmlist t month in 1/20cap drop yeargen year= y(1952) + _n - 1format year %tylist t year in 1/203)自己设定不同的显示格式日期的显示格式%d(%td) 定义如下:%[-][t]d<描述特定的显示格式>具体项目释义:“<描述特定的显示格式>”中可包含如下字母或字符c y m lnd j h q w _ . , : - / ' !cC Y M L N D J W定义如下:c and C 世纪值(个位数不附加/附加0)yand Y 不含世纪值的年份(个位数不附加/附加0) m三个英文字母的月份简写(第一个字母大写) M 英文字母拼写的月份(第一个字母大写)nand N 数字月份(个位数不附加/附加0)d and D 一个月中的第几日(个位数不附加/附加0)j and J一年中的第几日(个位数不附加/附加0)h一年中的第几半年(1 or 2)q一年中的第几季度(1, 2, 3, or 4)w and W 一年中的第几周(个位数不附加/附加0)_ display a blank (空格). display aperiod(句号),display a comma(逗号): display a colon(冒号)- display a dash (短线)/ display a slash(斜线)' display aclose single quote(右引号)!c display character c (code !! to display an exc lamation point)样式1:Format Sample date in format-----------------------------------%td 07jul1948%tdM_d,_CY July 7, 1948%tdY/M/D 48/07/11%tdM-D-CY 07-11-1948%tqCY.q 1999.2%tqCY:q 1992:2%twCY,_w 2010, 48-----------------------------------样式2:Format Sample date in format----------------------------------%d 11jul1948%dDlCY 11jul1948%dDlY 11jul48%dM_d,_CY July 11, 1948%dd_M_CY 11 July 1948%dN/D/Y07/11/48%dD/N/Y 11/07/48%dY/N/D 48/07/11%dN-D-CY 07-11-1948----------------------------------clearset obs 100gen t = _n + d(13feb1978)list t in 1/5format t %dCY-N-D /*1978-02-14*/listtin 1/5format t %dcy_n_d /*1978 214*/list tin 1/5use B6_tsset, clearlisttsset t, format(%twCY-m)list4)一个实例:生成连续的时间变量use e1920.dta, clearlist year month in 1/30sort year monthgen time = _ntssettimelist year month timein 1/30generate newmonth = m(1920-1) + time - 1tsset newmonth, monthlylist year month time newmonth in 1/301.4图解时间序列1)例1:clearset seed13579113sim_arma ar2, ar(0.7 0.2) nobs(200)sim_arma ma2, ma(0.7 0.2)tsset _ttsline ar2 ma2* 亦可采用 twoway line 命令绘制,但较为繁琐twoway line ar2 ma2 _t2)例2:增加文字标注sysuse tsline2, cleartsset daytslinecalories, ttick(28nov200225dec2002, tpos(i n)) ///ttext(3470 28nov2002 "thanks" ///3470 25dec2002 "x-mas", orient(vert)) 3)例3:增加两条纵向的标示线sysuse t sline 2, c lear tsse t d ayts lin e ca lori es, tli ne (28nov2002 25d ec 2002) * 或采用 twowa y l ine 命令loc al d1 = d(28nov 2002) loca l d 2 = d(25d ec 2002)line calor ies day, xline(`d1' `d2')4)例4:改变标签 tsline calo ries, tlabel (, f ormat (%td md)) tt itle("Da te (2002)")tsline ca lori es , tlabel (, format(%td ))二、ARIM A 模型和SAR MIA 模型ARIMA 模型的基本思想是:将预测对象随时间推移而形成的数据序列视为一个随机序列,用一定的数学模型来近似描述这个序列。
STATA做时间序列
5
PU/DSS/OTR
Setting as time series: tsset
Once you have the date variable in a ‘date format’ you need to declare your data as time series in order to use the time series operators. In Stata type: tsset datevar
. list datevar unemp if tin(2000q1,2000q4) datevar 173. 174. 175. 176. 2000q1 2000q2 2000q3 2000q4 unemp 4.033333 3.933333 4 3.9
批注本地保存成功开通会员云端永久保存去开通
Time Series
(ver. 1.5)
Oscar Torres-Reyna
Data Consultant
otorres@
/training/
PU/DSS/OTR
If you have a format like ‘date1’ type -----STATA 10.x/11.x: gen datevar = date(date1,"DMY", 2012) format datevar %td /*For daily data*/ -----STATA 9.x: gen datevar = date(date1,"dmy", 2012) format datevar %td /*For daily data*/ If you have a format like ‘date2’ type -----STATA 10.x/11.x: gen datevar = date(date2,"MDY", 2012) format datevar %td /*For daily data*/ ------STATA 9.x: gen datevar = date(date2,"mdy", 2012) format datevar %td /*For daily data*/ If you have a format like ‘date3’ type ------STATA 10.x/11.x: tostring date3, gen(date3a) gen datevar=date(date3a,"YMD") format datevar %td /*For daily data*/ ------STATA 9.x: tostring date3, gen(date3a) gen year=substr(date3a,1,4) gen month=substr(date3a,5,2) gen day=substr(date3a,7,2) destring year month day, replace gen datevar1 = mdy(month,day,year) format datevar1 %td /*For daily data*/ If you have a format like ‘date4’ type See /~otorres/Stata/
Stata学习笔记
1、横截面数据:多个经济个体的变量在同一时间点上的取值,如2012年中国各省的GDP2、时间数列数据:指的是某个经济个体的变量在不同时点上的取值,如1978-2012年山东省每年的GDP3、面板数据:多个经济个体的变量在不同时点上的取值,如1978-2012年中国各省的GDP小样本OLS(最小二乘法):单一方程线性回归最常见方法条件:解释变量与扰动项正交、扰动项无自相关、同方差。
拟合优度:衡量线性回归模型对样本数据的拟合程度(R2),越高说明模型拟合程度越好。
单系数T检验:对回归方程扰动项的具体概率进行假设显著性水平进行检验F检验:整个回归方程是否显著STATA操作简介:如果数据中包含1949-10-01或1949/10/01的时间变量,导入stata后可能会被视为字符串,因此对于日度数据,可以使用命令gen newvar=date(varname,YMD),将其转换为整数日期变量,其中YMD说明原始数据的格式为年月日,如果原始数据的格式为月日年则使用MDY;对于月度数据则gen newvar=monthly(varname,YM)。
.describe:数据的概貌 .drop keep:删除和保留.su:统计特征 Pwcorr:变量之间相关系数Star(.05):5%显著性水平 gen:产生g intc=log(tc):取自然对数. reg:OLS回归.Vce:协方差矩阵 reg。
,noc表示在进行回归时不要常数项大样本OLS:只要求解释变量与同期的扰动项正交即可Robust:稳健标准误,如果存在异方差,则应使用稳健标准误最大似然估计法:如果回归方程存在非线性,则使用最大似然估计法(MLE)或非线性最小二乘法(NLS)三类在大样本下渐进等价的统计检验:Wald test LR(似然比检验) LM操作步骤如下:sysuse auto(调用数据集)Hist mpg,normal(画变量mpg的直方图,并与正态密度比较)直方图显示,变量mpg的分布于正态分布有一定差距。
时间序列Stata指令
STATA COMMAND FOR TIME SERIES ANALYSISHow to set time series data:tsset year, yearlyHow to fill missing data for Time Series analysis:ipolate x time, gen(xi) epolateHow to check unit root using Augmented Dikker Fuller test (ADF):ADF unit root test using constantdfuller xADF test for constant and trend:dfuller x, trendWhen a variable has unit root, we take difference as follows:dfuller d.xADF test after differencing for constant and trend:dfuller d.x, trendIf you want to have summary statistics:sum y x1 x2 x3 x4How to run correlation matrix for your data:correlate y x1 x2 x3 x4Command for running regression model:regress y x1 x2 x3 x4If you want to check normality after running regression model, run two commands consecutively:predict myResiduals, rsktest myResidualsAfter regression, you can check for serial correlation using either of the following: dwstat or estat bgodfreyUse the following command for heteroskedasticity test :Prob value below 10% means there is heteroskedasticity problem in the modelestat hottestIf you want to see whether the model is mis-specified or if some variables are omitted: estat ovtestCommand for selecting optimum lags for your model is given below:varsoc y x1 x2 x3 x4, maxlag(4)the asterisk (*) indicates the appropriate lag selectedCommand for testing co-integration:vecrank y x1 x2 x3 x4, trend(constant)When co-integration is established, run VECM otherwise unrestricted VAR model is appropriate.Assuming variables are co-integrated, we run VECM using the following command:vec y x1 x2 x3 x4, trend(contant)The long-run causality must be negative, significant and in between 0 to 1, representing error correction term or speed of adjustment.Command to run impulse response function (you must estimate VECM or VAR model before running it) as follows:First you use the following command to create file:irf create order1, step(10) set(myirf1)Command for impulse response of all independent variables on dependent variable:irf graph irf, irf(order1) impulse(y x1 x2 x3 x4) response(smd)Assuming there is no co-integration, you run VAR model as a replacement for VECM as follows: (Note VAR model is for short run effect only)var y x1 x2 x3 x4, lags(1/4)If you want to check how variables jointly affect the dependent variables, use Granger causality test as follows:vargrangerDiagnostic checking for VAR model: Run the following tests:Lagrange multiplier test to check if residuals are auto-correlated or not (whether model is well-specified):varlmarJarque-Bera test to check whether residuals are normally distributed or not:varnorm, jberajbera stands for Jarque-BeraProb value below 10% shows residuals are not normally distributedTime Series Autoregressive Distributed Lag (ARDL) Model:ardl y x1 x2 x3 x4, lag(2 1 1 1 1) ecThe value must be negative, significant and in between 0 to 1, representing error correction term or speed of adjustmentTo confirm existence of long-run relationship, we run bound test as follows:estat btestbtest stand for bound testThe long-run cointegration is possible if the F statistics value is above the critical value. Command for Zivot-Andrews unit root test (structural break):zandrews xzandrews d.xGregory-Hansen Cointegration testCommand for g-hansen test with change in level:ghansen y x1 x2 x3 x4, break(level) lagmethod(aic) maxlags(4)Command for g-hansen test under regime change;ghansen y x1 x2 x3 x4, break(regime) lagmethod(fixed) maxlags(4)Command for g-hansen test with change in regime and trend:ghansen y x1 x2 x3 x4, break(regimetrend) lagmethod(downt) level(0.99) trim(0.1) Command for Non-linear Autoregressive Distributed Lag (NARDL) for frequency data nardl y x1 x2 x3 x4, p(2) q(4) constraints (1/2) plot bootstrapt (500) level (95)p(2) stands for lags of dependent variable, q(4) lags for explanatory variablesCommand for non-linear Autoregressive Distributed Lag (NARDL) for fewer observations nardl y x1 x2 x3 x4The results include positive and negative coefficients otherwise asymmetric effectSteps for running Toda and Yamamoto Granger-non causality testAfter testing for unitrootEstimate var model to select appropriate lag as followsvar y x1 x2 x3 x4, lags(1/4)varsocAssuming lag 3 is selected for the model, then run var model to include exogenous variables: var y x1 x2 x3 x4, lags(1/2) exog(13.y 13.x1 13.x2 13.x3 13.x4)Then run Toda Yamamoto causality test as follows:vargranger。
STATA实用学习笔记
北京科技大学STATA应用学习摘录第一章 STATA的基本操作一、设置内存容set mem 500m, perm一、显示输入内容Display 1Display “clive”二、显示数据集结构describeDescribe /d三、编辑editEdit四、重命名变量Rename var1 var2五、显示数据集内容list/browseList in 1List in 2/10六、数据导入:数据文件是文本类型(.csv)1、insheet: . insheet using “C:\Documents and Settings\Administrator\桌面\ST9007\dataset\Fees1.csv”, clear2、内存为空时才可以导入数据集,否则会出现(you must start with an empty dataset)(1)清空内存中的所有变量:.drop _all(2)导入语句后加入“clear”命令。
七、保存文件1、save “C:\Documents and Settings\Administrator\桌面\ST9007\dataset\Fees1.dta”2、save “C:\Documents and Settings\Administrator\桌面\ST9007\dataset\Fees1.dta”, replace八、打开及退出已存文件use1、.Use 文件路径及文件名, clear2、. Drop _all/.exit九、记录命令和输出结果(log)1、开始建立记录文件:log using "J:\phd\output.log", replace2、暂停记录文件:log off3、重新打开记录文件:log on4、关闭记录文件:log close十一、创建和保存程序文件:(doedit, do)1、打开程序编辑窗口:doedit2、写入命令3、保存文件,.do.4、运行命令:.do 程序文件路径及文件名十二、多个数据集合并为一个数据集(变量和结构相同)纵向合并appendinsheet using "J:\phd\Fees1.csv", clearsave "J:\phd\Fees1.dta", replaceinsheet using "J:\phd\Fees2.csv", clearappend using "J:\phd\Fees1.dta"save "J:\phd\Fees1.dta", replace十三、横向合并,在原数据集基础上加上另外的变量merge1、insheet using "J:\phd\Fees1.csv", clearsort companyid yearendsave "J:\phd\Fees1.dta", replacedescribeinsheet using "J:\phd\Fees6.csv", clearsort companyid yearendmerge companyid yearend using "J:\phd\Fees1.dta"save "J:\phd\Fees1.dta", replacedescribe2、_merge==1 obs. From master data_merge==2 obs. From using data_merge==3 obs. From both master and using data十四、帮助文件:help1、. Help describe十五、描述性统计量1、summarize incorporationyear 单个summarize incorporationyear-big6 连续多个summarize _all or simply summarize 所有2、更详细的统计量summarize incorporationyear, detail3、centilecentile auditfees, centile(0(10)100)centile auditfees, centile(0(5)100)4、tabulate不同类型变量的频数和比例tabulate companytypetabulate companytype big6, column 按列计算百分比tabulate companytype big6, row 按行计算百分比tab companytype big6 if companytype<=3, row col 同时按行列和条件计算百分比5、计算满足条件观测的个数count if big6==1count if big6==0 | big6==16、按离散变量排序,对连续变量计算描述性统计量:(1)by companytype, sort: summarize auditfees, detail(2)sort companytypeBy companytype:summarize auditees十六、转换变量1、按公司类型将公开发行股票公司赋值为1,其他为0gen listed=0replace listed=1 if companytype==2replace listed=1 if companytype==3replace listed=1 if companytype==5replace listed=. if companytype==.十七、产生新变量genGenerate newvar=表达式十八、数据类型3、新建变量的过程中定义数据类型●gen str3 gender= "male"●list gender in 1/104、变量所占字节过长●drop gender●gen str30 gender= "male"●browse●describe gender●compress gender5、日期数据类型:%d dates, which is a count of the number of days elapsed since January 1, 1960。
时间序列分析STATA第三课
用STATA软件学习《时间序列分析》第三课:ARMA/ARIMA建模及预测核心问题:1,前提:同方差,因此,不用考虑不同时刻变量的离散性;2,建立的是变量分布的均值模型,也就是,随机变量分布的均值所在的位置3,难点在于,时间序列数据建立模型并没有唯一性以quarterly.dta的数据来说明。
这个数据是美国的季度GDP数据,数据从1947年一季度开始,到2012年一季度结束。
研究对象,GDP,存在通货膨胀问题。
所以要用GDP平减指数(GDP Deflator)进行矫正,这里是以2005年的美元作为基准的。
所以考察变量是GDP2005,即以2005年的美元作为基准的各季度的GDP真实值。
一,一些基本符号:D L F二,建立模型: 前期准备:观察时序图相关命令:tsset, tsline/twoway用STATA 软件学习《时间序列分析》从图上可以看出,GDP2005值呈线性的向右上方倾斜,第一种方法:可以用确定性分析理的方法,使用研究变量对时间变量进行回归 即:regress lrgdp date (采用的是最小二乘估计)然后对残差项进行White Noise 检验观察此图:特征大值跟大值,小值跟小值,这说明Residual 中存在着自相关信息。
肯定不是White Noise因此,从这里看出,确定性的方法比较直观,简单,但效果不好,弥补:对残差序列进行回归,建立AR 模型,这就是所谓的 残差自回归模型。
第二种方法BOX-JENKINS 方法,也就是通常所说的ARMA(p,d) /ARIMA(p,d,d)建模(采用的是最大似然估计)。
四大步骤:1、模型识别Identification :决定p 和q 2、模型估计Estimation :估计εσθφμ 个),(,个)(,q p 3、模型检验Diagnostic Checking 4、模型优化Parsimony1,模型识别Identification 相关命令:ac pac这个图的特征是ac值虽然在减小,但其减少类似线性,这时候就要考虑差分了,通常使用的是一阶差分和二阶差分一阶差分generate growth=lrgdp-L.lrgdp这个时候,growth就是经济增长率这张图的ac值快速减少到影音之内,说明在样本中,变量growth显现的是平稳。
时间序列分析STATA 第三课
第三课:ARMA/ARIMA建模及预测核心问题:1,前提:同方差,因此,不用考虑不同时刻变量的离散性;2,建立的是变量分布的均值模型,也就是,随机变量分布的均值所在的位置3,难点在于,时间序列数据建立模型并没有唯一性以quarterly.dta的数据来说明。
这个数据是美国的季度GDP数据,数据从1947年一季度开始,到2012年一季度结束。
研究对象,GDP,存在通货膨胀问题。
所以要用GDP平减指数(GDP Deflator)进行矫正,这里是以2005年的美元作为基准的。
所以考察变量是GDP2005,即以2005年的美元作为基准的各季度的GDP 真实值。
一,一些基本符号:D L F二,建立模型:前期准备:观察时序图相关命令:tsset, tsline/twoway从图上可以看出,GDP2005值呈线性的向右上方倾斜,第一种方法:可以用确定性分析理的方法,使用研究变量对时间变量进行回归 即:regress lrgdp date (采用的是最小二乘估计)然后对残差项进行White Noise 检验观察此图:特征大值跟大值,小值跟小值,这说明Residual 中存在着自相关信息。
肯定不是White Noise因此,从这里看出,确定性的方法比较直观,简单,但效果不好,弥补:对残差序列进行回归,建立AR 模型,这就是所谓的 残差自回归模型。
第二种方法BOX-JENKINS 方法,也就是通常所说的ARMA(p,d) /ARIMA(p,d,d)建模(采用的是最大似然估计)。
四大步骤:1、模型识别Identification :决定p 和q2、模型估计Estimation :估计εσθφμ 个),(,个)(,q p 3、模型检验Diagnostic Checking4、模型优化Parsimony1,模型识别Identification 相关命令:ac pac这个图的特征是ac值虽然在减小,但其减少类似线性,这时候就要考虑差分了,通常使用的是一阶差分和二阶差分一阶差分generate growth=lrgdp-L.lrgdp这个时候,growth就是经济增长率这张图的ac值快速减少到影音之内,说明在样本中,变量growth显现的是平稳。
stata建模中的各种小问题(我的笔记)
stata建模中的各种小问题(我的笔记)保存估计结果的命令:eststore名称使用保存结果的命令:,estimates(名称)如果你把那个显示你用过的命令的窗口:窗口操作:windows――review如果你把那个显示变量的窗口:窗口操作:windows――variables时间序列充填和拓展时间区间:命令:tsappend,add(n)增加n个观测值窗口操作方式:在上面打听dataedit即为像是一个表格一样的图标点上开即可编辑数据时间序列存在间断点问题,需要补齐处理:命令:tsfill信息准则赤池信息准则(aic)――推论推论模型的最小落后阶数stata命令:1.先重回2.estatic如何看看aic统计数据量:breusch-pagan,cook-weisberg异方差检验stata命令:1.先回归2.estathettest[varlist]或者在statistics――postestimation(倒数第二个)――reportsandstatistics(倒数第二个)――在里面选择(hettest)如何看统计量:white异方差检验:stata命令:3.先重回4.estatimtest,white[varlist]或者在statistics――postestimation(倒数第二个)――reportsandstatistics(倒数第二个)――在里面选择(imtest)如何看统计量:ramsey重回预设误差检验:stata命令:1.先重回2.estatovtest或者在statistics――postestimation(倒数第二个)――reportsandstatistics(倒数第二个)――在里面挑选(ovtest)如何看看统计数据量:多重共线性方差膨胀因子检验:1.先重回2.estatvif[,uncentered]或者在statistics――postestimation(倒数第二个)――reportsandstatistics(倒数第二个)――在里面挑选(vif)如何看看统计数据量:一般的当最大的方差膨胀因子超过10(相对保守的临界值定位30)后者平均方差膨胀因子超过1表示模型存在多重共线性的问题。
stata操作介绍之时间序列-
虽然pperron 检验和dfgls检验拒绝了变量 fylltemp具有稳定性的假设,但是dfuller 检验 不能拒绝原假设,还是可以认为该变量具有 稳定性。
ARIMA模型
自相关表: . corrgram fylltemp,lags(4)
说明:该变量的自相关关系随着滞后期的增加而减少,偏自 相关关系在一期自后滞后消失,故适合模型AR(1)来分析该 变量。
注:本部分继续使用ch52.dta数据。
自相关分析
自相关表: . corrgram fylltemp,lags(9)
说明:大多数P值都小于0.05,故认为fylltemp具有显著的自相 关性;相关关系或偏相关关系越强,相应的线条越长;
自相关分析
自相关图: . ac fylltemp,lags(9)
平滑分析
生成移动平均值(1):
. gen water3=(water[ _n-1]+water[ _n]+water[ _n+1])/3
平滑分析
生成移动平均值(2): . tssmooth ma water5=water,window(2 1 2)
注:tssmooth:表示移动平均值平滑(加权或不加权); window(2 1 2):表示使用该值的前两个值、该值与该值的
平滑分析-滞后变量
生成n阶滞后变量的两种方法: . gen wNAO_n=wNAO[ _n-1] . gen wNAO_n=Ln.wNAO 注:第二种方法中的''Ln''表示Lag(n);
平滑分析-滞后变量
生成一阶滞后变量: . gen wNAO_1=wNAO[ _n-1]
生成二阶滞后变量: . gen wNAO_2=L2.wNAO
与时间序列相关的STATA命令及其统计量的解析完整版
与时间序列相关的STATA命令及其统计量的解析完整版与时间序列相关的S T A T A命令及其统计量的解析Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】与时间序列相关的S T A T A命令及其统计量的解析残差U 序列相关:①DW 统计量——针对⼀阶⾃相关的(⾼阶⽆效)STATA 命令:1.先回归2.直接输⼊dwstat统计量如何看:查表②Q 统计量——针对⾼阶⾃相关correlogram-Q-statisticsSTATA 命令:1.先回归reg2.取出残差predict u,residual(不要忘记逗号)3. wntestq u Q统计量如何看:p 值越⼩(越接近0)Q 值越⼤——表⽰存在⾃相关具体⾃相关的阶数可以看⾃相关系数图和偏相关系数图:STATA 命令:⾃相关系数图:ac u( 残差) 或者窗⼝操作在 Graphics ——Time-series graphs ——correlogram(ac)偏相关系数图:pac u 或者窗⼝操作在Graphics——Time-series graphs—— (pac)⾃相关与偏相关系数以及Q 统计量同时表⽰出来的⽅法:corrgram u或者是窗⼝操作在Statistics——Time-series——Graphs—— Autocorrelations&Partial autocorrelations③LM 统计量——针对⾼阶⾃相关STATA 命令:1.先回归reg2.直接输⼊命令estate bgodfrey,lags(n) 或者窗⼝操作在 Statistics——Postestimation(倒数第⼆个)——Reports andStatistics(倒数第⼆个) ——在⾥⾯选择 Breush-Godfrey LM(当然你在⾥⾯还可以找到⽅差膨胀因⼦还有DW 统计量等常规统计量)LM 统计量如何看:P 值越⼩(越接近 0)表⽰越显着(显着拒绝原假设),存在序列相关具体是⼏阶序列相关,你可以把滞后期写为⼏,当然默认是 1,(通常的⽅法是先看图,上⾯说的⾃相关和偏相关图以及Q 值,然后再利⽤LM 肯定)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文档结尾是FAQ和var建模的15点注意事项【梳理概念】向量自回归(VAR, Vector Auto regression)常用于预测相互联系的时间序列系统以及分析随机扰动对变量系统的动态影响。
VAR模型:VAR方法通过把系统中每一个内生变量,作为系统中所有内生变量的滞后值的函数来构造模型,从而回避了结构化模型的要求。
VAR模型对于相互联系的时间序列变量系统是有效的预测模型,同时,向疑自回归模型也被频繁地用于分析不同类型的随机误差项对系统变量的动态影响。
如果变量之间不仅存在滞后影响,而不存在同期影响关系,则适合建立VAR模型,因为VAR模型实际上是把当期关系隐含到了随机扰动项之中。
协整:Engle和Granger (1987a)指岀两个或多个非平稳时间序列的线性组合可能是平稳的。
假如这样一种平稳的或的线性组合存在,这些非平稳(有单位根)时间序列之间被认为是具有协整关系的。
这种平稳的线性组合被称为协整方程且可被解释为变量之间的长期均衡关系。
* 第六讲时间序列分析*一一目录——♦d•简介*6」时间序列数据的处理d ■平稳时间序列模型* 6.2 ARIMA 模型* 6.3 VAR 模型非平稳时间序列模型一近些年得到重视,发展很快* 6.4非平稳时间序列简介* 6.5单位根检验——检验非平稳* 6.6协整分析一一非平稳序列的分析黑-自回归条件异方差模型* 6.7 GARCH模型一一金融序列不同时点上序列的差界反映动态关系的时间数据顺序不可颠倒cd d:\stata 10\ado\personal\Net_Course\B6_TimcS*时间序列数据的处理help time*声明时间序列:tsset命令use gnp96.dta, clearlist in 1/20gen Lg叩=L.gnp(此时没办法生成之后一阶的变量,因为没有设左时间变量)tsset date (设定 date 为时间变timeseries ) list in 1/20 gen Lgnp = L.gnp96滞后一期,所以会产生1个缺失值 •检查是否有断点——肉眼看不方便,用命令检査 use gnp96.dta, clear tsset datetsreport, reportdrop in 10/10— 一去掉断点成连续的,才能继续进行 list in 1/12 tsreport, report tsreport, report list /* 列 出 存 在 断 点 的 样 本 信 息 */.tsreport. rep-ort Number o£ gaps in sairple: 1・ tsreport x repor 七 listRecord1969q3•填充缺漏值一一接着上一步,看看SR 怡如何填充缺漏值。
•般用前而的数据的平均值或预测等 Tsfill (以缺漏值的形式) tsreport, report list list in 1/12总追加样本一一有时候追加样本不是为了追加新的值,而是为了预测(见应用) use gnp96.dta, clear tsset date list in-10/-l sumtsappend , ad (l (5)产追加5个观察值*/listin-lOAl 增加的样本值部是缺漏的町以乎动输入Number or gaps in sairple :Observaxions withpreceding time gaps Date 10date gnp96 Lgnp19€7ql 19€7q2 19«7q3 19«7q4 19€8ql3=631 •召 眺 44.5 3S72 3703 37S7.53€44.5 3572 3703-1€ 738€l -83937.83915 3937.819€9q3 19€9q419*68q2 19€8q3 19€8q4sum.tsappend 7 add<5)sumVariableObs Mean Sxd. Dev ・ Mindate 147 10142.57934 28 174 gnp96141 6076.532 l€9€.O91 363l.G 9678.4 Lgnp140G050.8G31€74.2G63G3l.G9GS9左应用:样本外预测 reg gnp96 L.gnp96 predict gnp_hatlist in -lO/J -接上一步这'|川的样本值的预測值就显示出来了( ii 就是追加了样本值) *清除时间标识 tsset, clear ------ 若数据的形态有所改变就淸除*变量的生成与处理 滞后 L —lag 前导 F —forward 差分 D-difference -滞后项、超前项和差分项help tsvarlist use gnp96.dta. clear tsset dategen Lgnp = L.gnp96 /*一阶滞后*/ gen L2gnp = L2・gnp96 /*二阶滞后*/ gen Fgnp = F.gnp96 gen F2gnp = F2.gnp96 gen Dgnp = D.gnp96 gen D2gnp = D2.gnp96 list in 1/10 list in -10/-1D, L, F 可以组合生成变量gen 新变M^I =DL.变量名先滞后再差分一产生增长率变虽gen 变量名=D.ln(gnp96):对数差分一一得到近似的增长率 先设左时间变量tsset date gen lngnp = ln(gnp96)gen growth = D.lngnp (得到近似的增长率) 上而两步的简写形式(gen growth=D.ln(gnp96)) -该简化方法在stata!2中不可行date gnp9 6 Lgnp 138・ 2001q2 9436.4 9462.8 139. 2001q3 9405.7 9436.4 L40. 2001q4 9538 9405.7 L41.2002ql 9659 9538 142・ 2002q29678.49659143・ 2002q3、 L44.2002q4 f - 14S ・ 2003ql I- L46. 2003q2 \-147・ 2003q3_______ "・ list in -10/-1gen growth2 = (gnp96-L.gnp96)/L.gnp96 ------- 增长率的最基本定攵gen difiF = growth - growth2 ----- 若对放羌分和貞•.正的增长率接近,diff约等于0 list date gnp96 lngnp growth* diff in 1/10* 日期的处理 *~日期的格式help tsfmt♦=*=基本时点:整数数值,如-3,-2,-1.0. 1,2,3....* 1960年1月1日,取值为0;*显示格式:*定义含义默认格式**%td 日%tdDlCY♦%tw 周%twCY!ww*%tm 月%tmCY!mn*%tq 季度%tqCY!qq*%th 半年%thCY!hh%ty 年%tyCY♦*冬使用tsset命令指左显示格式use B6_tsset.dta, cleartsset t, dailylistuse B6_tsset.dta, cleartsset t, weekly——龙义基本时点123间的间隔是日、周、年等list冬相同的基本时点,采用不冋的方式显示会有不同的效果clearset obs 100gen t = _nreplace t = t-3local format u td tw tin tq th ty Hforeach f of local format {gen tjf = tformat tjf %s f}list in 1/20冬说明:同样的数值,釆用不同的显示方式,会有完全不同的含义format month %tm list month in 1/20cap drop yeargen year = y(1952) + _n ・1 format year %ty list t year in 1/20*设怎不同的显示格式help dfmt♦*日期的显示格式%d (%td)义如下:*%[-][t]d<描述特左的显示格式〉*指定起始时点cap drop monthgenerate month = m( 1990-1) + _n ・ 1*冬具体项目释义: * “v 描述特左的显示格式〉”中可包含如下字母或字符 * c y m 1 n d j h q w _.,: ' !c * CYMLNDJ W 黑定义如下: /†candC 世纪值(个位数不附加/附加0)y and Y 不含世纪值的年份(个位数不附加/附加0) m 三个英文字母的月份简写(第一个字母大写) M 英文字母拼写的月份(第一个字母大写) nandN 数字月份(个位数不附加/附加0)dandD 一个月中的第几日(个位数不附加/附加0) j and J 一年中的第几日(个位数不附加/附加0) h —年中的第几半年(lor 2) q 一年中的第几季度(1,2, 3, or 4)w and W 一年中的第几周(个位数不附加/附加0) _ display a blank (下划线) ・ display a period (句号) , display a comma (逗号) : display a colon (冒号) ・ display a dash (短线)/display a slash (斜线)display a close single quote (右弓I 号)!c display character c (code !! to display an exclamation point ) */ *歩例如:* Format Sample date in format * %td 07jull948 * %tdM_d._CY July 7, 1948 * %tdY/NI/D 48/07/11 * %tdM-D-CY 07-11-1948 * %tqCY.q 1999.2 * %tqCY:q 1992:2 * %twCY,_w 2010,48 * _______________________ *又如:Format Sample date in fonnat * %dN/D/Y 07/11/48 * %dD/N/Y 11/07/48clearset obs 100gen t = _n + d(13feb 1978)(Mi -个数显示的是1978年2月14对应的数值) list t in 1/5 format t %dCY-N-D /‡ 1978-02-14*/ list t in 1/5† %d lljull948 * %dDlCY Ujull948 * %dDlY 11 juI48 * %dM_d,_CY July 11, 1948 * %dd_M_CY 11 July 1948 ‡ 图解时间序列* %dY/N/D 48/07/11 * %dN-D-CY 07-11-1948format t %dcy_n_d /*1978 2 14*/list t in 1/5use B6_tsset, clearlisttsset t, format(%twCY-m)list左一个实例:生成连续的时间变量use el920.dta, clearlist year month in 1/30sort year monthgen time = _n tsset timelist year month time in 1/30generate newmonth = m( 1920-1) + time - 1 tsset newmonth, monthly list year month time newmonth in 1/30处理日期的函数help dates_and_timeshelp time-series functions*以下适用于STATA9.2版本时间序列日期概览help tdates将文字变量转换为日期help dlyfcns*一利用年、月、季度转换日期help dlyfcns日期转换函数help dcfcns♦ help tsline*例1:clearset seed 13579113sim_arma ar2, ar(0.7 0.2) nobs(200)sim_arma ma2, ma(0.7 0.2)tssettsline ar2 ma2*亦可采用twoway line命令绘制,但较为繁琐twoway line ar2 ma2 _t (前而两个为纵坐标,后而的为横坐标)*例2:增加文字标注sysuse tsline2, cleartsset day^delimit;tslinc calories, ttick(28nov2002 25dec2002, tpos(in)) ttext(3470 28nov2002 "thanks"3470 25dec2002 "x・mas”,orient(vert));^delimit cr(clcar)总例3:增加两条纵向的标示线sysuse tsline2, cleartsset daytslinc calories, tline(28nov2002 25dec2002)(在某时点画垂直线〉•z;o01jan2002 0iapf2002*或采用twoway line命令local dl = d(28nov2002)local d2 = d(25dec2002)line calories day, xlinefdr x d2r)=*=例4:改变标签tsline calories, tlabelG format(%tdmd)) ttitle(H Date (2002)")(分别为刻度乳和横坐标名〉tsline calories, tlabel(, format(%td))0i|^n20Coijan^ooz oiapr2O02 01JUI2002 01 oct2D02 Dijan20CDate叫譜2 01OCt2002s ■000P 008" pawnsgjs 皂Jo-eoooDo******计量分析与Stata应用*******主讲人:连玉君博士位:中山大学岭南学院金融系邮:页:::髙级部分::*计量分析与Stata应用*--------------------------------------------*第六讲时间序列分析*--------------------------------------------* 6.2 ARIMA 模型cd d:\stata 10\ado\personal\NeLCourse\B6_TimeS* ---------------------------------------*平稳时间序列模型ARIMA模型help arimaAR过程与MAil程自相关系数与偏自相关系数滞后阶数的筛选估计预测*-简介一*AR过程(自回归过程)*AR(1): yj = rho§y_{t-l} + uj*AR(p): yj = r_l *yjt-l j + r_2*y_{t・2} + ... + r_p*y_{t-p} + ujclearsim_arma y_ar, ar(0.9) nobs(300)( |-| 回归系数是0.9,观察值的个数是300) line y_ar yline(O)(在y=0处画条横线) *自相关系数(ACF)Cov[yj, y_{t+s}]§Var[yj]冬偏自相关系数(PACF)*yj = all*yjt-l}+uj (all 就是一阶(偏)自相关 )*y」= a2Fy_{M} + a22*y_{t・2}+u_t (a22就是:阶偏自相*yj = akl*y_{t-l} + ak2*y_{t-2} + ... + akk*y.{t-k} + u_t** PACF 为{al 1, a22, a33,..., akk}乞相当于控制英它滞后项的影响后.得到的“净"相关系数ac y_ar /*AR过程的ACF具有“拖尾”特征,长期记忆*/ pac y_ar /*AR过程的PACF具有“截尾”特征可*评论:根据AC和PAC图形可以初步判断某个序列是否为AR过程*具体表现为:*(1)AC图“拖尾”*(2) PAC图“截断"(截断处对应的阶数就是AR的滞后阶数P)程(移动平均过程)(I•扰项存在-个自相关的过程)*MA(1): yj = theta*u_{t-l} + u_t*M A(q): yj = thetal*u_{t-l} + theta2*u_{t-2} + ... + thetaq*u_{t-q} + u_t sim_arma y_ma. ma(0.8) nobs(300) line y_ma ylinc(O)ac y_ma /*MA过程的ACF具有“截尾”特征,短期记忆引pac y.ma /*MA过程的PACF具有锯齿型“拖尾”特征*/*稳左性与可逆性*定义:协方差稳定(Covariance Stationary)* a. E[yj]独立于t:* b. Var[yj]是一个有限的正常数,且独立于t;* c. Cov[yJ,y_(t+s}]是s的有限函数,但与t无关。