2012-08-02 683 views
0

我有大面板時間序列數據集。我想這樣做基本的SAS迴歸代碼:SAS:未發現有效觀測值錯誤 - 簡單迴歸

proc sort data=dataset; 
by time_id; 
run; 

ods output parameterestimates=pe; 
proc reg data=dataset; 
by time_id; 
model y=x1 x2 x3....x15; 
quit; 
run; 

我得到這個錯誤,當我運行代碼:

ERROR: No valid observations are found. 
NOTE: The above message was for the following BY group: 
     time_id=1 
ERROR: No valid observations are found. 
NOTE: The above message was for the following BY group: 
     time_id=2.... 

爲什麼?我的time_id變量存在...是因爲我的time_id變量太多了嗎?如果我選擇firm_id它可以工作,但我想time_id。

這裏是我的數據樣本(面板時間序列):

y  x firm_id time_id 
3.4 100 1 1 
2.3 200 1 2 
6.5 653 1 3 
3  50 2 1 
4.34 23 2 2 
4.8 55 2 3 
1.311 400 3 1 
1.23 200 3 2 
5.63 50 3 3 
+1

提供樣本數據將有助於發現問題 – 2012-08-03 01:51:27

+0

@Rob Penridge好主意。謝謝! – Plug4 2012-08-03 03:21:48

回答

2

如果一個特定的變量x的所有值都缺少一個給定TIME_ID您會收到此錯誤信息。查看下面的示例,其中time_id 1的所有x2值都丟失,當您運行代碼時,Results Output窗口詳細說明了問題(與觀察次數相同的缺失觀察值的數量)。 它適用於firm_id,因爲您的值比time_id更少,因此並非每個firm_id都缺少特定x變量的所有值。

data have; 
input y x1 x2 firm_id time_id; 
cards; 
3.4 100 . 1 1 
2.3 200 200 1 2 
6.5 653 653 1 3 
3  50 . 2 1 
4.34 23 23 2 2 
4.8 55 55 2 3 
1.311 400 . 3 1 
1.23 200 200 3 2 
5.63 50 50 3 3 
; 
run; 

proc sort data=have; 
by time_id; 
run; 

ods output parameterestimates=pe; 
proc reg data=have; 
by time_id; 
model y=x1-x2; 
quit; 
run; 
+0

啊,我明白了!非常感謝...應該解決問題! – Plug4 2012-08-03 16:52:06