Hướng dẫn what is sampling rate in python? - tốc độ lấy mẫu trong python là gì?

Giải thích chung

Nói chung, tần suất của dữ liệu là sự khác biệt giữa các dấu thời gian liên tiếp.

Nếu tất cả là tốt, sự khác biệt đó sẽ không đổi trong chuỗi thời gian của bạn; Trong trường hợp này, sự khác biệt này là tần suất dữ liệu của bạn. Trong các trường hợp khác, nó có thể phức tạp hơn một chút - ví dụ, bạn có thể bị thiếu dữ liệu hoặc dữ liệu trong đó một số dấu thời gian được chuyển một chút về phía trước hoặc lùi.
In other cases, it might be a bit more complicated - for example, you can have missing data, or data where some timestamps are shifted a bit forward or backward.

Trong trường hợp đó, bạn có thể muốn 'giải quyết' những vấn đề đó, ví dụ bằng cách lấy trung bình của những khác biệt như vậy (nếu một số mẫu đến quá sớm và một số đến quá muộn) hoặc chế độ (nếu một số mẫu Thiếu, có nghĩa là hầu hết sẽ đến đúng thời điểm và một số sẽ quá muộn bởi bội số chính xác của tần số thực).

Ví dụ về Python (Gandas)

Đây là một ví dụ trong Python, sử dụng thư viện Pandas:

Hãy tạo ra một chuỗi thời gian với các giá trị bị thiếu. Tần số của nó là 5 phút, nhưng khoảng 5% mẫu bị thiếu (dữ liệu của nó là số nguyên ngẫu nhiên từ 1 đến 20 và 1 đã bị loại bỏ)

import pandas as pd
import random

index = pd.DatetimeIndex(start='2020-01-01 00:00:00', end='2020-04-01 00:00:00', freq='5T')
s = pd.Series(index=index, data=None)
s = s.apply(lambda x: random.randint(1,20))
s=s[s.ne(1)]

Bây giờ chúng ta hãy xem xét sự khác biệt về thời gian giữa các mẫu hiện có (không bị bỏ):

s.index.to_series().diff().value_counts()

năng suất

00:05:00    23629
00:10:00     1191
00:15:00       63
00:20:00        2

tức là phần lớn các mẫu thực sự cách nhau 5 phút, nhưng không phải tất cả chúng. Chúng tôi sẽ lấy tần số thực tế bằng cách lấy trung bình của những khác biệt đó:

s.index.to_series().diff().median()

năng suất

tức là phần lớn các mẫu thực sự cách nhau 5 phút, nhưng không phải tất cả chúng. Chúng tôi sẽ lấy tần số thực tế bằng cách lấy trung bình của những khác biệt đó:

Xác định tần số lấy mẫu

Bởi Sage Lichtenwalner, ngày 20 tháng 5 năm 2020

Ooi lấy mẫu đại dương thường xuyên như thế nào? Câu trả lời ngắn gọn là, rất nhiều.

Tỷ lệ mẫu cho từng công cụ phụ thuộc vào vị trí, tính khả dụng của nó và cuối cùng là các mục tiêu khoa học của nó. Hầu hết các công cụ chuyên sâu cố định mẫu ít nhất cứ sau 15 phút. Nhưng nhiều nhạc cụ, như các công cụ trên hồ sơ hoặc nền tảng được đặt, lấy mẫu mỗi phút hoặc thậm chí mỗi giây! Và trong nhiều trường hợp, một công cụ gửi lại dữ liệu ở một độ phân giải trong thời gian thực, có thể có sẵn dữ liệu độ phân giải cao hơn sau khi các kỹ sư khôi phục các tệp dữ liệu thô.

Nếu bạn muốn kiểm tra tỷ lệ mẫu dự định cho một công cụ cụ thể, tài nguyên tốt nhất của bạn là tài liệu tiếp cận lấy mẫu và quan sát OOI. Nhưng biết rằng mọi thứ thay đổi, vì vậy để thực sự biết tỷ lệ, bạn nên tự tải xuống bộ dữ liệu và kiểm tra nó.

May mắn thay, nhờ đồng nghiệp cũ của tôi Friedrich, tất cả những gì bạn cần là một dòng mã Python để tìm ra nó.

Điều đầu tiên đầu tiên ... ¶

Trước khi chúng tôi có thể sử dụng bộ dữ liệu, trước tiên chúng tôi cần yêu cầu và tải nó. Tôi sẽ tải một số thư viện và xác định một số chức năng và URL dữ liệu ở đây. Để biết thêm chi tiết về cách tất cả các hoạt động này, hãy xem Cách yêu cầu Notebook dữ liệu OOI.

Ví dụ 1: Trạm Papa Flanking neo B - CTD¶

Đầu tiên, chúng ta hãy xem bộ dữ liệu CTD 30M mà chúng ta đã sử dụng trong ví dụ của tuần trước. Như trước đây, chúng tôi sẽ chỉ định URL dữ liệu, sau đó tạo danh sách các tệp có sẵn và tải chúng.

Và bây giờ, đây là những dòng mã ma thuật.

Lưu ý, tùy thuộc vào mức độ lớn của bộ dữ liệu của bạn, điều này có thể mất một thời gian để chạy.

Về cơ bản, tất cả các mã này đang làm là có sự khác biệt giữa một dấu thời gian và phần tiếp theo, và sau đó tóm tắt những khác biệt đó với hàm .value_counts().

Kết quả là một mảng có chênh lệch thời gian trong cột đầu tiên và số lần những khác biệt đó được tìm thấy trong lần thứ hai.

Như chúng ta có thể thấy, đối với bộ dữ liệu này, chúng ta có 35.100 trường hợp trong đó sự khác biệt giữa điểm này và điểm tiếp theo là chính xác 15 phút. Vì bất kỳ lý do gì, độ chính xác đã giảm một giây cho 10 hàng trong bộ dữ liệu của chúng tôi (5 ở một bên của 15 phút và 5 ở bên kia). Chúng tôi cũng tìm thấy một DataPoint khác nhau hơn 1 ngày sau đó là hàng xóm. Đây có thể là DataPoint nơi việc neo đậu đã được phục hồi và triển khai lại.

Chúng tôi có thể xác nhận điều này bằng cách xem nhanh hồ sơ áp lực.

Vì vậy, đưa ra kết quả ở trên, chúng tôi có thể nói một cách an toàn rằng tỷ lệ lấy mẫu cho bộ dữ liệu này là 15 phút.

Ví dụ 2: Neo bề mặt trung tâm tiên phong - Khí tượng số lượng lớn

Chúng ta hãy xem một bộ dữ liệu khác, sử dụng cùng một mã như trên.

Vì vậy, điều này thật thú vị ... Rõ ràng có gần 42.000 khoảng thời gian khác nhau. Nhưng như chúng ta có thể thấy trong 5 hàng đầu tiên, có vẻ như nhiều hàng khoảng 1 phút và 4 giây. Đây là một ví dụ trong đó thời gian chính xác thực sự làm cho mọi thứ trở nên phức tạp hơn một chút so với cần thiết. Chỉ cần nói, cảm biến khí tượng xây dựng đang lấy mẫu khoảng mỗi phút.

Ví dụ 3: Cơ sở Axial Axial Profiler Mooring - CTD¶

Cuối cùng, chúng ta hãy xem thêm một nhạc cụ, lần này là một CTD hồ sơ trên mảng được trích dẫn.

Giống như công cụ khí tượng, CTD định hình này cũng có rất nhiều khoảng thời gian khác nhau trong bộ dữ liệu, do độ chính xác trong cách ghi lại thời gian. Nhưng tất cả chúng dường như được tập trung vào khoảng 1 giây, đây là tỷ lệ lấy mẫu hợp lệ cho một công cụ gắn liền với một trình hồ sơ.

Chỉ để giải trí, hãy vẽ dữ liệu này để xem nó trông như thế nào.

Tỷ lệ lấy mẫu có nghĩa là gì?

Tốc độ lấy mẫu hoặc tần số lấy mẫu xác định số lượng mẫu mỗi giây (hoặc trên mỗi đơn vị khác) được lấy từ tín hiệu liên tục để tạo tín hiệu rời rạc hoặc kỹ thuật số.the number of samples per second (or per other unit) taken from a continuous signal to make a discrete or digital signal.

Việc sử dụng tỷ lệ mẫu là gì?

Bạn càng lấy nhiều mẫu - được gọi là 'Tỷ lệ mẫu' - tệp kỹ thuật số cuối cùng sẽ giống với bản gốc.Tỷ lệ mẫu cao hơn có xu hướng cung cấp tái tạo âm thanh chất lượng tốt hơn.Tỷ lệ mẫu thường được đo mỗi giây, sử dụng kilohertz (kHz) hoặc chu kỳ mỗi giây.A higher sample rate tends to deliver a better-quality audio reproduction. Sample rates are usually measured per second, using kilohertz (kHz) or cycles per second.

Một ví dụ về tỷ lệ mẫu là gì?

Tỷ lệ mẫu âm thanh phổ biến cho âm nhạc là 44.100 mẫu mỗi giây.Đơn vị cho tỷ lệ mẫu là Hertz (Hz).44.100 mẫu mỗi giây là 44.100 hertz hoặc 44,1 kilohertz (kHz).Mạng điện thoại và dịch vụ VoIP có thể sử dụng tỷ lệ mẫu thấp tới 8 kHz.44,100 samples per second. The unit for the sample rate is hertz (Hz) . 44,100 samples per second is 44,100 hertz or 44.1 kilohertz (kHz). Telephone networks and VOIP services can use a sample rate as low as 8 kHz.

Tỷ lệ mẫu là gì và tại sao nó lại quan trọng?

Tốc độ mẫu xác định tốc độ mẫu xác định đáp ứng tần số của ghi âm.Cụ thể, Định lý Nyquist nói rằng tần số âm thanh cao nhất mà chúng ta có thể ghi là một nửa tỷ lệ lấy mẫu.Điều này có nghĩa là với tốc độ mẫu 44,1 kHz, chúng ta có thể ghi lại tín hiệu âm thanh lên tới 22,05 kHz.defines the frequency response of an audio recording. Specifically, the Nyquist Theorem states that the highest audio frequency we can record is half of the sampling rate. This means that with a sample rate of 44.1 kHz, we can record audio signals up to 22.05 kHz.