Làm mịn dữ liệu 2D


8

Dữ liệu bao gồm quang phổ quang học (cường độ ánh sáng so với tần số) được ghi lại ở các thời điểm khác nhau. Các điểm được thu được trên một lưới thông thường theo x (thời gian), y (tần số). Để phân tích sự tiến hóa thời gian ở các tần số cụ thể (tăng nhanh, sau đó là sự phân rã theo cấp số nhân), tôi muốn loại bỏ một số nhiễu có trong dữ liệu. Nhiễu này, với tần số cố định, có thể được mô hình hóa là ngẫu nhiên với phân phối gaussian. Tuy nhiên, tại một thời điểm cố định, dữ liệu cho thấy một loại nhiễu khác nhau, với các xung đột lớn và dao động nhanh (+ nhiễu gaussian ngẫu nhiên). Theo như tôi có thể tưởng tượng tiếng ồn dọc theo hai trục nên không được khắc phục vì nó có nguồn gốc vật lý khác nhau.

Điều gì sẽ là một thủ tục hợp lý để làm mịn dữ liệu? Mục tiêu không phải là làm biến dạng dữ liệu, mà loại bỏ các vật phẩm gây ồn "rõ ràng". (và có thể điều chỉnh quá mức / làm mịn quá mức không?) Tôi không biết việc làm mịn theo một hướng độc lập với hướng khác có hợp lý hay không, nếu tốt hơn là làm mịn trong 2D.

Tôi đã đọc những điều về ước tính mật độ hạt nhân 2D, nội suy đa thức / spline 2D, v.v. nhưng tôi không quen thuộc với thuật ngữ hoặc lý thuyết thống kê cơ bản.

Tôi sử dụng R, trong đó tôi thấy nhiều gói có vẻ liên quan (MASS (kde2), các trường (smooth.2d), v.v.) nhưng tôi không thể tìm thấy nhiều lời khuyên về việc áp dụng kỹ thuật nào ở đây.

Tôi rất vui khi tìm hiểu thêm, nếu bạn có tài liệu tham khảo cụ thể để chỉ cho tôi (Tôi nghe MASS sẽ là một cuốn sách hay, nhưng có lẽ quá kỹ thuật cho một người không thống kê).

Chỉnh sửa: Đây là một đại diện phổ dữ liệu giả của dữ liệu, với các lát cắt dọc theo thời gian và kích thước bước sóng.

hình ảnh2d

Mục tiêu thực tế ở đây là đánh giá tốc độ phân rã theo hàm mũ theo thời gian cho từng bước sóng (hoặc thùng, nếu quá ồn).


Có bao nhiêu tần số được đo tại? Nếu nó không phải là một số lượng lớn, có thể thực tế khi xem đây là một tập hợp chuỗi thời gian riêng lẻ (nhưng có liên quan), một cho mỗi tần số cụ thể?
Peter Ellis

@PeterEllis một số lượng lớn (giả sử 500, nhưng vì lợi ích chung, nó có thể còn lớn hơn)
baptiste

Linh cảm của tôi là coi chúng là hơn 500 chuỗi thời gian tương quan và sử dụng các kỹ thuật chuỗi thời gian như di chuyển trung bình hoặc làm mịn theo cấp số nhân; và chỉ sử dụng làm mịn 2d sau đó và chỉ khi cần thiết cho biểu diễn đồ họa cách điệu. Tôi không có đủ sự ủng hộ này tuy nhiên để biến nó thành một "câu trả lời" thích hợp.
Peter Ellis

1
Tôi muốn xem xét các phương pháp 'mạnh mẽ'. Những phương pháp này cố gắng giảm trọng lượng ngoại lệ. Ví dụ: có một thuật toán spline mạnh mẽ trong R.
user12719

Có điều gì đặc biệt cho biến thời gian làm cho chuỗi thời gian trở thành một loại phân tích thống kê cụ thể không?
baptiste

Câu trả lời:


4

Bạn cần một chỉ định một mô hình tách tín hiệu khỏi nhiễu.

Có thành phần của nhiễu ở mức đo mà bạn giả sử là gaussian. Các thành phần khác, phụ thuộc vào các phép đo:

  • "Nhiễu này, với tần số cố định, có thể được mô hình hóa là ngẫu nhiên với phân phối gaussian". Cần làm rõ - là thành phần nhiễu phổ biến cho tất cả các mốc thời gian, với tần số? Là độ lệch chuẩn giống nhau cho tất cả các tần số? Vân vân.

  • "Tuy nhiên, tại một thời điểm cố định, dữ liệu cho thấy một loại nhiễu khác nhau, với các xung đột lớn và dao động nhanh" Làm thế nào để bạn tách nó ra khỏi tín hiệu, vì chắc chắn bạn quan tâm đến sự thay đổi cường độ theo tần số. Là biến thể thú vị bằng cách nào đó khác với biến thể không thú vị, và nếu vậy, làm thế nào?

Nói chung dao động giả hoặc nhiễu phi gaussian không phải là một vấn đề lớn, nếu bạn có một ý tưởng thực tế về các đặc tính của nó. Nó có thể được mô hình hóa bằng cách chuyển đổi dữ liệu (và sau đó sử dụng mô hình gaussian) hoặc bằng cách sử dụng phân phối lỗi không phải là gaussian. Mô hình tiếng ồn tương quan qua các phép đo là khó khăn hơn.

Tùy thuộc vào mức độ nhiễu và mô hình dữ liệu của bạn, bạn có thể mô hình hóa dữ liệu bằng một công cụ đa năng như GAM trong gói mgcv hoặc bạn có thể cần một công cụ linh hoạt hơn, dễ dàng dẫn đến thiết lập bayes khá tùy chỉnh . Có những công cụ cho các mô hình như vậy, nhưng nếu bạn không phải là một nhà thống kê, việc học cách sử dụng chúng sẽ mất một thời gian.

Tôi đoán hoặc một giải pháp cụ thể cho phân tích quang phổ hoặc gói mgcv là cược tốt nhất của bạn.


Lời khuyên về âm thanh, cảm ơn, tôi cần xem xét các tùy chọn này và suy nghĩ kỹ hơn về mô tả của tiếng ồn.
baptiste

1
Nhiễu trong quang phổ thường phụ thuộc vào cường độ của ánh sáng đo được ("đếm" photon là một quá trình Poisson) và thường phụ thuộc vào bước sóng / tần số (vì đặc điểm của máy dò). Có cả đống quá trình đóng góp tiếng ồn của nhạc cụ, xem ví dụ Skoog & Leary: Nguyên tắc phân tích nhạc cụ. Loại tiếng ồn chủ yếu sẽ phụ thuộc vào loại nhạc cụ (và thí nghiệm). Biểu đồ d theo thời gian cho thấy sự phụ thuộc rõ ràng vào cường độ, cho thấy Baptiste có các phép đo cường độ (trái ngược với, ví dụ, phổ hấp thụ).
cbeleites không hài lòng với SX

2

Một chuỗi thời gian của quang phổ gợi ý cho tôi một thí nghiệm động học , và có một lượng tài liệu hóa học được thiết lập tốt về điều này.

Bạn biết gì về quang phổ? Chúng thuộc loại quang phổ nào? Bạn có thể mong đợi một cách hợp lý rằng bạn chỉ có hai loài, educt và sản phẩm?

Bạn có thể giả sử một cách hợp lý tính song tuyến, tức là phổ đo được tại một thời điểm nhất định là sự kết hợp tuyến tính của nồng độ thành phần với phổ thành phần thuần túy : XCS

X(nspc×nwl)=C(nspc×ncomp)S(ncomp×nwl)

Bạn nói rằng bạn muốn ước tính một sự phân rã theo cấp số nhân (theo nồng độ). Điều này cùng với song tuyến tính gợi ý cho tôi độ phân giải đường cong đa biến (MCR). Đây là một kỹ thuật cho phép bạn sử dụng thông tin bạn có (ví dụ: phổ thành phần thuần túy của một số chất hoặc giả định về hành vi tập trung như phân rã theo cấp số nhân) trong quá trình điều chỉnh mô hình.

Theo như tôi biết, nó khá phổ biến để làm mịn nồng độ theo một số người, ví dụ như động học, mô hình nhưng nó ít phổ biến hơn nhiều để làm mịn quang phổ. Tuy nhiên, thuật toán cho phép làm như vậy. Tôi đã hỏi Anna vào mùa hè rằng họ có áp đặt các hạn chế về độ mịn không, nhưng cô ấy nói với tôi rằng họ không (và các nhà quang phổ học ghét sự làm mịn thay vì đo quang phổ tốt ;-)). Thông thường, nó cũng không cần thiết, bởi vì tổng hợp thông tin từ tất cả các phổ sẽ mang lại ước tính tốt về phổ thành phần thuần túy.

Gần đây tôi đã thực hiện "quang phổ thành phần" (trên thực tế, các thành phần chính) hai lần ( Dochow và cộng sự : Thiết bị phát hiện trên chip Raman và sợi phát hiện với sợi Bragg grating để phân tích các giải pháp và hạt, LabChip, 2013 và Dochow el al. : Chip microfluidic thạch anh để nhận dạng tế bào khối u bằng phương pháp quang phổ Raman kết hợp với bẫy quang học, AnalBioanalChem, được chấp nhận) nhưng trong những trường hợp này, kiến ​​thức quang phổ của tôi đã nói với tôi rằng tôi được phép làm điều này. Tôi khá thường xuyên áp dụng phép nội suy xuống và làm mịn nội suy cho phổ Raman của tôi ( hyperSpec::spc.loess).

Làm thế nào để biết những gì là quá nhiều làm mịn? Tôi nghĩ rằng câu trả lời duy nhất có thể là "kiến thức chuyên môn về loại quang phổ và thí nghiệm".


chỉnh sửa: Tôi đọc lại câu hỏi và bạn nói rằng bạn muốn ước tính sự phân rã ở mỗi bước sóng. Tuy nhiên, điều đó có đúng hay bạn muốn ước tính sự phân rã của các loài khác nhau với quang phổ chồng chéo?


Cảm ơn các tài liệu tham khảo. Mặc dù mẫu không thực sự có hai loài, nhưng nó có phần giống nhau (hai quá trình vật lý riêng biệt để phân biệt). Tôi sẽ có một cái nhìn gần hơn khi tôi trở về từ một hội nghị.
baptiste

@baptiste: Có một hội nghị tốt. Bạn có phiền để nói loại quy trình bạn có? Tức là bạn có thể giả sử rằng "bên trong" mỗi quá trình các đặc tính phổ là như nhau, hoặc các dao động có thể "di chuyển" trên phổ không (tần số không rõ ràng nếu bạn có mô hình dao động trong phổ )?
cbeleites không hài lòng với SX

1

Dữ liệu bao gồm quang phổ quang học (cường độ ánh sáng so với tần số) được ghi lại ở> thời gian khác nhau. Các điểm được thu được trên một lưới thông thường theo x (thời gian), y (tần số).

Đối với tôi, điều này nghe có vẻ giống như một trường hợp phân tích dữ liệu chức năng (FDA), mặc dù tôi không biết gì về vật lý đằng sau vấn đề của bạn, và tôi có thể hoàn toàn sai. Nếu bạn có thể coi quá trình đằng sau dữ liệu của mình là trơn tru và liên tục, bạn có thể muốn sử dụng mở rộng hàm cơ sở hai biến để ghi lại các phép đo của mình ở dạng , với là tổng các hàm cơ bản (ví dụ: b-splines) và hệ số. Một tập hợp hạn chế các chức năng cơ bản trực tiếp làm giảm độ nhám và do đó loại bỏ một phần tiếng ồn trắng.fintensity=f(time,frequency)f

Tôi đã đọc những điều về ước tính mật độ hạt nhân 2D, nội suy đa thức / spline 2D, v.v.

...

Tôi sử dụng R, trong đó tôi thấy nhiều gói có vẻ liên quan (MASS (kde2), các trường (smooth.2d), v.v.) nhưng tôi không thể tìm thấy nhiều lời khuyên về việc áp dụng kỹ thuật nào ở đây.

Bạn đã đề cập đến phép nội suy spline, nhưng không đề cập đến gói fda thực hiện khá độc đáo và dễ dàng truy cập mở rộng chức năng cơ bản mà tôi đã đề cập ở trên. Tập hợp các phép đo đồng thời về thời gian, tần suất và cường độ (được sắp xếp dưới dạng mảng ba chiều) có thể được ghi lại dưới dạng một đối tượng dữ liệu chức năng hai biến, xem. ví dụ: hàm 'Data2fd'. Ngoài ra, một số quy trình làm mịn có sẵn trong gói được thiết kế để loại bỏ nhiễu trắng hoặc "độ nhám" trong các phép đo của các quy trình trơn vốn có.

Các Wikipedia bài viết cụm vấn đề tiếng ồn trắng trong FDA như sau:

Dữ liệu có thể chính xác đến mức có thể bỏ qua lỗi, có thể bị lỗi đo lường đáng kể hoặc thậm chí có mối quan hệ gián tiếp phức tạp với đường cong mà chúng xác định. ... Các ghi chép hàng ngày về lượng mưa tại một trạm thời tiết rất khác nhau khi yêu cầu các phân tích cẩn thận và tinh vi để trích xuất một cái gì đó giống như đường cong lượng mưa trung bình.

FDA cung cấp các công cụ cho những trường hợp này. Điều này không dịch cho trường hợp của bạn?

... nhưng tôi không quen thuộc với biệt ngữ hoặc lý thuyết thống kê cơ bản ...

... nhưng tôi không thể tìm thấy nhiều lời khuyên về việc áp dụng kỹ thuật nào ở đây ...

Liên quan đến fda: Tôi không phải là cuốn sách của Ramsay và Silverman trên FDA (2005) làm cho những điều cơ bản rất dễ tiếp cận và Ramsay Hooker và Graves (2009) trực tiếp dịch những hiểu biết từ cuốn sách sang mã R. Cả hai tập nên có sẵn dưới dạng sách điện tử trong thư viện đại học để thống kê, sinh học, khí hậu học hoặc tâm lý học. Google cũng sẽ đưa ra một số liên kết nữa mà tôi không thể đăng tất cả ở đây.

Xin lỗi rằng tôi không thể cung cấp một giải pháp trực tiếp hơn cho vấn đề của bạn. Tuy nhiên, FDA đã giúp tôi rất nhiều khi tôi tìm ra nó dùng để làm gì.


đó là lời cảm ơn hữu ích Tôi đã hy vọng nghe thấy một viễn cảnh toàn cầu hơn là chỉ một kỹ thuật cụ thể, nhưng nếu đó là một kỹ thuật tôi nên sử dụng thì tất cả đều tốt.
baptiste

Cảm ơn tín dụng. Cuối cùng, không ai ngoài chính bạn hoặc đồng nghiệp trực tiếp của bạn có thể quyết định phương pháp phù hợp là gì. Nhưng theo những gì bạn mô tả, tôi sẽ xem xét về FDA nói chung. Nó có thể cung cấp cho bạn thêm một số ý tưởng làm thế nào để phân tích dữ liệu của bạn.
dùng1966337

@ user1966337: FYI, trong quang phổ quang học, cường độ ở các bước sóng riêng biệt thường có ý nghĩa riêng biệt, vì vậy bạn có thể coi chúng là các biến thể cho mô hình song tuyến (có ý nghĩa vật lý) với một vài thành phần, dẫn đến mô hình dữ liệu bị hạn chế hơn. Đôi khi bạn có các hiệu ứng mặc dù điều đó không cho phép điều này và nơi FDA sẽ phù hợp hơn.
cbeleites không hài lòng với SX

1

Là một nhà vật lý đơn giản, không phải là chuyên gia thống kê, tôi sẽ thực hiện một cách tiếp cận đơn giản. Hai chiều là bản chất khác nhau. Nó sẽ có ý nghĩa để làm mịn theo thời gian với một thuật toán và làm mịn theo bước sóng với một thuật toán khác.

Các thuật toán thực tế tôi sử dụng: cho bước sóng, Savitzky-Golay với thứ tự cao hơn, 6 có thể 8.

Cùng với thời gian, nếu ví dụ đó là điển hình, việc nhảy lên đột ngột và suy giảm theo cấp số nhân ít nhiều làm cho nó trở nên khó khăn. Tôi đã có dữ liệu thử nghiệm và hình ảnh ồn ào, giống như vậy. Nếu các phương pháp đơn giản đơn giản không giúp đủ, hãy thử Gaussian mượt mà hơn nhưng triệt tiêu hiệu ứng của nó gần bước nhảy, như được phát hiện bởi một máy dò cạnh. Làm mịn và mở rộng đầu ra của bộ dò cạnh, chuẩn hóa nó đi từ 0,0 đến 1,0 và sử dụng nó để chọn giữa ảnh gốc và ảnh được làm mịn bằng Gaussian, pixel theo pixel.


0

@baptiste: Tôi rất vui vì bạn đã thêm cốt truyện như tôi đề xuất. Nó giúp rất nhiều:

Vì vậy, nếu tôi hiểu chính xác, mục tiêu thực tế của bạn là đánh giá tốc độ phân rã theo cấp số nhân cho từng bước sóng; vậy thì hãy làm đi! Xác định một chức năng bạn muốn thu nhỏ riêng cho từng bước sóng và thu nhỏ nó.

Hãy xem xét một bước sóng nhất định, như trong ô dưới bên phải của bạn.

Trước tiên, để đơn giản, chúng ta hãy loại bỏ tất cả các giá trị trước 0,2 giây, vì chúng chứa một sự gián đoạn lớn (cách tiếp cận của chúng tôi có thể được tăng cường để giải quyết vấn đề đó sau). Sau đó, xác định tiêu chí tối ưu hóa sau, nhằm mục đích tìm hằng số phân rã :τ

τ^=argminτti||eti/τdi||2

Bạn có thể giải quyết vấn đề tối ưu hóa này bằng cách phân biệt wrt , tương đương với 0 và giải quyết cho ; hoặc bạn có thể sử dụng một bộ giải.τττ

Sau này, nếu bạn tin rằng bước sóng liền kề sẽ có hằng số phân rã tương tự, bạn có thể kết hợp điều này vào một tiêu chí tối ưu hóa phức tạp hơn.

Nếu có bất cứ điều gì, tôi khuyên bạn nên đọc một cuốn sách phải đọc tối ưu hóa: Tối ưu hóa lồi của Boyd .

Hi vọng điêu nay co ich!


xin lỗi nhưng dường như có một sự hiểu lầm: tôi quen với việc tối ưu hóa phi tuyến; Ở đây tôi muốn biết những kỹ thuật làm mịn nào tôi có thể sử dụng trên dữ liệu đó khi việc điều chỉnh ở mọi bước sóng không đáng tin cậy vì nhiễu ở cả hai chiều. Cấp, ví dụ giả của tôi có vẻ khá khả thi, nhưng nếu tôi thêm tiếng ồn thì sẽ khó hình dung hơn. Tôi thích cách tiếp cận fda được đề xuất trước đó, vì nó bao gồm cả phần phù hợp và làm mịn trong một phương pháp.
baptiste
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.