2011-10-21 57 views
5

Tôi đang cố gắng phân tích một số dữ liệu chuỗi thời gian ồn ào trong R. Dữ liệu được dựa trên phát thải CO2 của động vật và chúng hiển thị một loại chu kỳ tuần hoàn mà tôi muốn mô tả. Tôi muốn thử nghiệm các giả thuyết:Kiểm tra tính chu kỳ của dữ liệu sinh học ồn ào: ý nghĩa biểu đồ?

H0: Không có phát thải CO2 theo chu kỳ (nghĩa là không quá ngẫu nhiên).

H1: Có một mẫu phát thải CO2 trong chu kỳ hoặc xung.

Vì vậy, để làm điều này tôi đã nhập dữ liệu vào R, chuyển đổi nó thành một chuỗi thời gian, và vẽ biểu đồ của nó.

t25a <- read.table("data.txt", header=TRUE, sep="\t") 
t1 <- ts(t25a$Co2) 
plot(t1) 
spec.pgram(t1, spans=4, log="no") 

Đây là những gì mà có vẻ như, với các dữ liệu thô được vẽ trên đầu trang và periodogram bên dưới:

R periodogram of time series CO2 data

Trong hình dưới, tôi có thể thấy bốn hoặc năm đỉnh hơi-biệt chỉ một thành phần tần số trong dữ liệu. Câu hỏi của tôi là - tất cả đều bình đẳng "quan trọng"? Có cách nào để kiểm tra xem các đỉnh quan sát có khác biệt đáng kể với nhau hay từ các dự đoán của giả thuyết không? Tất cả những gì tôi biết phải làm là tìm ra tần suất liên quan đến những đỉnh đó, nhưng tôi muốn một phương pháp khách quan hơn để xác định có bao nhiêu đỉnh "đáng kể" thực sự có trong dữ liệu.

+0

Bạn hiểu các đơn vị của phổ công suất là gì? [đơn vị ** 2/Hz] Bạn có thể nghĩ về quang phổ tích hợp như phương sai của thời gian ban đầu, vì vậy nếu một đỉnh lớn hơn điểm khác, nó có nhiều năng lượng (tín hiệu) ở tần số đó hơn tần số kia. Vì vậy, "ý nghĩa" không thực sự là một câu hỏi có ý nghĩa. Và bạn thực sự nên sử dụng một sơ đồ thu hẹp và vẽ sơ đồ tần số logarit (trong trường hợp này). –

+0

@AndyBarbour Đầu tiên, các đơn vị. Sự hiểu biết của tôi là trục y trên biểu đồ thời gian trên là thước đo công suất và trục x là tần số nghịch đảo. * 2 đến từ đâu trong đơn vị của bạn * 2/Hz? Như một thước đo về tầm quan trọng tương đối của các thành phần khác nhau của tín hiệu, tôi có thể xem xét tỷ lệ của một đỉnh tích hợp với tổng diện tích không? –

+0

Hãy xem Định lý Parseval, hoặc tính toán biến đổi Fourier trên một hàm phân tích để dễ dàng chứng minh các đơn vị. Các đơn vị trên lô có thể, đối với y, tính bằng dB tương ứng với 1 đơn vị ** 2/Hz, và đối với x, 0 với tần số Nyquist. Nó phụ thuộc vào câu hỏi mà bạn muốn trả lời, nhưng các đỉnh có thể là các chu kỳ thực trong dữ liệu (chỉ bằng cách kiểm tra thời gian của bạn). –

Trả lời

1

Một tùy chọn sẽ là mô phỏng tập hợp dữ liệu theo giả thuyết không có giá trị (không có chu kỳ mà bạn đang tìm kiếm, nhưng vẫn có các đặc tính chuỗi thời gian khác). Nếu bạn có thống kê thử nghiệm số (số đỉnh hoặc số đo khác) thì bạn có thể tính toán điều này cho từng bộ dữ liệu được mô phỏng và điều này sẽ cung cấp cho bạn phân phối mẫu, chỉ cần so sánh thống kê thử nghiệm cho dữ liệu thực tế của bạn phân phối. Nếu bạn không có một tiền đạo thống kê kiểm tra số thẳng sau đó bạn có thể xem xét thực hiện một thử nghiệm thị giác, xem:

Buja, A., Cook, D. Hofmann, H., Lawrence, M. Lee, E.-K., Swayne, 
D.F and Wickham, H. (2009) Statistical Inference for exploratory 
data analysis and model diagnostics Phil. Trans. R. Soc. A 2009 
367, 4361-4383 doi: 10.1098/rsta.2009.0120 

Các vis.test chức năng trong gói TeachingDemos cho R giúp với việc thực hiện kiểm tra này (nhưng có nhiều cách khác nữa).

+0

Xin chào Greg, cảm ơn vì đã chỉ cho tôi tham chiếu đó! Tôi đã nghĩ về việc sử dụng số lượng đỉnh như một thống kê kiểm tra, nhưng tôi đã gặp phải một vấn đề nhỏ. Tôi muốn tránh các đỉnh đếm "bằng mắt", vì vậy tôi làm mịn dữ liệu (sử dụng splines khối) và sau đó vòng một bit tiện lợi của mã R để đếm các đỉnh trong dữ liệu mịn. Nhưng những kết quả này phụ thuộc vào số lượng làm mịn tôi áp dụng, vốn vốn có phần chủ quan. Tôi chưa đọc bài viết đó, nhưng có lẽ nó sẽ giải quyết những mối quan ngại này. –

+0

Bài viết nói về một bài kiểm tra trực quan mà vẫn yêu cầu bạn nhìn vào cốt truyện bằng mắt, đếm các đỉnh thực tế có thể là tùy chọn. Nhưng nó thực hiện một thử nghiệm trực quan khi nhìn vào kết quả. –

Các vấn đề liên quan