本人準(zhǔn)大四生,之前為了完成發(fā)展經(jīng)濟(jì)學(xué)的論文接觸了一下空間計(jì)量的內(nèi)容,使用的軟件是stata,折騰了好久算是有點(diǎn)心得,想和和我一樣的純新手分享一下。其實(shí)人大論壇這邊還是有一些關(guān)于利用stata做空間計(jì)量的內(nèi)容,本人也參考了不少,以下有參考的都盡可能列出來(lái)。 首先講一講如何利用stata制作分布地圖,本人的課程論文是關(guān)于老齡化的區(qū)域分布,所以上一個(gè)2012年的老齡人口分布圖(省域): 方法參考自http://bbs./thread-3007850-2-1.html 首先要有地圖的數(shù)據(jù),在那個(gè)帖子中介紹了一個(gè)命令:findit china_map; 大致的意思即下載了中國(guó)的地圖數(shù)據(jù),類似的好像還有一個(gè)可以找到世界地圖的數(shù)據(jù),不過(guò)記不清了,輸入這個(gè)命令的過(guò)程有點(diǎn)類似于安裝命令,安裝完之后會(huì)在stata的安裝文件夾中出現(xiàn)一個(gè)china_map.zip的壓縮包,解壓后會(huì)出現(xiàn)兩組數(shù)據(jù),china_label.dta和china_map.dta,都可以打開看一下,前者有省份的標(biāo)識(shí),后者并沒有,然后當(dāng)時(shí)本人使用的是第一個(gè)文件,我們可以看一下里面的數(shù)據(jù): name一欄可能是中文無(wú)法顯示的原因,不過(guò)我們可以根據(jù)英文名來(lái)確定不同的省份。然后這里的原理本人也并不是非常清楚,只介紹本人是怎么做的。我們可以發(fā)現(xiàn)一個(gè)省份可能對(duì)應(yīng)若干行,所以在這里做的事就是將我們的數(shù)據(jù)對(duì)應(yīng)填進(jìn)這個(gè)stata數(shù)據(jù)里,這會(huì)花掉一點(diǎn)時(shí)間,不過(guò)在excel里整理起來(lái)還是比較快的。在這里如果我們使用的是面板數(shù)據(jù)的話,可以把我們的變量一行一行整理,而不是一個(gè)個(gè),像我就一下子輸入了幾年的數(shù)據(jù),到時(shí)候作圖換個(gè)變量就可以實(shí)現(xiàn)。 給大家截一個(gè)excel整理的圖:(請(qǐng)忽視變量) 數(shù)據(jù)到手,我們還需要一個(gè)命令,相信很多人都知道的一個(gè)spmap的命令,下載安裝:ssc install spmap; 在這里用2012年的數(shù)據(jù)做一個(gè)范例(變量名我加了個(gè)a,直接數(shù)字似乎不可行): 輸入命令: spmap a2012 using 'china_map.dta',id(id) 然后我們就可以看到彈出來(lái)的圖了: 我們?cè)谶@里可以進(jìn)行簡(jiǎn)單的編輯,然后在這里還有一個(gè)值得關(guān)注的部分,那就是顏色劃分的范圍,我們可以看到左下角的劃分是自動(dòng)生成的,如果我們想要自定義怎么辦呢?只要我們?cè)谥暗拿钌霞由虾缶Y即可: spmap ? a2012 using 'china_map.dta',id(id) clm(c) clb(0 7 8 9 10 11 16) 參考自:http://bbs./thread-3682168-1-1.html 相信大家能看出這個(gè)后綴是什么意思,以及我們應(yīng)該怎么去定義范圍: 最后再提供一個(gè)比較好的帖子,也是關(guān)于作圖的,當(dāng)然要比我的解說(shuō)專業(yè)得多: http://bbs./thread-3786220-1-1.html; 感覺上畫這個(gè)圖非常ZB,做出的論文老師不置可否,然后說(shuō):你這圖畫的不錯(cuò),我二十年前就開始畫了/(ㄒoㄒ)/~~ 畫完了圖,我們接下來(lái)就開始正式進(jìn)入空間計(jì)量部分,一般情況下,我們都會(huì)先接觸一個(gè)Moran's I指數(shù),或者叫莫蘭指數(shù),這是一個(gè)衡量空間自相關(guān)的變量,如果沒有空間上的相關(guān)性,那么我們做空間計(jì)量也就沒有意義了。而為了計(jì)算莫蘭指數(shù),乃至為了之后的空間計(jì)量模型部分,我們都需要一個(gè)空間權(quán)重矩陣W; 關(guān)于空間權(quán)重矩陣部分,主要有兩種計(jì)算的方式:一、以相鄰為1,不相鄰為0;二、以距離小于固定值的為1,距離大于固定值的為0;由于本人使用的數(shù)據(jù)是省域,于是恬不知恥地直接找了一個(gè)論壇里分享的矩陣完事,計(jì)算方法是第一種,附件中會(huì)分享;而如果是縣域或者其他空間分布的矩陣的話,本人并沒有嘗試過(guò),但是有一個(gè)和我一起嘗試做空間計(jì)量的同學(xué)倒是折騰過(guò),折騰了很久,最后還是以失敗告終,所以在這里就不誤人子弟了,僅提供一個(gè)相對(duì)詳細(xì)的帖子作參考:http://bbs./thread-2588556-1-1.html; 于是我們有了矩陣(說(shuō)得好像真的有了一樣(#‵′)凸),關(guān)于矩陣的形式,以我的數(shù)據(jù)為例,就是31×31的一個(gè)矩陣,我們需要將其變?yōu)閐ta數(shù)據(jù),其實(shí)貼進(jìn)stata,然后另存為就可以,例如我們?nèi)∶麨閃.dta。 然后我們就需要空間計(jì)量的命令了,在這里推薦一組spat開頭的系列命令: (截圖來(lái)自陳強(qiáng)的高級(jí)計(jì)量經(jīng)濟(jì)學(xué)及stata應(yīng)用第二版,這本書有一章就在講空間計(jì)量,后期摸索我主要就靠這本書,由于論壇好像已經(jīng)有這本書的分享,而且是收費(fèi)的,我也不好全部免費(fèi)發(fā)上來(lái),僅免費(fèi)提供空間計(jì)量一章) 在調(diào)用命令之前我們需要將W.dta放到我們的安裝文件夾里,然后輸入命令:spatwmat using W.dta,name(W); 正常情況下,我們的空間權(quán)重矩陣就存在了,不過(guò)這里可能會(huì)出現(xiàn)問(wèn)題,而出現(xiàn)問(wèn)題的還是我那個(gè)悲催的同學(xué),我的電腦是windows7,然后她是mac,結(jié)果她做到這一步時(shí)發(fā)現(xiàn)無(wú)法調(diào)用W.dta,也就是說(shuō)無(wú)法生成矩陣,雖然的確把W.dta放到安裝文件里了。不過(guò)后來(lái)我們嘗試了一下,發(fā)現(xiàn)一種解決辦法,這一點(diǎn)等一會(huì)兒再講。 對(duì)于像我一樣的新手有一點(diǎn)必須要說(shuō)明的就是權(quán)重矩陣和我們的數(shù)據(jù)應(yīng)該是兩個(gè)文件,而在我們導(dǎo)入矩陣之后,并不會(huì)占用我們stata儲(chǔ)存數(shù)據(jù)的那一塊區(qū)域,所以我們要跑回歸的數(shù)據(jù)甚至是可以直接復(fù)制粘貼進(jìn)去的,其實(shí)本人就是這么干的,我們可以看一下矩陣和數(shù)據(jù)的形式: (注意不要把第一列復(fù)制進(jìn)去) 本人的數(shù)據(jù)是多年份的,所以是這樣的,在這里,我們并不需要一個(gè)ID列,stata會(huì)自動(dòng)默認(rèn),即我的矩陣有31列,這里的數(shù)據(jù)也應(yīng)當(dāng)有31列,于是就會(huì)自動(dòng)對(duì)應(yīng); 之前我們已經(jīng)引入了權(quán)重矩陣,因而接下來(lái)直接輸moran指數(shù)的命令: spatgsa a2012,weights(W) moran //全局莫蘭指數(shù),a2012是我的變量,即2012年的各省老齡化水平,別忘記變量右面有個(gè)逗號(hào),不然會(huì)出錯(cuò),此命令默認(rèn)單尾; spatlsa a2012,weights(W) moran //局部莫蘭指數(shù) spatlsa a2013 ,weight(W) moran graph (moran) symbol(n)//莫蘭散點(diǎn)圖 關(guān)于莫蘭散點(diǎn)圖有一點(diǎn)需要說(shuō)明的就是當(dāng)時(shí)做出的散點(diǎn)圖是黑底的,直接貼到word上非常難看,但是在stata之中卻提醒無(wú)法編輯,搞了很久沒找到解決辦法,后來(lái)機(jī)智的我把黑底圖貼進(jìn)word之后,利用word自帶的對(duì)圖片的編輯功能設(shè)置了黑色為透明色,然后略加調(diào)整,散點(diǎn)圖就已經(jīng)有點(diǎn)像模像樣了。不過(guò)只能說(shuō)奇技淫巧,遇到這個(gè)問(wèn)題又實(shí)在解決不了的可以考慮下。 關(guān)于莫蘭指數(shù)的部分就到此為止了,問(wèn)題并不大,除了我那個(gè)悲催的同學(xué)。我那個(gè)同學(xué)出現(xiàn)的問(wèn)題是無(wú)法調(diào)用數(shù)據(jù)生成權(quán)重矩陣,而我們后來(lái)的解決辦法是把權(quán)重矩陣的數(shù)據(jù)粘貼進(jìn)stata之后,直接生成矩陣:spatwmat ,name(W);剛才試了一下,這個(gè)辦法在我的電腦上并不行,不知道出了什么問(wèn)題,但是我們的確是按照直接生成矩陣的思路來(lái)的,生成矩陣之后再把矩陣數(shù)據(jù)清空,粘貼進(jìn)我們要使用的數(shù)據(jù)即可;這一塊可能有待大神補(bǔ)充; 整體上這塊內(nèi)容在我搞到陳強(qiáng)的那本書之后很快就出來(lái)了,主要是那本書上有個(gè)例子,在附件中我也會(huì)將例子的數(shù)據(jù)附上,大家可以按照那里的思路學(xué)習(xí); 接下來(lái)的部分是空間模型部分,由于我做的是面板的數(shù)據(jù),所以這一部分并沒有完全接觸過(guò),當(dāng)然兩者之間在操作上沒有本質(zhì)的差異,這一塊內(nèi)容大家可以參考陳強(qiáng)的教材,摸索一下,很快就能掌握; 好了,最后就是我的空間面板部分了,事實(shí)上,這部分內(nèi)容在陳強(qiáng)的教材占也有講到,但是但是我照著他的教材操作,仍然出現(xiàn)了一點(diǎn)問(wèn)題(事實(shí)證明,那是我的問(wèn)題,而不是教材的/(ㄒoㄒ)/~~,所以作為經(jīng)驗(yàn)貼我覺得有必要講一下,哪些地方可能會(huì)出現(xiàn)問(wèn)題) 首先下一個(gè)非官方命令xsmle: net install xsmle; 然后第一步仍然是導(dǎo)入矩陣,這一點(diǎn)可以參考之前的操作,陳強(qiáng)的教材中又提供了一條新命令,但就不贅述了,本質(zhì)是一樣的:spatwmat using W.dta,name(W); 然后大家可以照著陳強(qiáng)的內(nèi)容開始操作,我以我自己的命令舉例: spatwmat using shengfenW.dta,name(W) //打開文件后導(dǎo)入矩陣 xtset id 年份//設(shè)定面板 xsmle 老年化率 醫(yī)療機(jī)構(gòu)數(shù) 人均GDP 普通高中學(xué)校數(shù) 在職職工參加養(yǎng)老保險(xiǎn)人數(shù)萬(wàn)人 人口自然增長(zhǎng)率,wmat(W)model(sdm)robust nolog noeffects (本人是stata14,所以支持中文變量名,大家看到中文變量名不要感到奇怪) 然后你就會(huì)喜聞樂(lè)見地發(fā)現(xiàn)出錯(cuò)了,stata會(huì)提醒:initial values not feasible; 哪里出了問(wèn)題呢?其實(shí)是我們?cè)谖覀冞M(jìn)行這一輪操作的時(shí)候,我們導(dǎo)入的矩陣必須是標(biāo)準(zhǔn)化的!不要問(wèn)我為什么,我也只是查來(lái)的/(ㄒoㄒ)/~~ spatwmat using shengfenW.dta,name(W) standardize//打開文件后導(dǎo)入矩陣,標(biāo)準(zhǔn)化以防出現(xiàn)initial values not feasible錯(cuò)誤 xtset id 年份//設(shè)定面板 xsmle 老年化率 醫(yī)療機(jī)構(gòu)數(shù) 人均GDP 普通高中學(xué)校數(shù) 在職職工參加養(yǎng)老保險(xiǎn)人數(shù)萬(wàn)人 人口自然增長(zhǎng)率,wmat(W)model(sdm)robust nolog noeffects 在標(biāo)準(zhǔn)化之后,就不會(huì)再出現(xiàn)錯(cuò)誤提醒了; 具體操作大家都可以參考陳強(qiáng)的教材; 然后大家應(yīng)該知道空間計(jì)量有多個(gè)可選模型,SDM,SAR和SEM,對(duì)于如何選擇模型我不想多說(shuō),因?yàn)槲乙餐耆欢。窃谌齻€(gè)模型的命令上其實(shí)存在一個(gè)非常微小的差別,我們先來(lái)看一看正確的命令: xsmle 老年化率 醫(yī)療機(jī)構(gòu)數(shù) genGDP 普通高中學(xué)校數(shù) 在職職工參加養(yǎng)老保險(xiǎn)人數(shù)萬(wàn)人 人口自然增長(zhǎng)率,wmat(W)model(sdm)robust nolog noeffects xsmle 老年化率 醫(yī)療機(jī)構(gòu)數(shù) genGDP 普通高中學(xué)校數(shù) 在職職工參加養(yǎng)老保險(xiǎn)人數(shù)萬(wàn)人 人口自然增長(zhǎng)率,wmat(W)model(sar)robust nolog noeffects xsmle 老年化率 醫(yī)療機(jī)構(gòu)數(shù) genGDP 普通高中學(xué)校數(shù) 在職職工參加養(yǎng)老保險(xiǎn)人數(shù)萬(wàn)人 人口自然增長(zhǎng)率,emat(W)model(sem)robust nolog noeffects 不知道大家看出差別沒有,關(guān)鍵在于SEM模型在調(diào)用權(quán)重矩陣的命令是:emat,而其他兩個(gè)模型為wmat,關(guān)于這一點(diǎn),我們可以help xsmle查看幫助 如果還是和我一樣直接將括號(hào)里的sdm,sar,sem互換一下的話,就會(huì)出現(xiàn):Specify ematrix() option with SEM model invalid syntax ; 最后再提醒一個(gè)關(guān)于霍斯曼檢驗(yàn)的問(wèn)題,其實(shí)和空間計(jì)量問(wèn)題不大,不過(guò)我當(dāng)時(shí)遇到了就提醒一下; 我們之前在跑回歸的時(shí)候都是默認(rèn)隨機(jī)模型,而且都是穩(wěn)健結(jié)果(robust),但是在霍斯曼檢驗(yàn)時(shí),就需要將(robust)去掉: xsmle 老年化率 醫(yī)療機(jī)構(gòu)數(shù) genGDP 普通高中學(xué)校數(shù) 在職職工參加養(yǎng)老保險(xiǎn)人數(shù)萬(wàn)人 人口自然增長(zhǎng)率,wmat(W)model(sdm) durbin( genGDP 普通高中學(xué)校數(shù) ) nolog noeffects est sto re xsmle 老年化率 醫(yī)療機(jī)構(gòu)數(shù) genGDP 普通高中學(xué)校數(shù) 在職職工參加養(yǎng)老保險(xiǎn)人數(shù)萬(wàn)人 人口自然增長(zhǎng)率,wmat(W)model(sdm) durbin( genGDP 普通高中學(xué)校數(shù) ) nolog noeffects fe est sto fe hausman fe re 如果穩(wěn)?。╮obust)的話,就會(huì)出現(xiàn):hausman cannot be used with vce(robust), vce(cluster cvar), or p-weighted data; 說(shuō)實(shí)話,本人是為了完成那一篇課程論文才接觸的空間計(jì)量,一開始完全處于一臉懵逼的狀態(tài),摸索了許久才算有點(diǎn)成果,不過(guò)也就僅限于這個(gè)帖子里所說(shuō)的啦,所以要是提問(wèn)什么高深的問(wèn)題我也是完全不會(huì)的啊。而這個(gè)帖子呢,也不算什么技術(shù)貼,只能說(shuō)是一個(gè)經(jīng)驗(yàn)貼,相信還是能夠?yàn)槟切┖臀乙粯觿偨佑|空間計(jì)量,啥都不懂的小白一點(diǎn)幫助。 最后說(shuō)明一下附件的情況。 “我的數(shù)據(jù)”里包括三部分,第一部分是一個(gè)31×31的空間權(quán)重矩陣(以相鄰為1,不相鄰為0,然后海南省不與任何一個(gè)省份相鄰);第二部分是1997-2013年的人口老齡化數(shù)據(jù)(65歲以上老齡人口比重);第三部分是自變量和因變量; “陳強(qiáng) 空間計(jì)量部分”是我從陳強(qiáng)的《高級(jí)計(jì)量經(jīng)濟(jì)學(xué)及stata應(yīng)用》的第二版中截取的空間計(jì)量的部分內(nèi)容; 然后附上的數(shù)據(jù)是陳強(qiáng)教材中使用到的四個(gè)數(shù)據(jù),有兩個(gè)不讓我傳,于是打成壓縮包了 壓縮包.zip(25.59 KB) 我的數(shù)據(jù).xlsx(24.58 KB) 陳強(qiáng) 空間計(jì)量部分.pdf(10.03 MB)
|
|
來(lái)自: lyricLee7v7c1q > 《計(jì)量》