Stata常用命令[共16頁]
《Stata常用命令[共16頁]》由會員分享,可在線閱讀,更多相關《Stata常用命令[共16頁](16頁珍藏版)》請在裝配圖網上搜索。
1、Stata常用命令 大學期間覺得學的最有用的軟件之一就是stata了,對stata基本是在血和淚的嘗試中爬過,到了最后基本屬于只要stata不出現(xiàn)紅字錯誤命令就開心得不得了。順便整理一下常用的stata命令如下,應該對付計量方向第一學期的入門問題不大(求stata大神不虐..),所以就只寫了一部分常用的,有時間后面再補充吧。主要就是分為基本操作和回歸統(tǒng)計兩部分: 1、基本操作 import/use/insheet/merge:基本常用的導入文件就是這四個了,建議直接從stata的menu菜單中導入,導入xlsx和csv這種常見的格式時還有一些備用選項可以自己體驗一下(比如st
2、ring和把第一行視為變量名之類)。 merge需要單獨說一下,因為是將兩個數(shù)據(jù)庫合并為一個,原理也比較簡單,兩個數(shù)據(jù)庫中根據(jù)一些相同的變量把其他數(shù)據(jù)“加”到原來的數(shù)據(jù)庫中,也是建議直接菜單操作,不要用命令。在Data的Combine datasets的merge two datasets中,分為1:1、m:1、1:m各種形式,基本用兩次就差不多能搞懂。 help:一定第一個學的是這個!啥不會就help一下,不知道函數(shù)了就help function,不知道回歸細節(jié)就help regress,多讀help文件! gen/egen:最常用的建立函數(shù)的命令,這兩個不同之處在于gen
3、一般是初等函數(shù),egen的函數(shù)會復雜一些。常用的函數(shù)包括數(shù)學函數(shù)和其他函數(shù),比如count/tag之類,建議直接到菜單里Data下Create data的create new variable或create new variable(extended)直接生成函數(shù),會方便的多。 mean/abs/sqrt/max/min/sum/sd:常用數(shù)學函數(shù),分別是求均值、絕對值、方根、最大最小、求和、方差用的。 keep if/drop if:這兩個也是最常用的,在數(shù)據(jù)需要進行篩選的時候,兩個命令的區(qū)別也很明顯,keep是留下哪些,drop是去掉哪些。一般在if后面都會跟一些等式或不等式條
4、件,比如drop if days<=15,這就是把days這個變量中小于等于15的obs都去掉。 replace:就是代替,最常用的是在賦值的時候。比如我要建一個新函數(shù),但是取值我還不確定,假設新函數(shù)叫f,那就是gen f=.,這個“=.”就意思是缺省值,等我確定了賦值之后再用replace就行。比如有另一個參數(shù)叫male,我讓所有male=1的obs,它們的新函數(shù)f都要取10,那就是replace f=10 if male==1。 sort:對某一個或者某幾個變量進行從小到大的排序。常用的做法就是對日期排序,這個命令也可以排序多個變量,寫在前面的先排序。比如sort year m
5、onth day就是對年月日的順序排序。如果需要從大到小的話就是gsort就行。 bysort:這個命令簡直是用的最多的沒有之一!在此之前先講一下by,by就是在某個組內執(zhí)行后面的命令。比如by year: gen return=mean(dayreturn),意思就是在每一年的數(shù)據(jù)里,gen一個return變量,將這一年內所有的dayreturn(日收益率)求平均后賦值給return即當年平均日收益率。而bysort就相當于先sort 再by。 [_n]:這個要單獨講一下,因為我個人覺得很好用。[_n]是一個計數(shù)變量,比如gen n=[_n]就是建立了一個自然數(shù)列,用到這個變量是
6、因為在經濟統(tǒng)計的時候,尤其是統(tǒng)計周數(shù)據(jù)、月數(shù)據(jù)、年數(shù)據(jù)時,由于我們的數(shù)據(jù)是日數(shù)據(jù)得到的,因此在每一組(比如計算月平均收益率blabla)時統(tǒng)計完之后,會發(fā)現(xiàn)在每一個組內有很多個相同的數(shù)據(jù),因此用一個dropif monthreturn[_n]==monthreturn[_n-1]就可以只保留每一組的第一個數(shù)據(jù),之后的處理會節(jié)省時間。(補充一句,如果你還需要原來的data的話一定記得另外保存) drop:處理數(shù)據(jù)的過程中,一些過程變量就可以drop掉節(jié)省時間了。 save:記得寫完了一定要保存??! 2、回歸統(tǒng)計 sum:對統(tǒng)計量的最基本統(tǒng)計性質報告,直接敲sum加空格加某
7、個變量就行。會報告均值、最大最小、標準差等最基本的信息。 tab:按照百分比對這個變量的取值統(tǒng)計。(就是相當于餅狀圖的表格) reg:最簡單的回歸命令。直接敲reg y x1 x2就相當于y對x1x2的回歸,回歸結果會報告的比較詳細,包括coefficient、constant、t值、p值、F值、SSR等等。 以下的xtreg/ivreg2/tsset分別針對的面板數(shù)據(jù)、兩階段最小二乘、時間序列,寫起來太多,如果有小伙伴想看的話,可以再單獨寫一章。 xtset/xtreg:面板數(shù)據(jù)處理的命令,需要先進行xtset才能用xtreg的命令。 tsset:時間序列數(shù)據(jù)處
8、理的命令。 ivreg2:兩階段最小二乘的命令。(不過在使用之前需要先install一下安裝包才可以用,也是先help ivreg2然后找到安裝包就可以用) 3、我最喜歡用的命令… count與tag: count顧名思義,就是數(shù)個數(shù),這個有時候在數(shù)據(jù)里非常好用,尤其是在分組的情況下。舉一個實際情況中遇到的栗子,比如我要統(tǒng)計某只股票在每個月內有多少個交易日,那我在月的分組下,用下count函數(shù),就能數(shù)出來某個組內的個數(shù)。 Tag是另一個函數(shù),我個人理解的與count區(qū)別在于:count是數(shù)有幾個,tag是數(shù)有幾類。舉個栗子,比如在某個組內,有1個10,2個20,那么
9、用count數(shù)出來就是3,因為一共有3個數(shù)據(jù);用tag數(shù)出來就是2,因為只有10和20這兩個數(shù)值。 (轉自人大論壇) 調整變量格式: format x1 %10.3f ——將x1的列寬固定為10,小數(shù)點后取三位 format x1 %10.3g ——將x1的列寬固定為10,有效數(shù)字取三位 format x1 %10.3e ——將x1的列寬固定為10,采用科學計數(shù)法 format x1 %10.3fc ——將x1的列寬固定為10,小數(shù)點后取三位,加入千分位分隔符 format x1 %10.3gc ——將x1的列寬固定為10,有效數(shù)字取三位,加入千分位分隔符 form
10、at x1 %-10.3gc ——將x1的列寬固定為10,有效數(shù)字取三位,加入千分位分隔符,加入“-”表示左對齊 合并數(shù)據(jù): use "C:\Documents and Settings\xks\桌面\2006.dta", clear merge using "C:\Documents and Settings\xks\桌面\1999.dta" ——將1999和2006的數(shù)據(jù)按照樣本(observation)排列的自然順序合并起來 use "C:\Documents and Settings\xks\桌面\2006.dta", clear merge id using "C:\Do
11、cuments and Settings\xks\桌面\1999.dta" ,unique sort ——將1999和2006的數(shù)據(jù)按照唯一的(unique)變量id來合并,在合并時對id進行排序(sort) 建議采用第一種方法。 對樣本進行隨機篩選: sample 50 在觀測案例中隨機選取50%的樣本,其余刪除 sample 50,count 在觀測案例中隨機選取50個樣本,其余刪除 查看與編輯數(shù)據(jù): browse x1 x2 if x3>3 (按所列變量與條件打開數(shù)據(jù)查看器) edit x1 x2 if x3>3 (按所列變量與條件打開數(shù)據(jù)編輯器) 數(shù)據(jù)合并(mer
12、ge)與擴展(append) merge表示樣本量不變,但增加了一些新變量;append表示樣本總量增加了,但變量數(shù)目不變。 one-to-one merge: 數(shù)據(jù)源自stata tutorial中的exampw1和exampw2 第一步:將exampw1按v001~v003這三個編碼排序,并建立臨時數(shù)據(jù)庫tempw1 clear use "t:\statatut\exampw1.dta" su ——summarize的簡寫 sort v001 v002 v003 save tempw1 第二步:對exampw2做同樣的處理 clear use "t:\statatu
13、t\exampw2.dta" su sort v001 v002 v003 save tempw2 第三步:使用tempw1數(shù)據(jù)庫,將其與tempw2合并: clear use tempw1 merge v001 v002 v003 using tempw2 第四步:查看合并后的數(shù)據(jù)狀況: ta _merge ——tabulate _merge的簡寫 su 第五步:清理臨時數(shù)據(jù)庫,并刪除_merge,以免日后合并新變量時出錯 erase tempw1.dta erase tempw2.dta drop _merge 數(shù)據(jù)擴展append: 數(shù)據(jù)源自stata t
14、utorial中的fac19和newfac clear use "t:\statatut\fac19.dta" ta region append using "t:\statatut\newfac" ta region 合并后樣本量增加,但變量數(shù)不變 莖葉圖: stem x1,line(2) (做x1的莖葉圖,每一個十分位的樹莖都被拆分成兩段來顯示,前半段為0~4,后半段為5~9) stem x1,width(2) (做x1的莖葉圖,每一個十分位的樹莖都被拆分成五段來顯示,每個小樹莖的組距為2) stem x1,round(100) (將x1除以100后再做x1的莖葉圖
15、) 直方圖 采用auto數(shù)據(jù)庫 histogram mpg, discrete frequency normal xlabel(1(1)5) (discrete表示變量不連續(xù),frequency表示顯示頻數(shù),normal加入正太分布曲線,xlabel設定x軸,1和5為極端值,(1)為單位) histogram price, fraction norm (fraction表示y軸顯示小數(shù),除了frequency和fraction這兩個選擇之外,該命令可替換為“percent”百分比,和“density”密度;未加上discrete就表示將price當作連續(xù)變量來繪圖) histog
16、ram price, percent by(foreign) (按照變量“foreign”的分類,將不同類樣本的“price”繪制出來,兩個圖分左右排布) histogram mpg, discrete by(foreign, col(1)) (按照變量“foreign”的分類,將不同類樣本的“mpg”繪制出來,兩個圖分上下排布) histogram mpg, discrete percent by(foreign, total) norm (按照變量“foreign”的分類,將不同類樣本的“mpg”繪制出來,同時繪出樣本整體的“總”直方圖) 二變量圖: graph twoway
17、 lfit price weight || scatter price weight (作出price和weight的回歸線圖——“l(fā)fit”,然后與price和weight的散點圖相疊加) twoway scatter price weight,mlabel(make) (做price和weight的散點圖,并在每個點上標注“make”,即廠商的取值) twoway scatter price weight || lfit price weight,by(foreign) (按照變量foreign的分類,分別對不同類樣本的price和weight做散點圖和回歸線圖的疊加,兩圖呈左右
18、分布) twoway scatter price weight || lfit price weight,by(foreign,col(1)) (按照變量foreign的分類,分別對不同類樣本的price和weight做散點圖和回歸線圖的疊加,兩圖呈上下分布) twoway scatter price weight [fweight= displacement],msymbol(oh) (畫出price和weight的散點圖,“msybol(oh)”表示每個點均為中空的圓圈,[fweight= displacement]表示每個點的大小與displacement的取值大小成比例) t
19、woway connected y1 time,yaxis(1) || y2 time,yaxis(2) (畫出y1和y2這兩個變量的時間點線圖,并將它們疊加在一個圖中,左邊“yaxis(1)”為y1的度量,右邊“yaxis(2)”為y2的) twoway line y1 time,yaxis(1) || y2 time,yaxis(2) (與上圖基本相同,就是沒有點,只顯示曲線) graph twoway scatter var1 var4 || scatter var2 var4 || scatter var3 var4 (做三個點圖的疊加) graph twoway line
20、 var1 var4 || line var2 var4 || line var3 var4 (做三個線圖的疊加) graph twoway connected var1 var4 || connected var2 var4 || connected var3 var4 (疊加三個點線相連圖) 更多變量: graph matrix a b c y (畫出一個散點圖矩陣,顯示各變量之間所有可能的兩兩相互散點圖) graph matrix a b c d,half (生成散點圖矩陣,只顯示下半部分的三角形區(qū)域) 用auto數(shù)據(jù)集: graph matrix price mpg
21、 weight length,half by( foreign,total col(1) ) (根據(jù)foreign變量的不同類型繪制price等四個變量的散點圖矩陣,要求繪出總圖,并上下排列】=具) 其他圖形: graph box y,over(x) yline(.22) (對應x的每一個取值構建y的箱型圖,并在y軸的0.22處劃一條水平線) graph bar (mean) y,over(x) 對應x的每一個取值,顯示y的平均數(shù)的條形圖。括號中的“mean”也可換成median、sum、sd、p25、p75等 graph bar a1 a2,over(b) stack (對應
22、在b的每一個取值,顯示a1和a2的條形圖,a1和a2是疊放成一根條形柱。若不寫入“stack”,則a1和a2顯示為兩個并排的條形柱) graph dot (median)y,over(x) (畫點圖,沿著水平刻度,在x的每一個取值水平所對應的y的中位數(shù)上打點) qnorm x (畫出一幅分位-正態(tài)標繪圖) rchart a1 a2 a2 (畫出質量控制R圖,顯示a1到a3的取值范圍) 簡單統(tǒng)計量的計算: ameans x (計算變量x的算術平均值、幾何平均值和簡單調和平均值,均顯示樣本量和置信區(qū)間) mean var1 [pweight = var2] (求取分組數(shù)據(jù)
23、的平均值和標準誤,var1為各組的賦值,var2為每組的頻數(shù)) summarize y x1 x2,detail (可以獲得各個變量的百分比數(shù)、最大最小值、樣本量、平均數(shù)、標準差、方差、峰度、偏度) ***注意*** stata中summarize所計算出來的峰度skewness和偏度kurtosis有問題,與ECELL和SPSS有較大差異,建議不采用stata的結果。 summarize var1 [aweight = var2], detail (求取分組數(shù)據(jù)的統(tǒng)計量,var1為各組的賦值,var2為每組的頻數(shù)) tabstat X1,stats(mean n q max m
24、in sd var cv) (計算變量X1的算術平均值、樣本量、四分位線、最大最小值、標準差、方差和變異系數(shù)) 概率分布的計算: (1)貝努利概率分布測試: webuse quick bitest quick==0.3,detail (假設每次得到成功案例‘1’的概率等于0.3,計算在變量quick所顯示的二項分布情況下,各種累計概率和單個概率是多少) bitesti 10,3,0.5,detail (計算當每次成功的概率為0.5時,十次抽樣中抽到三次成功案例的概率:低于或高于三次成功的累計概率和恰好三次成功概率) (2)泊松分布概率: display poisson(7,
25、6) .44971106 (計算均值為7,成功案例小于等于6個的泊松概率) display poissonp(7,6) .14900278 (計算均值為7,成功案例恰好等于6個的泊松概率) display poissontail(7,6) .69929172 (計算均值為7,成功案例大于等于6個的泊松概率) (3)超幾何分布概率: display hypergeometricp(10,3,4,2) .3 (計算在樣本總量為10,成功案例為3的樣本總體中,不重置地抽取4個樣本,其中恰好有2個為成功案例的概率) display hypergeometric(10,3,4,
26、2) .96666667 (計算在樣本總量為10,成功案例為3的樣本總體中,不重置地抽取4個樣本,其中有小于或等于2個為成功案例的概率) 檢驗極端值的步驟: 常見命令:tabulate、stem、codebook、summarize、list、histogram、graph box、gragh matrix step1.用codebook、summarize、histogram、graph boxs、graph matrix、stem看檢驗數(shù)據(jù)的總體情況: codebook y x1 x2 summarize y x1 x2,detail histogram x1,norm(正
27、態(tài)直方圖) graph box x1(箱圖) graph matrix y x1 x2,half(畫出各個變量的兩兩x-y圖) stem x1(做x1的莖葉圖) 可以看出數(shù)據(jù)分布狀況,尤其是最大、最小值 step2.用tabulate、list細致尋找極端值 tabulate code if x1==極端值(作出x1等于極端值時code的頻數(shù)分布表,code表示地區(qū)、年份等序列變量,這樣便可找出那些地區(qū)的數(shù)值出現(xiàn)了錯誤) list code if x1==極端值(直接列出x1等于極端值時code的值,當x1的錯誤過多時,不建議使用該命令) list in -20/l(l表示la
28、st one,-20表示倒數(shù)第20個樣本,該命令列出了從倒數(shù)第20個到倒數(shù)第一個樣本的各變量值) step3.用replace命令替換極端值 replace x1=? if x1==極端值 去除極端值: keep if y<1000 drop if y>1000 對數(shù)據(jù)排序: sort x gsort +x (對數(shù)據(jù)按x進行升序排列) gsort -x (對數(shù)據(jù)按x進行降序排列) gsort -x, generate(id) mfirst (對數(shù)據(jù)按x進行降序排列,缺失值排最前,生成反映位次的變量id) 對變量進行排序: order y x3 x1 x2 (將變
29、量按照y、x3、x1、x2的順序排列) 生成新變量: gen logx1=log(x1)(得出x1的對數(shù)) gen x1`=exp(logx1)(將logx1反對數(shù)化) gen r61_100=1 if rank>=61&rank<=100(若rank在61與100之間,則新變量r61_100的取值為1,其他為缺失值) replace r61_100 if r61_100!=1(“!=”表示不等于,若r61_100取值不為1,則將r61_100替換為0,就是將上式中的缺失值替換為0) gen abs(x)(取x的絕對值) gen ceil(x)(取大于或等于x的最小整數(shù)) ge
30、n trunc(x)(取x的整數(shù)部分) gen round(x)(對x進行四舍五入) gen round(x,y)(以y為單位,對x進行四舍五入) gen sqrt(x)(取x的平方根) gen mod(x,y)(取x/y的余數(shù)) gen reldif(x,y)(取x與y的相對差異,即|x-y|/(|y|+1)) gen logit(x)(取ln[x/(1-x)]) gen x=autocode(x,n,xmin,xmax)(將x的值域,即xmax-xmin,分為等距的n份) gen x=cond(x1>x2,x1,x2)(若x1>x2成立,則取x1,若x1>x2不成立,則取x
31、2) sort x gen gx=group(n)(將經過排序的變量x分為盡量等規(guī)模的n個組) egen zx1=std(x1)(得出x1的標準值,就是用(x1-avgx1)/sdx1) egen zx1=std(x1),m(0) s(1)(得出x1的標準分,標準分的平均值為0,標準差為1) egen sdx1=sd(x1)(得出x1的標準差) egen meanx1=mean(x1)(得出x1的平均值) egen maxx1=max(x1)(最大值) egen minx1=min(x1)(最小值) egen medx1=med(x1)(中數(shù)) egen modex1=mo
32、de(x1)(眾數(shù)) egen totalx1=total(x1)(得出x1的總數(shù)) egen rowsd=sd(x1 x2 x3)(得出x1、x2和x3聯(lián)合的標準差) egen rowmean=mean(x1 x2 x3)(得出x1、x2和x3聯(lián)合的平均值) egen rowmax=max(x1 x2 x3)(聯(lián)合最大值) egen rowmin=min(x1 x2 x3)(聯(lián)合最小值) egen rowmed=med(x1 x2 x3)(聯(lián)合中數(shù)) egen rowmode=mode(x1 x2 x3) (聯(lián)合眾數(shù)) egen rowtotal=total(x1 x2 x3
33、)(聯(lián)合總數(shù)) egen xrank=rank(x)(在不改變變量x各個值排序的情況下,獲得反映x值大小排序的xrank) 數(shù)據(jù)計算器display命令: display x[12](顯示x的第十二個觀察值) display chi2(n,x)(自由度為n的累計卡方分布) display chi2tail(n,x)(自由度為n的反向累計卡方分布,chi2tail(n,x)=1-chi2(n,x)) display invchi2(n,p)(卡方分布的逆運算,若chi2(n,x)=p,那么invchi2(n,p)=x) display invchi2tail(n,p)(chi2ta
34、il的逆運算) display F(n1,n2,f)(分子、分母自由度分別為n1和n2的累計F分布) display Ftail(n1,n2,f)(分子、分母自由度分別為n1和n2的反向累計F分布) display invF(n1,n2,P)(F分布的逆運算,若F(n1,n2,f)=p,那么invF(n1,n2,p)=f) display invFtail(n1,n2,p)(Ftail的逆運算) display tden(n,t)(自由度為n的t分布) display ttail(n,t)(自由度為n的反向累計t分布) display invttail(n,p)(ttail的逆運
35、算) 給數(shù)據(jù)庫和變量做標記: label data "~~~"(對現(xiàn)用的數(shù)據(jù)庫做標記,"~~~"就是標記,可自行填寫) label variable x "~~~"(對變量x做標記) label values x label1(賦予變量x一組標簽:label1) label define label1 1 "a1" 2 "a2"(定義標簽的具體內容:當x=1時,標記為a1,當x=2時,標記為a2) 頻數(shù)表: tabulate x1,sort tab1 x1-x7,sort(做x1到x7的頻數(shù)表,并按照頻數(shù)以降序顯示行) table c1,c(n x1 mean x1 sd
36、 x1)(在分類變量c1的不同水平上列出x1的樣本量和平均值) 二維交互表: auto數(shù)據(jù)庫: table rep78 foreign, c(n mpg mean mpg sd mpg median mpg) center row col (rep78,foreign均為分類變量,rep78為行變量,foreign為列變量,center表示結果顯示在單元格中間,row表示計算行變量整體的統(tǒng)計量,col表示計算列變量整體的統(tǒng)計量) tabulate x1 x2,all (做x1和x2的二維交互表,要求顯示獨立性檢驗chi2、似然比卡方獨立性檢驗lrchi2、對定序變量適用的等級相關系
37、數(shù)gamma和taub、以及對名義變量適用的V) tabulate x1 x2,column chi2(做x1和x2的二維交互表,要求顯示列百分比和行變量和列變量的獨立性檢驗——零假設為變量之間獨立無統(tǒng)計關系) tab2 x1-x7,all nofreq(對x1到x7這七個變量兩兩地做二維交互表,不顯示頻數(shù):nofreq) 三維交互表: by x3,sort:tabulate x1 x2,nofreq col chi2(同時進行x3的每一個取值內的x1和x2的二維交互表,不顯示頻數(shù)、顯示列百分比和獨立性檢驗) 四維交互表: table x1 x2 x3,c(ferq mean x1
38、 mean x2 mean x3) by(x4) tabstat X1 X2,by(X3) stats(mean n q max min sd var cv) col(stats) tabstat X1 X2,by(X3) stats(mean range q sd var cv p5 p95 median),[aw=X4](以X4為權重求X1、X2的均值,標準差、方差等) ttest X1=1 count if X1==0 count if X1>=0 gen X2=1 if X1>=0 corr x1 x2 x3(做x1、x2、x3的相關系數(shù)表) swilk x1 x2
39、 x3(用Shapiro-Wilk W test對x1、x2、x3進行正太性分析) sktest x1 x2 x3(對x1、x2、x3進行正太性分析,可以求出峰度和偏度) ttest x1=x2(對x1、x2的均值是否相等進行T檢驗) ttest x1,by(x2) unequal(按x2的分組方式對x1進行T檢驗,假設方差不齊性) sdtest x1=x2(方差齊性檢驗) sdtest x1,by(x2)(按x2的分組方式對x1進行方差齊性檢驗) 聚類分析: cluster kmeans y x1 x2 x3, k(3) ——依據(jù)y、x1、x2、x3,將樣本分為n類,聚類
40、的核為隨機選取 cluster kmeans y x1 x2 x3, k(3) measure(L1) start(everykth) —— "start"用于確定聚類的核,"everykth"表示將通過構造三組樣本獲得聚類核:構造方法為將樣本id為1、1+3、1+32、 1+33……分為一組、將樣本id為2、2+3、2+32、2+33……分為第二組,以此類推,將這三組的均值作為聚類的核;"measure"用 于計算相似性和相異性的方法,"L1"表示采用歐式距離的絕對值,也直接可采用歐式距離(L2)和歐式距離的平方(L2squared)。PS:這個方法 所得的結果與SPSS所得結果相同。
41、 sort c1 c2(對c1和c2兩個分類變量排序) by c1 c2:reg y x1 x2 x3(在c1、c2的各個水平上分別進行回歸) bysort c1 c2:reg y x1 x2 x3 if c3=1(逗號前面相當于將上面兩步驟合一,既排序又回歸,逗號后面的“if c3=1”表示只有在c3=1的情況下才進行回歸) stepwise, pr(.2): reg y x1 x2 x3(使用Backward selection,去除P值大于0.2時變量) stepwise, pe(.2): reg y x1 x2 x3(使用forward selection,去除P值小于0.
42、2時變量) stepwise, pr(.2) pe(.01):reg y x1 x2 x3(使用backward-stepwise selection,取P值在0.01和0.2之間的變量) stepwise, pe(.2) forward: reg y x1 x2 x3(使用forward-stepwise selection) reg y x1 x2 x3 predict Yhat,xb predict u,resid predict ustd,stdr(獲得殘差的標準誤) predict std,stdp(獲得y估計值的標準誤) predict stdf,stdf(獲得y預
43、測值的標準誤) predict e,e(1,12)(獲得y在1到12之間的估計值) predict p,pr(1,12)(獲得y在1到12之間的概率) predict rstu,rstudent(獲得student的t值) predict lerg,leverage(獲得杠桿值) predict ckd,cooksd(獲得cooksd) reg y x1 x2 x3 c1 c2 adjust x1 x2 x3,se(使得變量x1、x2和x3等于其均值,求y的預測值和標準誤) adjust x1 x2 x3,stdf ci(使得變量x1、x2和x3等于其均值,求y的預測值,預測標
44、準誤和置信區(qū)間) adjust x1 x2,by(c1) se ci(控制變量x1、x2,亦即取它們的均值,在分類變量c1的不同水平上求y預測值,標準誤和置信區(qū)間) adjust x1 x2 x3,by(c1) stdf ci(控制變量x1、x2、x3,亦即取它們的均值,在分類變量c1的不同水平上求y預測值,預測標準誤和置信區(qū)間) adjust x1 x2,by(c1 c2) se ci(控制變量x1、x2,在分類變量c1、c2的不同水平上求y的預測值,標準誤和置信區(qū)間) adjust x1 x2 x3,by(c1 c2) stdf ci(控制變量x1、x2、x3,在分類變量c1、c2
45、的不同水平上求y的預測值,預測標準誤和置信區(qū)間) adjust x1=a x2=b x3=c,se ci(當x1=a、x2=b、x3=c時,求y的預測值、標準誤和置信區(qū)間) adjust x1=a x2=b x3=c,by(c1) se ci(當x1=a、x2=b、x3=c時,在分類變量c1的不同水平上,求y的預測值、標準誤和置信區(qū)間) adjust x1=a x2=b c1=1,by(c1) se ci(當x1=a、x2=b,并假設所有的樣本均為c1=1,求在分類變量c1的不同水平上,因為變量x3的均值不同,而導致的y的不同的預測值……) mvreg Y1 Y2 ……: X1 X2
46、X3……(多元回歸) mvreg y1 y2 y3: x1 x3 x3(多元回歸分析,y1 y2 y3為因變量,x1 x3 x3為自變量) 以下命令只有在進行了mvreg之后才能進行 test [y1](測試對y1的回歸系數(shù)聯(lián)合為0) test [y1]: x1 x2(測試對y1的回歸中x1、x2的系數(shù)為0) test x1 x2 x3(測試在所有的回歸中,x1、x2、x3的系數(shù)均為0) test [y1=y2](對y1的回歸和對y2的回歸系數(shù)相等) test [y1=y2]: x1 x2 x3, mtest(對y1和y2的回歸中,分別測試x1、x2、x3的系數(shù)是否相等,若沒有m
47、test這個命令,則測試他們的聯(lián)和統(tǒng)計) test [y1=y2=y3](三個回歸的系數(shù)是否相等,可加mtest以分別測試) test [y1=y2=y3]: x1 x2 (測試三個回歸中的x1、x2是否相等,可加mtest) est命令的用法: (1)儲存回歸結果: reg y x1 x2 x3(不限于reg,也可儲存ivreg、mvreg、reg3) est store A (2)重現(xiàn)回歸結果: est replay A (3)對回歸結果進行進一步分析 est for A:sum(對A回歸結果中的各個變量運行sum命令) 異方差問題: 獲得穩(wěn)健性標準誤 reg y
48、 x1 x2 x3 if c1==1(當分類變量c1=1時,進行y和諸x的回歸) reg y x1 x2 x3,robust(回歸后顯示各個自變量的異方差-穩(wěn)健性標準誤) estat vif(回歸之后獲得VIF) estat hettest,mtest(異方差檢驗) 異方差檢驗的套路: (1)Breusch-pagan法: reg y x1 x2 x3 predict u,resid gen usq=u^2 reg usq x1 x2 x3 求F值 display R/(1-R)*n2/n1(n1表示分子除數(shù),n2表示分母除數(shù)) display Ftail(……) 求
49、LM值 display R*n(n表示總樣本量) display chi2tail(……) (2)white法: reg y x1 x2 x3 predict u,resid gen usq=u^2 predict y gen ysq=y^2 reg usq y ysq 求F值 display R/(1-R)*n2/n1(n1表示分子除數(shù),n2表示分母除數(shù)) display Ftail(……) 求LM值 display R*n(n表示總樣本量) display chi2tail(……) (3)必要補充 F值和LM值轉換為P值的命令: display Ftai
50、l(n1,n2,a)(利用F值求p值,n1表示分子除數(shù),n2表示分母除數(shù),a為F值) display chi2tail(n3,b)(利用LM值求p值,n3表示自由度的損失量,一般等于n1,b為LM值) 異方差的糾正——WLS(weighted least square estimator) (1)基本思路: reg y x1 x2 x3 [aw=x1](將x1作為異方差的來源,對方程進行修正) 上式相當于: reg y/(x1^0.5) 1/(x1^0.5) x1/(x1^0.5) x2/(x1^0.5) x3/(x1^0.5),noconstant (2)糾正異方差的常用套路(
51、構造h值) reg y x1 x2 x3 predict u,resid gen usq=u^2 gen logusq=log(usq) reg logusq x1 x2 x3 predict g gen h=exp(g) reg y x1 x2 x3 [aw=1/h] 異方差hausman檢驗: reg y x1 x2 x3 est store A(將上述回歸結果儲存到A中) reg y x1 x2 x3 [aw=1/h] est store B hausman A B 當因變量為對數(shù)形式時(log(y))如何預測y reg logy x1 x2 x3 pr
52、edict k gen m=exp(k) reg y m,noconstant m的系數(shù)為i y的預測值=iexp(k) 方差分析: 一元方差分析 anova y g1 / g1|g2 /(g*表示不同分類變量,計算g1和交互項/ g1|g2 /這兩種分類的y值是否存在組內差異) anova y d1 d2 d1*d2(d*表示虛擬變量,計算d1、d2和d1*d2的這三種分類的y值是否有組內差異) anova y d1 d2 x1 d2*x1, continuous(x1)(x*表示連續(xù)的控制變量) 多元方差分析 webuse jaw manova y1 y2 y3
53、 = gender fracture gender*fracture(按性別、是否骨折及二者的交互項對y1、y2和y3進行方差分析) manova y1 = gender fracture gender*fracture(相當于一元方差分析,以y1為因變量) ———————————— webuse nobetween gen mycons = 1 manova test1 test2 test3 = mycons, noconstant mat c = (1,0,-1 \ 0,1,-1) manovatest mycons, ytransform(c) 進行多元回歸的方法:
54、多元回歸分析:(與mvreg相同) foreach vname in y1 y2 y3 { (確定y變量組vname) reg `vname x1 x2 x3 (將y變量組中的各個變量與諸x變量進行回歸分析,注意vname的標點符號) } 上式等價于: mvreg y1 y2 y3 = x1 x2 x3 reg3命令: (1)簡單用法: reg3 (y1 = x1 x2 x3) (y2 = x1 x3 x4) (y3 = x1 x2 x5) 測試y1 coefs = 0 test [y1] 測試不同回歸中相同變量的系數(shù): test [y1=y2=y3], commo
55、n test ([y1=y2]) ([y1=y3]), common constant(constant表示包含截距項) (2)用reg3進行2SLS reg3 (y1 = y2 x1 x2) (y2 = y1 x4),2sls (2)用reg3進行OLS reg3 (y1 = y2 x1 x2) (y2 = y1 x4),ols 對兩個回歸結果進行hausman檢驗: reg3 (y1=x1 x2 x3)(y2=y1 x4),2sls est store twosls reg3 (y1=x1 x2 x3)(y2=y1 x4),ols est store ols haus
56、man twosls ols,equations(1:1)(對兩次回歸中的方程1,即“y1=x1 x2 x3”進行hausman檢驗) hausman twosls ols,equations(2:2)(對兩次回歸中的方程2,即“y2=y1 x4”進行hausman檢驗) hausman twosls ols,alleqs(對所有方程一起進行檢驗) 檢驗忽略變量(模型的RESET): reg y x1 x2 x3 estat ovtest 滯后變量的制取 對變量y滯后一期: gen y_l1=y[_n-1] 滯后兩期: gen y_l2=y[_n-2] 以此類推。 制取
57、樣本序號: gen id=_n 獲得樣本總量: gen id=_N 時間序列回歸: 回歸元嚴格外生時AR(1)序列相關的檢驗 reg y x1 x2 predict u,resid gen u_1=u[_n-1] reg u u_1,noconstant 回歸之后,u_1的序數(shù)如果不異于零,則該序列不相關 用Durbin-Watson Statistics檢驗序列相關: tsset year @(對時間序列回歸中代表時間的變量進行定義)@ reg y x1 x2 dwstat @(求出時間序列回歸的DW值)@ durbina @(對該回歸是否具有序列相關進行檢
58、驗,H0為無序列相關,可根據(jù)chi2值求出P值)@ durbina,small @(small可以根據(jù)F值求出P值,以代替chi2值)@ durbina,force @(讓檢驗能在robust、neway之后進行)@ durbina,small lag(1/10) @(lag可以求出更高階滯后的序列相關,如本例中可求出1到10階的序列相關)@ durbina,robust lag(1/10) @(robust可進行異方差—穩(wěn)健性回歸,避免未知形式的異方差)@ bgodfrey @(利用Breusch-Godfrey test求出高階序列相關)@ bgodfrey,small lag
59、(1/10) 數(shù)據(jù)調查:survey data 源數(shù)據(jù):dataset文件夾中的svydata 步驟: 1、定義survey data svyset psuid [pweight=finalwgt], strata(stratid) ——定義primary sampling unit為psuid??赡苁菧y試的編號,1or2 ——定義pweight為finalwgt ——定義stratum identifer為stratid。可能是測試中被試的編號,1to31 2、生成male gen male= (sex==1) if !missing(sex) ——當sex不缺失且等于
60、1時,male=sex 3、生成行變量為highbp,列變量為sizplace的表格 svy, subpop(male): tabulate highbp sizplace, col obs pearson lr null wald ——subpop規(guī)定了以male為數(shù)據(jù)調查的范圍 ——tabulate highbp sizplace表示繪制行變量為highbp,列變量為sizplace的表格 ——col表示每一列的加總為100%,row表示每一行的加總為100%,cell表示橫縱所有單元格的加總為100% ——obs表示列出每個單元格的樣本量,se表示列出每個單元格的標準誤,ci
61、表示列出每個單元格的置信區(qū)間 ——pearson表示求取pearsons chi-squired,皮爾遜的卡方檢定 ——lr表示求取likelihood ratio ——null表示求取null-based statistics ——wald表示求取adjusted wald,llwald表示求取adjusted log-linear Wald,noadjust表示求取unadjusted Wald statistics 4、svy:mean x1 x2 x3 ——對x1、x2、x3求取mean、se和ci 5、簡單的tabulate twoway(不用svyset就可執(zhí)行)
62、tab2 y x,col chi2 exact lr ——col、cell、row等均可換用,chi2指的是Pearsons chi-squared、exact指的是fisher exact test、lr指的是likelihood-ratio chi-squared 6、svy的其他用法: svy:reg y x 建立人工數(shù)據(jù)集: 創(chuàng)建一個包含從獨立標準正態(tài)分布中抽取的2000個觀察案例和三個隨機Z1、Z2、Z3,并分別定義他們的平均值和標準差。 matrix m=(0,2,3) ——定義三個變量的平均值 matrix sd=(1,.5,2) ——定義三個變量的標準差 dra
63、wnorm z1 z2 z3,n(2000) means(m) sds(sd) ——創(chuàng)建樣本量為2000,均值和標準差符合上面定義的數(shù)據(jù)集 補充:除了定義均值和標準差之外,還可定義相關矩陣和協(xié)方差矩陣等。 logit回歸 logit y x1 x2 x3 ——y必須為二分變量 glogit outcomedata populationdata x1 x2 x3 ——outcomedata為目標樣本總量,populationdata為觀測樣本總量,outcomedata/populationdata的值便是一個概率,相當于logit命令中的y 面板數(shù)據(jù)(Panel Data) 1
64、、基本套路: xtreg y x1 x2,re est store re xtreg y x1 x2,fe est store fe hausman re fe ——如果hausman檢驗的結果為顯著,則采用固定效應(fe)模型,不顯著,則選取隨機效應(re)模型 2、隨機效應的檢驗: xtreg y x1 x2,re xttest0 xttest1 ——xttest1是xttest0的擴展,若這xttest0的結果為顯著,則采用隨機效應(re)模型 xttest1的假設是沒有隨機效應和/或沒有序列相關,它的七個結果分別表示: 1) LM Test for random effects, assuming no serial correlation (假設沒有序列相關情況下對隨機效應進行LM檢驗) 2) Adjusted LM test for random effects, which works even under serial correlation (假設有序列相關的情況下對隨機LM檢驗) 3) One sided version of the LM test for random effects (假設沒有序列相關的情況下對隨機效應進行單邊檢驗) 4) One sided versio
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。