Kiểm tra gốc đơn vị cho dữ liệu bảng trong R


8

Tôi có plmgói và muốn chạy thử nghiệm đơn vị gốc trên một số biến. Tôi nhận được lỗi sau đây:

> purtest(data$tot.emp)
Error in data.frame(baldwin = c(59870, 61259, 60397, 58919, 57856, 57227,  : 
  arguments imply differing number of rows: 14, 19, 11, 12, 1, 20, 18, 10, 13

Tôi cho rằng tôi đang gặp lỗi này vì bảng điều khiển của tôi không cân bằng. Hai câu hỏi:

  • Bạn có thể sử dụng các bài kiểm tra gốc đơn vị bảng điều khiển (Levin, Lin và Chu (2002), Im, Pesaran và Shin (2003), hoặc các bài kiểm tra khác) cho các bảng không cân bằng không?
  • Nếu vậy, nó được thực hiện trong R?

Tôi không thể trả lời câu hỏi của bạn nhưng FYI, Stata chạy các bài kiểm tra này ngay cả khi biến không cân bằng. Tuy nhiên, các bài kiểm tra LM của Breitung, Harris-Tzavalis và Hadri dường như đòi hỏi sự cân bằng.
johnny

Một bản cập nhật. Hãy nhìn vào gói trừng phạt. Tôi nghĩ rằng nó có thể làm những gì bạn muốn. road.unimol.it/bitstream/2192/163/3/ESDP11063.pdf
Manoel Galdino

Vấn đề về dữ liệu bảng điều khiển không cân bằng được giải quyết trong phiên bản 2.2-2 của plm trên CRAN. Tuy nhiên, các thử nghiệm của Hadri và Levin / Lin / Chu không thể áp dụng cho dữ liệu không cân bằng.
Helix123

Câu trả lời:


7

Tại thời điểm hiện tại (phiên bản 1.2-10) có vẻ như trường hợp không cân bằng không được hỗ trợ. Tôi đã xem mã và dòng chuẩn bị dữ liệu cuối cùng (bất kể đối số ban đầu của bạn là gì) là như sau:

 object <- as.data.frame(split(object, id))

Nếu bạn vượt qua bảng điều khiển không cân bằng, dòng này sẽ làm cho nó cân bằng bằng cách lặp lại các giá trị tương tự. Nếu bảng điều khiển không cân bằng của bạn có chuỗi thời gian với độ dài chia nhau thì thậm chí không có thông báo lỗi nào được tạo ra. Dưới đây là ví dụ từ trang thuần túy:

 > data(Grunfeld)
 > purtest(inv ~ 1, data = Grunfeld, index = "firm", pmax = 4, test = "madwu")

Maddala-Wu Unit-Root Test (ex. var. : Individual Intercepts )

  data:  inv ~ 1 
  chisq = 47.5818, df = 20, p-value = 0.0004868
  alternative hypothesis: stationarity 

Bảng này được cân bằng:

 > unique(table(Grunfeld$firm))
  [1] 20

Mất cân bằng nó:

 > gr <- subset(Grunfeld, !(firm %in% c(3,4,5) & year <1945))

Hai chuỗi thời gian khác nhau trong bảng điều khiển:

 > unique(table(gr$firm))
  [1] 20 10

Không có thông báo lỗi:

> purtest(inv ~ 1, data = gr, index = "firm", pmax = 4, test = "madwu")

    Maddala-Wu Unit-Root Test (ex. var. : Individual Intercepts )

data:  inv ~ 1 
chisq = 86.2132, df = 20, p-value = 3.379e-10
alternative hypothesis: stationarity 

Một bảng điều khiển mất cân bằng:

  > gr <- subset(Grunfeld, !(firm %in% c(3,4,5) & year <1940))
  > unique(table(gr$firm))
  [1] 20 15

Và thông báo lỗi:

 > purtest(inv ~ 1, data = gr, index = "firm", pmax = 4, test = "madwu")
  Erreur dans data.frame(`1` = c(317.6, 391.8, 410.6, 257.7, 330.8, 461.2,  : 
  arguments imply differing number of rows: 20, 15

Vấn đề về dữ liệu bảng điều khiển không cân bằng được giải quyết trong phiên bản 2.2-2 của plm trên CRAN. Tuy nhiên, các thử nghiệm của Hadri và Levin / Lin / Chu không thể áp dụng cho dữ liệu không cân bằng.
Helix123

3

Bạn đã cố gắng chuyển đổi dữ liệu của bạn pdata.frame? Tôi cũng có một bảng điều khiển không cân bằng, nhưng purtestdường như hoạt động với bảng không cân bằng nếu dữ liệu là pdata.frame. Nhưng tôi cũng có thể sai :)

Tuy nhiên, trong ?purtestcác tác giả viết:

"object, x  

Either a 'data.frame' or a matrix containing the time series, 
a 'pseries' object, a formula, or the name of a column of a 'data.frame',
or a **'pdata.frame'**
on which the test has to be computed; a'purtest' object for the print 
and summary methods,"

Vì vậy, tôi đoán nếu một người sử dụng pdata.framebảng purtest"hiểu" đó là unbalanced.

Tôi có lầm không???


Tôi đã cố gắng nhưng điều này không làm việc cho tôi.
altabq

Vấn đề về dữ liệu bảng điều khiển không cân bằng được giải quyết trong phiên bản 2.2-2 của plm trên CRAN. Tuy nhiên, các thử nghiệm của Hadri và Levin / Lin / Chu không thể áp dụng cho dữ liệu không cân bằng.
Helix123

-1

Eviews 5cho phép bạn kiểm tra panel unit rootscho các unbalanceddữ liệu mà không phải là có thể với RStata. Ví dụ, mặc dù Im–Pesaran–ShinFisher-typecác thử nghiệm có thể được áp dụng cho bảng điều khiển không cân bằng Stata, nhưng không thể có một số quan sát, với khoảng cách tức là chúng ta có dữ liệu của quốc gia i cho năm 2002 và 2004 nhưng không phải là 2003 (giả sử độ trễ sẽ lớn hơn hơn một). Tôi nghĩ rằng Eviewsbỏ tất cả các quan sát như vậy trong khi thực hiện các bài kiểm tra, ví dụ của chúng tôi đây là quốc gia i. Tuy nhiên, nếu bạn bỏ thủ công tất cả các quan sát như vậy, bạn vẫn có thể thực hiện các thử nghiệm với RStata.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.