Quy trình Guassian cho dữ liệu


7

Gần đây tôi đã bắt gặp các quy trình Gaussian trong Gelman et al. (2013), và tôi đang cố gắng tìm hiểu thêm về ứng dụng tiềm năng của họ để sử dụng trong dữ liệu chuỗi thời gian. Dữ liệu quan tâm là một chuỗi thời gian biến đổi duy nhất của nhịp tim của một cá nhân được thu thập bằng phương pháp quang đồ (PPG; cảm biến quang gắn vào đầu ngón tay của một người và đo sự thay đổi về thể tích máu).

Vấn đề là chúng ta có những phần dữ liệu nhất định lộn xộn. Các chiến lược chỉnh sửa hiện tại đã được phát triển để xử lý các tạo phẩm này nhưng chúng được tối ưu hóa chủ yếu dựa trên dữ liệu được thu thập từ các cảm biến EKG. Dạng sóng chậm của PPG, khiến cho ứng dụng của chúng đối với dữ liệu thu được của chúng tôi đôi khi hơi lộn xộn.

Tóm lại, đây là một ví dụ về phần lộn xộn bị cô lập được bao quanh bởi tín hiệu tốt từ Ứng dụng R Shiny tôi đã xây dựng để cải thiện chỉnh sửa thủ công dữ liệu của chúng tôi:

nhập mô tả hình ảnh ở đây

Đường màu xám nhạt thể hiện tín hiệu gốc (được ghép xuống từ 2kH đến 100Hz). Đường màu đen liền khối với các điểm màu đỏ là một âm mưu của các khoảng thời gian xen kẽ (thời gian tính bằng giây giữa các nhịp tim liên tiếp) được vẽ theo thời gian. Các khoảng thời gian giữa các nhịp sẽ là biến chính trong mọi phân tích các dữ liệu này.

Ví dụ, bằng cách sử dụng các khoảng thời gian xen kẽ của một cá nhân, chúng ta có thể đánh giá sự thay đổi nhịp tim của họ. Thật không may, hầu hết các chiến lược chỉnh sửa có xu hướng làm giảm sự thay đổi. Hơn nữa, có một số nhiệm vụ nhất định khi nhiều khả năng những cổ vật này sẽ có mặt (vì chuyển động của người tham gia), có nghĩa là tôi không thể đơn giản đánh dấu những phần lộn xộn này để loại bỏ và coi chúng là mất tích một cách ngẫu nhiên.

Ưu điểm là chúng ta biết rất nhiều về các tính chất của nhịp tim. Chẳng hạn, người lớn thường nằm trong khoảng từ 60 đến 100 BPM khi nghỉ ngơi. Ngoài ra, chúng ta biết rằng nhịp tim thay đổi như là một chức năng của chu kỳ hô hấp, bản thân nó có một dải tần số có khả năng được biết đến khi nghỉ ngơi. Cuối cùng, chúng ta biết rằng có một chu kỳ tần số thấp ảnh hưởng đến sự thay đổi nhịp tim (được cho là bị ảnh hưởng bởi sự kết hợp của ảnh hưởng giao cảm và đối giao cảm với nhịp tim).

Phần tương đối nhỏ của "dữ liệu xấu" được mô tả ở trên thực sự không phải là mối quan tâm chính của tôi. Tôi đã phát triển một số cách tiếp cận nội suy theo mùa một cách hợp lý chính xác mà dường như hoạt động tốt trong các trường hợp bị cô lập này.

Các vấn đề của tôi phát sinh nhiều hơn khi xử lý các phần dữ liệu thường xuyên xen kẽ tín hiệu xấu với mặt tốt:

nhập mô tả hình ảnh ở đây

Theo tôi hiểu từ Gelman et al. (2013), dường như có thể chỉ định một số hàm hiệp phương sai khác nhau cho các quy trình Gaussian. Các chức năng hiệp phương sai này có thể được thông báo bằng dữ liệu quan sát và các phân phối trước đó được biết đến một cách hợp lý cho các biện pháp đo nhịp tim và hô hấp của người lớn (hoặc trẻ em).

Ví dụ, giả sử tôi có một số nhịp tim quan sát được (fHR), Tôi có thể chỉ định một quy trình Gaussian được điều chỉnh bởi nhịp tim trung bình đó như sau (và vui lòng cho tôi biết nếu tôi không học toán ở đây vì đây là lần đầu tiên tôi thử áp dụng các mô hình này):

g1(t)GP(0,k1)

Ở đâu

k1(t,t)=σ12exp(2sin2(π(tt)fHRHz)2l12)

Trong đó là tốc độ lấy mẫu của tôi và là chỉ số của tôi về thời gian.Hzt

Dựa trên ví dụ Gelman et al. (2013) cung cấp trong văn bản của họ, dường như có thể sửa đổi hàm hiệp phương sai này để cho phép thay đổi trong các khoảng thời gian nhất định. Đối với tôi, tôi muốn cho phép thay đổi các ước tính của trong chu kỳ hô hấp và trong chu kỳ biến đổi nhịp tim tần số thấp mà tôi đã đề cập ở trên.fHR

Để thực hiện mục tiêu đầu tiên của tôi, như tôi hiểu, điều này có nghĩa là chỉ định quy trình Gaussian và hàm hiệp phương sai cho tốc độ hô hấp ( ) và quy trình Gaussian kết hợp các tính năng của cả hai quy trình trong chức năng hiệp phương sai:fR

g2(t)GP(0,k2)

Ở đâu

k2(t,t)=σ22exp(2sin2(π(tt)fRHz)2l22)

và ...

g3(t)GP(0,k3)

Ở đâu

k3(t,t)=σ32exp(2sin2(π(tt)fHRHz)l1,32)exp(2sin2(π(tt)fRHz)2l2,32)

Nếu tôi dừng lại ở thời điểm này thì mô hình của tôi sẽ giống như:

yt(t)=g1(t)+g2(t)+g3(t)+ϵt

EDITS / CẬP NHẬT :

Đầu tiên, một đặc điểm kỹ thuật chính xác hơn về ba Quy trình Gaussian của tôi là:

Bắt đầu với nhân hiệp phương sai hàm mũ bình phương:

g1(t)N(0,k1)

k1(t,t)=σ12exp((tt)22l12)

Tiếp theo một hàm hiệp phương sai kết hợp mô hình bán nguyệt dựa trên nhịp tim của từng cá nhân.

g2(t)N(0,k2)

k2(t,t)=σ22exp(2sin2(π(tt)fHRl22)exp((tt)22l32)

Và cuối cùng là một hàm hiệp phương mô hình biến đổi nhịp tim như là một hàm của chu kỳ hô hấp:

g3(t)N(0,k3)

k3(t,t)=σ32exp(2sin2(π(tt)fHRl42)exp(2sin2(π(tt)fRl52)

CÂU HỎI THƯỜNG GẶP (w / cập nhật câu trả lời in nghiêng ):

1) Biết ít về các quy trình của Guassian, điều này có vẻ giống như một ứng dụng có thể phòng thủ? Chúng có vẻ rất linh hoạt và dường như có một số thuộc tính mong muốn có thể giải quyết các vấn đề của tôi về việc giữ lại càng nhiều biến động thực sự trong dữ liệu của tôi, nhưng tôi mới chỉ bắt gặp chúng và muốn chắc chắn rằng tôi sẽ không thất vọng trong việc đi xuống lỗ thỏ này.

Câu trả lời của tôi cho đến nay cho câu hỏi này là không có cái nào không phải là một cái hố thỏ, hoặc ít nhất không phải là một cái không hiệu quả. Tôi đã đến gần hơn với các mô hình này hơn bất kỳ mô hình nào khác để phục hồi các giá trị "thực" trong tín hiệu lộn xộn. Tôi ước gì tôi có thể tìm ra một cách để giảm thời gian chạy tuy nhiên vì các mô hình này rất tốn kém để tính toán. Mặc dù tôi đã đạt được tiến bộ ở đây (ghi chú bên sử dụng Stan và rstan), tôi vẫn có cách để đi.

2) Tôi có hiểu và trình bày các tính năng cơ bản của các hàm hiệp phương sai một cách chính xác không và quan trọng hơn là nỗ lực của tôi trong việc cho phép biến đổi trong là một hàm của đúng (nghĩa là hàm )?fHRfRg3(t)

Tôi tin rằng các hạt nhân được chỉ định ở trên phù hợp với mục tiêu mô hình chính của tôi. Điều đó đang được nói có thể có cách để giảm sự phức tạp mà chắc chắn dẫn đến thời gian chạy quá dài của tôi. Đây vẫn là một lĩnh vực tôi đang tích cực theo đuổi khi tôi cố gắng tối ưu hóa các mô hình của mình bây giờ khi tôi có những điều cơ bản.

3) Nói một cách kỹ thuật hơn, làm thế nào để đi đến việc xác định các giá trị cho ? Và chính xác thì đại diện cho mỗi hàm hiệp phương sai là gì? Nó cũng có vẻ giống như một cái gì đó tôi sẽ phải chỉ định phân phối trước đó, nhưng tôi không hiểu đầy đủ những gì nó đại diện trong trường hợp này. Có lẽ là một phương sai của một số loại ...lσ2

Ngay bây giờ, và gần như chắc chắn là một yếu tố trong thời gian của tôi để hội tụ, tôi đang ước tính các giá trị này từ dữ liệu. Nếu tôi có thể sửa các giá trị này hoặc hạn chế nghiêm ngặt các bản phân phối trước của chúng để thu hẹp (không thể bảo vệ) không gian tham số được bao phủ bởi các mô hình, tôi nghĩ rằng nó sẽ đi một chặng đường dài để cải thiện thời gian chạy.

4) Tôi đã tìm thấy một nguồn bổ sung mà tôi đang bắt đầu trải qua về các quá trình Gaussian (Rasmussen & Williams, 2006). Có bất kỳ tài nguyên được đề xuất nào khác ngoài đó tôi nên xem xét để hiểu rõ hơn về các mô hình này không?

Tôi đã tìm thấy một số nguồn bổ sung hữu ích trong việc tiếp tục theo đuổi chiến lược mô hình hóa cuối cùng. Xem bên dưới.

Phương pháp nhanh để đào tạo các quy trình Gaussian trên các bộ dữ liệu lớn - Moore và cộng sự, 2016

Các mô hình quá trình Gaussian nhanh trong stan - Nate Lemoine

Các quá trình Gaussian nhanh hơn trong stan - Nate Lemoine

Các quy trình Gaussian mạnh mẽ trong stan - Michael Betancourt

Các quy trình Gaussian phân cấp trong stan - Trangucci, 2016


CÂU HỎI MỚI

  1. Có cách nào có thể phòng thủ để hạn chế các tham số tỷ lệ chiều dài trong mô hình ( 's) dựa trên tần số tôi đang làm việc với (1,5 Hz, 0,25 Hz và trục x trong vài giây được ghép xuống 10 Hz).l

  2. Những yếu tố nào tôi nên tập trung vào để tăng tốc thời gian làm người mẫu? Tôi biết một phần của nó là tối ưu hóa mã stan của tôi, nhưng tôi có thể làm gì khác hoặc thay đổi về tham số hóa mô hình của mình không?


KẾT QUẢ ĐẾN NGÀY Đây là kết quả tốt nhất cho đến nay (trong một tập hợp dữ liệu được lấy mẫu nhiều). Đường màu đỏ đại diện cho tín hiệu "thật". Màu xanh là tín hiệu ước tính mô hình cho cùng kỳ:

nhập mô tả hình ảnh ở đây

Lưu ý : Tôi sẽ rất hài lòng với kết quả này nếu tôi có thể tăng tốc độ ước tính của nó và làm cho nó trôi chảy một chút.


Gelman, A., Carlin, JB, Stern, HS, Dunson, DB, Vehtari, A., & Rubin, DB (2013). Phân tích dữ liệu Bayes (tái bản lần 3) . Báo chí CRC: New York.

Rasmussen, CE, & Williams, CKI (2006). Các quy trình Gaussian cho học máy . Báo chí MIT: Boston, MA.


1
Một bản cập nhật nhanh ở đây vì tôi đã tìm thấy một thông tin hữu ích về các quy trình của Guassian trên trang tài liệu Stan . Chương liên quan là 18 kể từ phiên bản 2.17.0.
Matt Barstead

Và một bản cập nhật khác. Tôi đã được giới thiệu đến liên kết này với Hướng dẫn quy trình Gaussian hoàn chỉnh trong Stan cung cấp nhiều thông tin thực tế liên quan đến cách mã hóa mô hình bằng cách sử dụng rstan.
Matt Barstead

Bạn đang hỏi sáu câu hỏi mà tất cả có vẻ hợp lý hoặc rộng, vì vậy thật khó để trả lời. Bạn có thể chia câu hỏi này thành một vài câu hỏi nhỏ hơn không?
MachineEpsilon

Tại thời điểm này, mối quan tâm chính của tôi là có được những hiểu biết / thông tin mới liên quan đến phần " Câu hỏi mới " của tôi (vì vậy chỉ có hai trong số 6 bạn lưu ý). Tôi muốn giữ phần còn lại của những câu hỏi trước đó và một số câu trả lời tôi đã tìm thấy để tôi có thể a) giữ một bản ghi liên tục về suy nghĩ / nỗ lực của tôi và b) cung cấp tài nguyên và lý luận cho những người thấy mình trong đôi giày của tôi với những ví dụ hạn chế ngoài kia để rút ra những lựa chọn tốt liên quan đến những mô hình này.
Matt Barstead

1
À được rồi. Bạn đã xem cuộc thảo luận ví dụ trong Rasmussen et al. 5.4.3 liên quan đến việc xác định các siêu đường kính mô hình? Từ bộ nhớ có vẻ liên quan. Về điểm 2, bạn sẵn sàng làm bao nhiêu công việc? Có một trở ngại cơ bản kể từ khi phân tách Cholesky cần thiết để phù hợp với mô hình có độ phức tạp . Điều đó nói rằng, mọi người đang thử những cách khác nhau xung quanh điều này. Bạn đã xem một cái gì đó như GPFlow? O(N3)
MachineEpsilon

Câu trả lời:


1

Mặc dù tôi không thể trả lời tất cả các câu hỏi của bạn và tôi không thể đăng bình luận do thiếu danh tiếng, để đáp lại điều này:

Có cách nào có thể phòng thủ để hạn chế các tham số tỷ lệ chiều dài trong mô hình> (l l) dựa trên tần số tôi đang làm việc với (1,5 Hz, 0,25 Hz và> trục x trong vài giây được ghép xuống 10 Hz).

Bạn có thể muốn xem xét một hạt nhân hỗn hợp quang phổ . Điều này về cơ bản liên quan đến việc biểu diễn ma trận hiệp phương sai của bạn bằng biến đổi Fourier của nó và do đó xử lý các tần số trái ngược với khoảng cách. Điều này có thể mã hóa tự nhiên hơn một số thông tin trước đó của bạn.

Bạn có thể thấy trang này hữu ích nếu điều này nghe có vẻ thú vị và luận án gốc ở đây .

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.