Sử dụng ChatGPT để Phân tích Dữ liệu Kiểm tra của Bạn

Ari Mahpour
|  Created: Tháng Mười 18, 2023  |  Updated: Tháng Bảy 1, 2024
Sử dụng ChatGPT để Phân tích Dữ liệu Kiểm tra của Bạn

Trong Sử dụng ChatGPT cho Kiểm thử Tự động, chúng tôi đã nói về những cách dễ dàng để sử dụng Trí tuệ Sinh đạo để viết kịch bản kiểm thử và thư viện phần mềm, làm cho việc giao tiếp với thiết bị kiểm thử trở nên đơn giản. Bây giờ, khi bạn đã quen với việc tự động hóa kịch bản kiểm thử của mình, đã đến lúc tự động hóa việc xử lý dữ liệu kiểm thử của bạn nữa. Sử dụng ChatGPT cho phân tích dữ liệu có thể đơn giản và được tổ chức một cách mạch lạc. Trong bài viết này, chúng tôi sẽ xem xét cách làm điều đó với dữ liệu kiểm thử mới từ các bài kiểm tra pin gần đây của tôi.

Bối cảnh

Gần đây tôi đã thực hiện một số bài kiểm tra để đánh giá một loại pin thông minh và muốn xem mức độ chính xác của một số bộ đăng ký báo cáo
cụ thể là:

  1. Nhiệt độ
  2. Điện áp
  3. Dòng điện

 

Dữ liệu đầu ra tôi thu được từ kịch bản kiểm thử của mình ở định dạng CSV nên việc nhập vào Microsoft Excel rất dễ dàng. Tự nhiên, như hầu hết các kỹ sư, tôi có thể đã sử dụng bảng tính với các bảng biểu, biểu đồ đẹp mắt và một số phép toán Excel để tìm dữ liệu mà tôi đang tìm kiếm. Tuy nhiên, tôi quyết định điều tôi thực sự muốn là một trợ lý mà tôi có thể đặt một loạt câu hỏi và nhận lại dữ liệu mà tôi đang tìm kiếm.

Với AI và Mô hình Ngôn ngữ Tự nhiên, tôi có thể đặt câu hỏi bằng tiếng Anh đơn giản về dữ liệu của mình và nhận được kết quả mà tôi đang tìm kiếm. Điều còn tuyệt vời hơn là sự bổ sung gần đây của plugin Phân tích Dữ liệu Nâng cao (trước đây được gọi là “Code Interpreter'') trên GPT-4. Nó không chỉ cho tôi thấy mã Python mà nó viết khi xử lý các chỉ dẫn của tôi, mà còn có thể vẽ biểu đồ dữ liệu cho tôi nữa sử dụng thư viện Matplotlib trong Python. Lưu ý rằng tôi đang nói về phiên bản trả phí của ChatGPT nhưng bạn vẫn có thể nhận được hầu hết những gì bạn đang tìm kiếm trong phiên bản miễn phí của ChatGPT (hoặc các hệ thống Trí tuệ Sinh đạo khác).

Thử Nghiệm Ban Đầu

Trước khi bắt đầu, tôi muốn cảm nhận xem AI của tôi có thể và không thể làm gì cho tôi. Tôi đã tải dữ liệu kiểm thử CSV của mình lên ChatGPT và đặt những câu hỏi đơn giản về dữ liệu như “Nhiệt độ trung bình được báo cáo từ pin là bao nhiêu?” Tôi nhanh chóng phát hiện ra rằng bộ dữ liệu tôi cung cấp quá lớn. Tôi có hai lựa chọn: cắt giảm dữ liệu của mình hoặc yêu cầu nó cung cấp cho tôi các lệnh để chạy đối với dữ liệu của mình một cách địa phương. Tôi quyết định làm cả hai. Với plugin Phân tích Dữ liệu Nâng cao, nó sẽ cung cấp cho bạn đoạn mã (bằng Python) mà nó chạy trên máy của họ. Một khi tôi cung cấp cho GPT-4 tệp của mình sau khi đã cắt giảm, nó đã có thể bắt đầu phân tích dữ liệu.

Trong suốt bài viết này, bạn sẽ thấy các đoạn mã mà nó cung cấp có thể được thực thi địa phương đối với bộ dữ liệu lớn hơn nữa. Việc GPT-4 thực hiện mã trước là một thành phần quan trọng đã bị thiếu khi họ lần đầu tiên ra mắt ChatGPT. Tôi thường xuyên nhận được mã được tạo ra không hoạt động. Với Phân tích Dữ liệu Nâng cao, điều đó đã không còn xảy ra (vì nó sẽ cố gắng tự sửa chữa sau một lỗi).

Khi bạn lần đầu tiên tải dữ liệu của mình, thật tốt khi thử nghiệm một chút. Để bắt đầu, tôi cho ChatGPT cơ hội phân tích dữ liệu của tôi và cho tôi biết nó nghĩ có thể làm gì:

Tải dữ liệu ban đầu

Hình 1: Tải dữ liệu ban đầu

Sau đó, nó đưa ra cho tôi những gợi ý về những gì tôi nghĩ mình muốn xem:

Gợi ý phân tích

Hình 2: Gợi ý phân tích

Tôi tò mò về ma trận tương quan. Tôi tự hỏi nhiệt độ tương quan như thế nào với điện áp và dòng điện nên tôi sẽ hỏi:
Cho tôi xem tương quan giữa nhiệt độ, điện áp/nguồn cung và điện áp/dòng tải.

 

Nó cho tôi một bản phân tích chi tiết về cách tất cả các biến số tương quan:

Ma trận tương quan

Hình 3: Ma trận tương quan

Và nếu tôi yêu cầu ChatGPT vẽ nó cho tôi, tôi nhận được:

Biểu đồ ma trận tương quan

Hình 4: Biểu đồ ma trận tương quan

Nó cho tôi một số tương quan thêm, mà thực sự tôi không quan tâm, nhưng tôi không sao với việc bỏ qua nó.

 

Kiểm Định Dữ Liệu

Bây giờ tôi đã thực hiện một số khám phá dữ liệu, tôi muốn chuyển sang kiểm định các bộ dữ liệu của mình. Như đã đề cập ở trên, tôi muốn biết pin thông minh báo cáo điện áp và dòng điện nội bộ của nó như thế nào. Cách đơn giản nhất để theo dõi điều này là đọc điện áp và công suất tải từ các thiết bị của tôi và so sánh nó với công suất pin được báo cáo. Rõ ràng sẽ có một số mất mát qua cáp và giảm hiệu suất trong bộ sạc nên chúng tôi chỉ xem xét tương quan giữa hai và xác định độ chính xác của chúng từ đó.

Mặc dù mô hình ngôn ngữ tự nhiên mà ChatGPT cung cấp rất tốt, nhưng nó chắc chắn không hoàn hảo. Có một số khái niệm mà nó có thể không hoàn toàn hiểu. Nếu bạn yêu cầu nó thực hiện phân tích thống kê, nó thường hiểu phải làm gì nhưng có thể không luôn hiểu các thuật ngữ kỹ thuật đơn giản. Để khắc phục điều này, tôi cố gắng làm cho các yêu cầu của mình đơn giản nhất có thể để tránh vấn đề về sau. Tôi yêu cầu ChatGPT tạo ba cột dữ liệu mới:

Hãy tạo ba cột dữ liệu mới:

  1. Công Suất Cung Cấp: Điện Áp Cung Cấp * Dòng Cung Cấp
  2. Công Suất Tải: Điện Áp Tải * Dòng Tải
  3. Công Suất Pin: abs(Điện Áp * Dòng)/1000/1000

Tôi cũng cần chỉ ra rằng khi công suất tải của tôi = 0 (nghĩa là tải điện tử DC không hút dòng từ thiết bị đang kiểm tra) điều đó có nghĩa là chúng tôi đang sạc. Khi công suất tải khác không đó là dấu hiệu cho thấy chúng tôi đang xả pin. Một lần nữa, để không gây nhầm lẫn cho GPT-4, tôi đề cập điều này trong yêu cầu như sau:

Vẽ biểu đồ công suất tải và công suất pin theo dấu thời gian nhưng chỉ khi công suất tải khác không

Kết quả tôi nhận được là một biểu đồ đẹp:

Biểu đồ Công suất Tải và Pin

Hình 5: Biểu đồ Công suất Tải và Pin

Giờ đây, khi dữ liệu trông tốt, tôi có thể yêu cầu phân tích tương quan và các phân tích khác:
Cho tôi xem tương quan giữa hai cái (chỉ trong trường hợp khác không)

Tính toán Tương quan

Hình 6: Tính toán Tương quan

Và khi tôi yêu cầu các thống kê khác:
Sự khác biệt trung bình, độ lệch chuẩn, và phương sai giữa hai cái là bao nhiêu (chỉ tính khi khác không) [theo phần trăm]

Thống kê về Công suất Tải và Pin

Hình 7: Thống kê về Công suất Tải và Pin

Điều này giúp tôi xác nhận giả định của mình rằng hai yếu tố này gắn kết chặt chẽ với nhau vì chỉ có một chút tổn thất cáp. Bây giờ tôi thực hiện cùng một phân tích trên phần sạc:

Hãy thực hiện cùng một phân tích nhưng vẽ biểu đồ công suất cung cấp và công suất pin theo dấu thời gian khi công suất tải là 0

Biểu đồ Công suất Cung cấp và Pin

Hình 8: Biểu đồ Công suất Cung cấp và Pin

Như bạn có thể thấy, tôi có một số lỗi. Điều này là do dữ liệu telemetri pin thông minh không đồng bộ với các thiết bị đo của tôi. Lý tưởng nhất, tôi nên chuyển sang chế độ sạc (nghĩa là tắt tải điện tử và bật nguồn cung cấp) và sau đó đợi thêm vài giây trước khi thu thập telemetri. Lý do cho điều này là vì có một loạt các lệnh được gửi giữa pin và bộ sạc để “thương lượng” lượng điện cần cung cấp cho pin. Hãy nghĩ đến điều này như một phiên bản đơn giản của USB-C Power Delivery (nếu bạn quen với khái niệm).

Thật không may, tôi đã không tích hợp việc thu thập dữ liệu telemetry vào script của mình nên giờ đây tôi phải lọc ra những dữ liệu bất thường. Không sao, ChatGPT cũng có thể làm điều đó. Sau vài lần lặp lại, tôi "đào tạo" AI của mình để "học" cái nào được coi là lỗi và cái nào không (ví dụ, cái nào được coi là ngoại lệ không được tính toán trong các hàm phân tích thống kê tiêu chuẩn) và sau đó nó áp dụng kiến thức đó:

Biểu đồ đã lọc của Nguồn cung và Năng lượng Pin

Hình 9: Biểu đồ đã lọc của Nguồn cung và Năng lượng Pin

Khi tôi yêu cầu các số liệu thống kê giống nhau, tôi nhận được một bảng phân tích đầy đủ:

Số liệu thống kê trên biểu đồ đã lọc của Nguồn cung và Năng lượng Pin Số liệu thống kê trên biểu đồ đã lọc của Nguồn cung và Năng lượng Pin1


Hình 10: Số liệu thống kê trên biểu đồ đã lọc của Nguồn cung và Năng lượng Pin

Đây là tin tốt. Tôi đang mong đợi một sự khác biệt lớn hơn giữa các giá trị vì có sự mất mát ở cả cáp và bộ chuyển đổi năng lượng.

Làm sạch Dữ liệu

ChatGPT cũng có thể hoạt động như một công cụ làm sạch dữ liệu của bạn bằng cách tìm kiếm những bất thường. Trong quá khứ, tôi đã thấy một số lỗi khi bộ đăng ký nhiệt độ hoạt động không ổn định. Tôi yêu cầu ChatGPT "cho tôi biết nếu bạn thấy bất kỳ lỗi nào trong dữ liệu của tôi" và nó trả lời với:

Tìm kiếm bất thường trên dữ liệu Nhiệt độ

Hình 11: Tìm kiếm bất thường trên dữ liệu Nhiệt độ

Điều này có thể cung cấp cho bạn một điểm xuất phát tốt trong việc xác định lỗi. Trong bài kiểm tra cụ thể này, có vẻ như bộ đăng ký nhiệt độ đang hoạt động chính xác.. Hãy xem biểu đồ hiệu suất năng lượng này mà tôi yêu cầu ChatGPT vẽ cho tôi:

Vẽ biểu đồ hiệu suất năng lượng

Hình 12: Vẽ biểu đồ hiệu suất năng lượng

Rõ ràng là có một số bất thường trong dữ liệu của tôi. Chắc chắn không thể có hiệu suất > 100% và GPT-4 cũng biết điều này:

Quan điểm của ChatGpt về bất thường

Hình 13: Quan điểm của ChatGPT về bất thường

Sau khi điều tra, tôi phát hiện ra rằng thực sự đã có một sự cố xảy ra trên bus truyền thông. Tôi yêu cầu ChatGPT lọc ra tất cả các điểm dữ liệu nơi hiệu suất > 100%. Tại thời điểm này, tôi có thể yêu cầu một liên kết tải xuống để lấy dữ liệu đã lọc, vẽ lại biểu đồ, hoặc lọc thêm.

Kết luận

Trong bài viết này, chúng ta xem xét các cách sử dụng ChatGPT để phân tích, lọc và thao tác dữ liệu thử nghiệm của chúng ta từ các báo cáo thử nghiệm. Chúng ta bắt đầu bằng cách tải lên dữ liệu thử nghiệm và hỏi ChatGPT nó có thể làm gì, sau đó chuyển sang xác thực và làm sạch dữ liệu. Điều quan trọng cần nhớ ở đây là chúng ta có thể sử dụng ngôn ngữ tự nhiên để tự mình khám phá dữ liệu một cách có hướng dẫn. Trong những tháng tới, chúng ta sẽ thấy các đối thủ khác trong lĩnh vực AI bắt đầu cung cấp các tính năng như vậy được tích hợp vào ứng dụng của họ. Khi chúng ta bước vào hệ sinh thái này, chúng ta sẽ sử dụng AI để hỗ trợ và hướng dẫn chúng ta qua quá trình phân tích thay vì thay thế chúng ta. Khi AI trở nên phổ biến hơn trong xử lý dữ liệu, khả năng của chúng ta như cá nhân sẽ phát triển, mở ra vô số khả năng và tiềm năng.

About Author

About Author

Ari is an engineer with broad experience in designing, manufacturing, testing, and integrating electrical, mechanical, and software systems. He is passionate about bringing design, verification, and test engineers together to work as a cohesive unit.

Related Resources

Tài liệu kỹ thuật liên quan

Back to Home
Thank you, you are now subscribed to updates.