黃子洋 黃登一 皮海亞
摘 要:電磁波的大氣傳輸衰減值是實現電波傳播的基礎參數之一,為了計算高空中的衰減值,需要知道高空中的溫度、大氣壓強、相對濕度等數據,但是有時現有的數據常常會發生缺失。本文采用多重插補的方法,科學地對缺失數據進行補全,并生成了不同高度下的連續數據,解決了高空中電波傳播數據缺失的問題,還對插補的效果進行了實際驗證,以說明這一方法的可行性。
關鍵詞:數據缺失;多重插補;最小二乘法多項式擬合;模擬退火算法
0 引言
電磁波的大氣傳輸衰減值是實現電波傳播的基礎參數之一。根據國際的相關建議,若想研究電磁波在某個地區的傳輸損耗,需知道該地區的大氣參數,具體為溫度、大氣壓強、相對濕度數據,進而計算得到傳輸損耗。好在中國氣象數據共享服務網會提供一些高空數據,如溫度、大氣壓強、溫度露點差等,我們通過這些數據進行轉換或計算可以得到所需要的數據。然而,該網所提供的數據有時會發生缺失。
1 數據缺失與多重插補法
1.1 缺失數據產生機制
當變量出現缺失數據時,我們在處理數據之前要先考慮缺失數據的產生機制,根據缺失數據與目標變量是否有關來對缺失數據進行歸類。若研究變量的缺失值與其觀測值、未觀測值都沒有聯系,定義該研究變量為完全隨機缺失。若研究變量的缺失值與其未觀測值沒有關系,但與其他觀測變量(常常是完全觀測變量)有關,我們稱該變量為隨機缺失。若研究變量的缺失值與其未觀測值有關,該變量為非隨機缺失[1]。
1.2 數據缺失模式
數據缺失模式決定了要使用哪一種數據補全方法,它大概可以分為以下幾種,如圖1所示。
其中,圓圈代表觀察值,同心雙圈代表缺失值。此處選取了5個變量來研究。對于一般形式應通過行變換將缺失的數據聚集在數據集的右下角再按圖進行模式識別。
1.3 多重插補法
一般的情況都是復雜的,數據的缺失也基本上是隨機的,簡單數據缺失處理方法比如經驗法、平均值法誤差較大,因此需要使用考慮更加全面的方法,而多重插補法正好可以滿足需求。
多重插補法的基本思想是一種用多個已知的并且能反映數據本身概率分布的值來插補缺失數據,使得被插補的數據能夠與真實數據相近。它要求數據缺失機制為隨機缺失。具體做法是對總數據集Y,觀測集已知,而缺失集的缺失是隨機的,這樣,我們就可以建立條件分布,并根據此產生插補值。對于每一個缺失的數據,假設插補n次。這n個數據按照某種特定要求進行排列,這樣第一次用于插補缺失數據的數據集就會產生第一個完整數據集,最終,n次插補將會產生n個完整數據集[2]。然后對每一個插補數據集分析得到的結果總共n個結果進行綜合分析,即產生最終的統計推斷。
現在許多現有的統計軟件已經具有多重插補功能,比如SPSS和stata,非常方便,我們只需要導入具體的數據,然后進行一些簡單的初始值設置,即可對數據集進行插補。
2 案例分析
2.1 插補過程
以中國氣象數據共享服務網所提供的成都地區在八月份的某一天0時在不同高度下的大氣參數(共計17個樣本,9個樣本完整,8個樣本缺失)為例。首先對樣本進行行變換,將缺失數據集中在右下角,目的是對缺失模式進行判別,如表1所示。
其中TD為露點溫度,(T-TD)為溫度露點差,從空白的分布我們可以看出其數據缺失模式為一般模式,假設該表數據缺失機制為隨機缺失(否則無法分析)。之后利用SPSS的多重插補功能對數據進行多重插補,為了使收斂速度更快,插補結果更準確,我們對插補的值做出限制。根據數據的變化規律,取高度,壓強p應該大于,但是由于地面上的壓強為1013hPa,取,而溫度T滿足,露點溫度差由于數據缺失率較高不做限制。
經過多次仿真最終得到了幾組結果。根據常識,相對濕度在很高的地方基本趨近于零,根據這一點得到最優的一組數據,如表2所示。
2.2 連續數據生成
在得到了離散點的完整數據集以后,我們通過最小二乘擬合的方法,將溫度、壓強、相對濕度擬合成關于高度的多項式的和以得到連續數據。上述過程可以借助MATLAB自帶的CFTOOL工具箱來完成。結果如下:
2.3 結果分析
為了驗證插值結果,我們推導出各變量的真實物理模型得到真實值,再與SPSS的插值結果進行比較。
(1)溫度T
樣本缺失的都是低空(1504m以下)的值,低空的溫度基本隨高度變化近似是負的線性關系,有:
已知兩點低空數據(13.9℃,957m)和(10.5℃,1504m),我們可得斜率,繼而樣本低空下溫度物理模型為:
利用函數關系我們可得兩個插值點(1112m,13.4℃)和(1200m,11.2℃),對應的點分別為(1112m,13.1℃)和(1200m,11.6℃),可以看出溫度的插值在一定誤差范圍內是準確的。
(2)大氣壓強P
若考慮大氣溫度隨高度的變化,那氣體壓強隨高度的變化規律是由多狀態方程推導出的大氣壓強公式:
其中P0=1013.15Pa,u=28.9,g=9.81m/s2,R=8.314J·mol-1·K-1,取T0=288.1K為地面的溫度,H為離地高度,γ為大氣的比熱比且一般介于等溫γ=1與絕熱時γ=1.4之間[3]。
由于,我們應該利用已知的7組數據求解γ,具體我們采用模擬退火算法來求解。首先應建立適當的優化函數,將已知7組數據的大氣壓強和高度,記為Pi和Hi,則可以建立如下的非線性約束問題:
利用模擬退火算法求解的參數設置如下:初始溫度T=1000,結束溫度T0=0.001,步長steP=0.02,Markov鏈長L=150,通過MATLAB多次仿真求得的較精確解為1.147[3],目標函數值為2.9左右(由于數據較少,不能使目標函數完全接近0),因此可得實際的物理函數關系式為:
利用函數關系我們可得3個插值點(957m,1000hPa)、(1112m,1000hPa)和(1200m,925hPa),對應的點分別為(957m,1001.59hPa)、(1112m,999.76hPa)和(1200m,928hPa),可以看出大氣壓強的插值在一定誤差范圍內是準確的。
(3)相對濕度
相對濕度的物理模型很復雜。但是我們唯一確定的是在非常高的地方RH已經趨近于0,前文就是按照這一原則選取的相對濕度的插值,故可以認為是有效的。
(4)結論
我們可以認為在一定的誤差允許范圍內,利用SPSS對缺失數據進行多重插值的方法是有效的。
3 結語
長時間的探索與實踐證明,多重插補法彌補了單一插補法的缺陷,并且還考慮到插補的不確定度,所以已經代替簡單的主觀法和單一插補法成為處理分析缺失數據的主流方法,它所表現出的巨大的適應性與潛力為各行各業的人所看好。
參考文獻
[1]龐新生.缺失數據處理方法的比較[J].統計與決策,2010(24):152-155.
[2]袁中萸.多元線性回歸模型中缺失數據填補方法的效果比較[D].中南大學,2008.
[3]許小勇,唐小軍,王燕.利用模擬退火算法求大氣壓強公式[J].甘肅聯合大學學報(自然科學版),2007(2):39-41.
(作者單位:華北電力大學)