Xử lý các hàm cửa sổ chuỗi thời gian trong các cuộc phỏng vấn khoa học dữ liệu

Xử lý các hàm cửa sổ chuỗi thời gian trong các cuộc phỏng vấn khoa học dữ liệu
– Cập nhật kiến thức mới nhất năm 2023

Các nhà khoa học dữ liệu xử lý dữ liệu chuỗi thời gian hàng ngày và có thể thao tác cũng như phân tích những dữ liệu này là một phần bắt buộc của công việc. Các hàm cửa sổ SQL cho phép bạn làm điều này và là một câu hỏi phỏng vấn phổ biến về khoa học dữ liệu. Vì vậy, hãy nói về dữ liệu chuỗi thời gian là gì, khi nào nên sử dụng chúng và cách triển khai các chức năng để giúp quản lý dữ liệu chuỗi thời gian.

Dữ liệu chuỗi thời gian là gì?

Dữ liệu chuỗi thời gian là các biến trong dữ liệu của bạn có thành phần thời gian. Điều này có nghĩa là mỗi giá trị trong thuộc tính này có giá trị ngày hoặc giờ, đôi khi chúng có cả hai. Dưới đây là một số ví dụ về dữ liệu chuỗi thời gian:

• Giá cổ phiếu hàng ngày cho các công ty vì mỗi giá cổ phiếu được liên kết với một ngày cụ thể

• Giá trị chỉ số chứng khoán trung bình hàng ngày trong vài năm qua vì mỗi giá trị được ánh xạ tới một ngày cụ thể

• Lượt truy cập duy nhất vào một trang web trong hơn một tháng

• Đăng ký nền tảng mỗi ngày

• Doanh số và doanh thu hàng tháng

• Đăng nhập hàng ngày cho một ứng dụng

Chức năng cửa sổ LAG và LEAD

Khi xử lý dữ liệu chuỗi thời gian, phép tính phổ biến là tính mức tăng trưởng hoặc mức trung bình theo thời gian. Điều này có nghĩa là bạn sẽ cần lấy ngày trong tương lai hoặc ngày trước đó và các giá trị liên quan của ngày đó.

Hai hàm WINDOW cho phép bạn thực hiện điều này là LAG và LEAD, cực kỳ hữu ích để xử lý dữ liệu liên quan đến thời gian. Sự khác biệt chính giữa LAG và LEAD là LAG lấy dữ liệu từ các hàng trước đó, trong khi LEAD thì ngược lại, nó lấy dữ liệu từ các hàng tiếp theo.

Chẳng hạn, chúng ta có thể sử dụng một trong hai chức năng để so sánh mức tăng trưởng hàng tháng. Là một chuyên gia phân tích dữ liệu, bạn rất có khả năng làm việc đúng giờ với dữ liệu liên quan và nếu bạn có thể sử dụng LAG hoặc LEAD một cách hiệu quả, bạn sẽ trở thành một nhà khoa học dữ liệu rất hiệu quả.

Câu hỏi phỏng vấn về khoa học dữ liệu yêu cầu chức năng cửa sổ

Chúng ta hãy xem qua một câu hỏi phỏng vấn sql về khoa học dữ liệu nâng cao liên quan đến chức năng cửa sổ này. Bạn sẽ thấy các chức năng của cửa sổ thường là một phần của các câu hỏi phỏng vấn nhưng bạn cũng sẽ thấy chúng rất nhiều trong công việc hàng ngày của mình, vì vậy điều quan trọng là phải biết cách sử dụng chúng.

Hãy xem qua một câu hỏi từ Airbnb có tên là tăng trưởng của Airbnb. Nếu bạn muốn theo dõi một cách tương tác, bạn có thể làm như vậy ở đây.

Câu hỏi đặt ra là ước tính mức tăng trưởng của Airbnb mỗi năm bằng cách sử dụng số lượng máy chủ đăng ký làm thước đo tăng trưởng. Tốc độ tăng trưởng được tính bằng cách lấy ((số lượng máy chủ đăng ký trong năm hiện tại – số lượng máy chủ đăng ký trong năm trước) / số lượng máy chủ đăng ký trong năm trước) * 100.

Kết xuất năm, số lượng máy chủ trong năm hiện tại, số lượng máy chủ trong năm trước và tốc độ tăng trưởng. Làm tròn tỷ lệ tăng trưởng đến phần trăm gần nhất và sắp xếp kết quả theo thứ tự tăng dần dựa trên năm.

Cách tiếp cận Bước 1: Đếm máy chủ cho năm hiện tại

Bước đầu tiên là đếm máy chủ theo năm, vì vậy chúng tôi sẽ cần trích xuất năm từ các giá trị ngày.

CHỌN trích xuất (năm

TỪ host_since::date) NHƯ năm,

số lượng (id) current_year_host

TỪ airbnb_search_details

WHERE host_since KHÔNG PHẢI LÀ NULL

NHÓM THEO chiết xuất (năm

TỪ host_since::date)

ĐẶT HÀNG THEO NĂM

Cách tiếp cận Bước 2: Đếm máy chủ cho năm trước.

Đây là nơi bạn sẽ sử dụng chức năng cửa sổ LAG. Tại đây, bạn sẽ tạo một chế độ xem trong đó chúng ta có năm, số lượng người tổ chức trong năm hiện tại và sau đó là số lượng người tổ chức từ năm trước. Sử dụng hàm trễ cho số năm trước và lấy giá trị của năm trước và đặt nó vào cùng một hàng với số của năm nay. Bằng cách này, bạn sẽ có 3 cột trong chế độ xem của mình — năm, số lượng máy chủ của năm hiện tại và số lượng máy chủ của năm trước. Chức năng LAG cho phép bạn dễ dàng lấy số lượng máy chủ năm ngoái trong hàng của mình. Điều này giúp bạn dễ dàng triển khai bất kỳ số liệu nào như tốc độ tăng trưởng vì bạn có tất cả các giá trị cần thiết trên một hàng để SQL dễ dàng tính toán số liệu. Đây là mã cho nó:

CHỌN năm,

current_year_host,

LAG(current_year_host, 1) QUÁ (ĐẶT HÀNG THEO NĂM) NHƯ prev_year_host

TỪ

(CHỌN trích xuất (năm

TỪ host_since::date) NHƯ năm,

số lượng (id) current_year_host

TỪ airbnb_search_details

WHERE host_since KHÔNG PHẢI LÀ NULL

NHÓM THEO chiết xuất (năm

TỪ host_since::date)

LỆNH THEO năm) t1) t2

Cách tiếp cận 3: Thực hiện chỉ số tăng trưởng

Như đã đề cập trước đó, việc triển khai chỉ số như chỉ số bên dưới sẽ dễ dàng hơn nhiều khi tất cả các giá trị nằm trên một hàng. Đây là lý do tại sao bạn thực hiện chức năng LAG. Triển khai vòng tính tốc độ tăng trưởng(((current_year_host – prev_year_host)/(cast(prev_year_host AS số)))*100) ước tính_tăng trưởng

CHỌN năm,

current_year_host,

trước_year_host,

round(((current_year_host – prev_year_host)/(cast(prev_year_host AS số)))*100) ước tính_tăng trưởng

TỪ

(CHỌN năm,

current_year_host,

LAG(current_year_host, 1) QUÁ (ĐẶT HÀNG THEO NĂM) NHƯ prev_year_host

TỪ

(CHỌN trích xuất (năm

TỪ host_since::date) NHƯ năm,

số lượng (id) current_year_host

TỪ airbnb_search_details

WHERE host_since KHÔNG PHẢI LÀ NULL

NHÓM THEO chiết xuất (năm

TỪ host_since::date)

LỆNH THEO năm) t1) t2

Kết thúc

Ngoài các bài viết tin tức, bài báo hàng ngày của SEMTEK, nguồn nội dung cũng bao gồm các bài viết từ các cộng tác viên chuyên gia đầu ngành về chuỗi kiến thức Kinh doanh, chiến lược tiếp thị, kiến thức quản trị doanh nghiệp và kiến thức quản lý, phát triển tổ chức doanh nghiệp,.. được chia sẽ chủ yếu từ nhiều khía cạnh liên quan chuỗi kiến thức này.

Bạn có thể dành thời gian để xem thêm các chuyên mục nội dung chính với các bài viết tư vấn, chia sẻ mới nhất, các tin tức gần đây từ chuyên gia và đối tác của Chúng tôi. Cuối cùng, với các kiến thức chia sẻ của bài viết, hy vọng góp phần nào kiến thức hỗ trợ cho độc giả tốt hơn trong hoạt động nghề nghiệp cá nhân!

* Ý kiến được trình bày trong bài viết này là của tác giả khách mời và không nhất thiết phải là SEMTEK. Nhân viên tác giả, cộng tác viên biên tập sẽ được liệt kê bên cuối bài viết.

Trân trọng,

Các chuyên mục nội dung liên quan