我的專業方向在寫論文的時候用的大都是省級或者地級市的經濟數據,一般這些數據都是從年鑒、國民經濟社會發展統計公報、各類統計年報或者政府網站上獲取,但是總會遇到統計不全導致的數據缺失問題。比如環境污染相關指標、專利申請授權數等,對于這些缺失數據,我的補齊方法一般是以下幾種:
一、合并不同來源的數據
- 結合幾個不同的數據來源,選取數據的并集。對于重復數據優先選擇來源較為權威的數據,或者結合前后年份和變化趨勢選擇較為合理的一個。
- 找數據真的很艱難,經常找著找著心態就崩潰了,但這是做經濟實證中勢必要面對的問題。作為一個學生,自己的文章要自己動手去找數據,為了得到較為準確的結果、為了這批數據以后的可重復使用性,每一個數據的準確性都要讓自己安心。
二、簡單計算
- 如果幾個指標之間有明確的計算關系(比如:第二產業產值、地區生產總值、第二產業產值占地區生產總值比重),任何一個缺失都可以用另外兩個計算補齊。
- 如果公報中連續統計了幾年的地區生產總值,后來突然改為統計人均地區生產總值,同時報告了人口數據。可以驗證一下地區生產總值(是否大致)=人均地區生產總值×人口。一般來說數值會有出入,但當數據實在找不到時,不要嫌麻煩,可以作為一種補齊的參考。
- 建議將原始數據(含有缺失值的數據)保存一下,補齊后的數據另存。因為補齊的方式有好多種,如果實證結果不理想,想從補齊數據開始重做,這樣會比較方便。
三、取中間值
- 該方法適合于:某項指標下,前后年份均有數值,中間年份缺失。
-
用線性插值法補齊(年份距離比較近,可以將其變化近似看作線性以簡化計算)。比如圖1的專利缺失數據可以取均值,然后取整數。
圖1.png
四、類似樣本填補
- 找該指標數據類似的其他地級市來對缺失個體進行補齊。
- 假設想要補齊的原始數據為“地級市2002-2016年的專利申請授權數”,比較該指標下的非缺失值序列,選擇非缺失年份下專利申請授權數大致相同或者有趨勢關系的地級市,用它的數據直接填補或者作簡單的倍數計算填補缺失的數據。
- 有時會找經濟發展類似的其它地級市的數據進行填充,基于經濟發展與專利申請授權數具有正向線性關系的假設(不太嚴謹)。如果用基于該假設補齊的數據做“經濟發展與專利授權數關系”的研究,就是不合理的。
- 假設某個地市級的2002-2016年專利申請數據幾乎全部缺失,此時無法使用專利申請數來選取相似個體,可以用與“專利申請數”相關的其它經濟變量(比如地區生產總值)作為標準,選取相似個體填補整行數據。
五、函數法
該方法一般適用于:單側缺失(一般是較早年份缺失,最近年份的數據一般比較齊全)。
-
線性函數(excel里trend函數)。
圖2.png
- 圖2的 trend函數假定經濟數據與時間存在相關關系(專利數據要取整)。構建函數時候應選擇與缺失數據鄰近年份的數據(認為經濟數據的相關關系在時間上具有衰減性)。
-
非線性函數(excel散點圖,加入非線性趨勢線,根據公式計算缺失數據)。圖3-圖5以填補專利數據為例。
圖3
圖4
圖5
圖6
- 問題
1.選取哪些年份的數據構建函數?
選取不同時間區間計算出來的函數不同,計算的缺失值也會不同,可能要多試幾次。
2.按理說這種統計方法計算的缺失值可靠性要高一些,但是實際中發現這種方式計算出來的缺失值不符合變化趨勢,甚至會出現負值。
3.以上缺失值處理都是在excel中完成的,手動操作、效率比較低。
六、插值法(Matlab)
有位老師告訴我三次樣條插值的方法,計算出來的缺失值較為平滑,結果可能相對合理。去查了一下matlab可以實現,不過只能下次處理數據的時候再實際操作了。
Matlab插值函數為interp1,其調用格式為: yi= interp1(x,y,xi,'method')
其中x,y為插值點,yi為在被插值點xi處的插值結果;x,y為向量, 'method'表示采用的插值方法,MATLAB提供的插值方法有幾種: 'method'是最鄰近插值, 'linear'線性插值; 'spline'三次樣條插值; 'cubic'立方插值。缺省時表示線性插值。
注意:所有的插值方法都要求x是單調的,并且xi不能夠超過x的范圍。
參考來源:http://blog.sciencenet.cn/blog-457143-679275.html