Chuỗi thời gian đường xu hướng python
Khi muốn thêm đường xu hướng vào biểu đồ trong Microsoft Graph, bạn có thể chọn bất kỳ loại nào trong số sáu loại xu hướng/hồi quy khác nhau. Loại dữ liệu bạn có xác định loại đường xu hướng bạn nên sử dụng Show
Độ tin cậy của đường xu hướng Một đường xu hướng đáng tin cậy nhất khi giá trị bình phương R của nó bằng hoặc gần bằng 1. Khi bạn điều chỉnh đường xu hướng cho phù hợp với dữ liệu của mình, Biểu đồ sẽ tự động tính toán giá trị bình phương R của nó. Nếu muốn, bạn có thể hiển thị giá trị này trên biểu đồ của mình tuyến tính Đường xu hướng tuyến tính là đường thẳng phù hợp nhất được sử dụng với các tập dữ liệu tuyến tính đơn giản. Dữ liệu của bạn là tuyến tính nếu mẫu trong các điểm dữ liệu của nó giống một đường thẳng. Đường xu hướng tuyến tính thường cho thấy một thứ gì đó đang tăng hoặc giảm với tốc độ ổn định Trong ví dụ sau, một đường xu hướng tuyến tính cho thấy rõ ràng rằng doanh số bán tủ lạnh đã tăng liên tục trong khoảng thời gian 13 năm. Lưu ý rằng giá trị bình phương R là 0. 9036, đường dây này rất phù hợp với dữ liệu logarit Đường xu hướng logarit là đường cong phù hợp nhất, hữu ích nhất khi tốc độ thay đổi của dữ liệu tăng hoặc giảm nhanh chóng rồi cân bằng. Đường xu hướng logarit có thể sử dụng các giá trị âm và/hoặc dương Ví dụ sau sử dụng đường xu hướng logarit để minh họa sự gia tăng dân số dự đoán của động vật trong một khu vực không gian cố định, nơi dân số cân bằng khi không gian cho động vật giảm. Lưu ý rằng giá trị bình phương R là 0. 9407, tương đối phù hợp với dòng dữ liệu đa thức Đường xu hướng đa thức là một đường cong được sử dụng khi dữ liệu dao động. Ví dụ, nó rất hữu ích để phân tích lãi và lỗ trên một tập dữ liệu lớn. Bậc của đa thức có thể được xác định bởi số lần dao động trong dữ liệu hoặc bởi số lượng khúc cua (đồi và thung lũng) xuất hiện trong đường cong. Đường xu hướng đa thức của Lệnh 2 thường chỉ có một ngọn đồi hoặc thung lũng. Thứ tự 3 thường có một hoặc hai ngọn đồi hoặc thung lũng. Đơn đặt hàng 4 thường có tới ba Ví dụ sau đây cho thấy một đường xu hướng đa thức Order 2 (một ngọn đồi) để minh họa mối quan hệ giữa tốc độ và mức tiêu thụ xăng. Lưu ý rằng giá trị bình phương R là 0. 9474, rất phù hợp với dòng dữ liệu Quyền lực Đường xu hướng công suất là một đường cong được sử dụng tốt nhất với các tập dữ liệu so sánh các phép đo tăng ở một tốc độ cụ thể — ví dụ: gia tốc của một chiếc xe đua trong khoảng thời gian một giây. Bạn không thể tạo đường xu hướng sức mạnh nếu dữ liệu của bạn chứa các giá trị bằng 0 hoặc âm Trong ví dụ sau, dữ liệu gia tốc được hiển thị bằng cách vẽ đồ thị khoảng cách tính bằng mét theo giây. Đường xu hướng sức mạnh thể hiện rõ ràng khả năng tăng tốc ngày càng tăng. Lưu ý rằng giá trị bình phương R là 0. 9923, đây là một đường dây gần như hoàn toàn phù hợp với dữ liệu số mũ Đường xu hướng hàm mũ là một đường cong hữu ích nhất khi giá trị dữ liệu tăng hoặc giảm với tốc độ ngày càng cao. Bạn không thể tạo đường xu hướng hàm mũ nếu dữ liệu của bạn chứa các giá trị bằng 0 hoặc âm Trong ví dụ sau, một đường xu hướng hàm mũ được sử dụng để minh họa lượng carbon 14 giảm dần trong một vật thể khi nó già đi. Lưu ý rằng giá trị bình phương R là 1, có nghĩa là dòng hoàn toàn phù hợp với dữ liệu trung bình động Đường xu hướng trung bình động làm phẳng các biến động trong dữ liệu để hiển thị một mô hình hoặc xu hướng rõ ràng hơn. Đường xu hướng trung bình động sử dụng một số điểm dữ liệu cụ thể (được đặt theo tùy chọn Khoảng thời gian), tính trung bình chúng và sử dụng giá trị trung bình làm một điểm trong đường xu hướng. Ví dụ: nếu Khoảng thời gian được đặt thành 2, thì trung bình của hai điểm dữ liệu đầu tiên được sử dụng làm điểm đầu tiên trong đường xu hướng trung bình động. Giá trị trung bình của điểm dữ liệu thứ hai và thứ ba được sử dụng làm điểm thứ hai trong đường xu hướng, v.v. Trong ví dụ sau, đường xu hướng trung bình động cho thấy một mô hình về số lượng nhà được bán trong khoảng thời gian 26 tuần Biểu đồ đường của các quan sát theo thời gian rất phổ biến, nhưng có một bộ các biểu đồ khác mà bạn có thể sử dụng để tìm hiểu thêm về vấn đề của mình Bạn càng tìm hiểu nhiều về dữ liệu của mình, bạn càng có nhiều khả năng phát triển một mô hình dự báo tốt hơn Trong hướng dẫn này, bạn sẽ khám phá 6 loại biểu đồ khác nhau mà bạn có thể sử dụng để trực quan hóa dữ liệu chuỗi thời gian bằng Python Cụ thể sau khi hoàn thành bài hướng dẫn này, bạn sẽ biết
Bắt đầu dự án của bạn với cuốn sách mới của tôi Dự báo chuỗi thời gian với Python, bao gồm các hướng dẫn từng bước và các tệp mã nguồn Python cho tất cả các ví dụ Bắt đầu nào
Trực quan hóa chuỗi thời gianTrực quan hóa đóng một vai trò quan trọng trong phân tích và dự báo chuỗi thời gian Biểu đồ của dữ liệu mẫu thô có thể cung cấp chẩn đoán có giá trị để xác định các cấu trúc thời gian như xu hướng, chu kỳ và tính thời vụ có thể ảnh hưởng đến việc lựa chọn mô hình Một vấn đề là nhiều người mới trong lĩnh vực dự báo chuỗi thời gian dừng lại với biểu đồ đường Trong hướng dẫn này, chúng ta sẽ xem xét 6 loại trực quan hóa khác nhau mà bạn có thể sử dụng trên dữ liệu chuỗi thời gian của riêng mình. họ đang
Trọng tâm là chuỗi thời gian đơn biến, nhưng các kỹ thuật này cũng có thể áp dụng cho chuỗi thời gian đa biến, khi bạn có nhiều hơn một quan sát tại mỗi bước thời gian Tiếp theo, chúng ta hãy xem tập dữ liệu mà chúng ta sẽ sử dụng để minh họa trực quan hóa chuỗi thời gian trong hướng dẫn này Ngừng học Chuỗi thời gian Dự báo con đường chậmTham gia khóa học email 7 ngày miễn phí của tôi và khám phá cách bắt đầu (với mã mẫu) Nhấp để đăng ký và cũng nhận được phiên bản PDF Ebook miễn phí của khóa học Bắt đầu khóa học nhỏ MIỄN PHÍ của bạn ngay bây giờ Bộ dữ liệu nhiệt độ tối thiểu hàng ngàyBộ dữ liệu này mô tả nhiệt độ tối thiểu hàng ngày trong hơn 10 năm (1981-1990) tại thành phố Melbourne, Úc Các đơn vị tính bằng độ C và có 3.650 quan sát. Nguồn dữ liệu được ghi nhận là Cục Khí tượng Úc
Tải xuống tập dữ liệu và đặt nó vào thư mục làm việc hiện tại với tên tệp “nhiệt độ tối thiểu hàng ngày. csv“ Dưới đây là một ví dụ về việc tải tập dữ liệu dưới dạng Sê-ri Panda 1 2 3 4 từ gấu trúc nhập read_csv từ matplotlib nhập pyplot sê-ri = read_csv('daily-minimum- . csv', tiêu đề=0, index_col=0, parse_dates=True, squeeze=True) in(sê-ri. đầu()) Chạy ví dụ tải tập dữ liệu và in 5 hàng đầu tiên 1 2 3 4 5 6 7 Ngày 1981-01-01 20. 7 1981-01-02 17. 9 1981-01-03 18. 8 1981-01-04 14. 6 1981-01-05 15. 8 Tên. Nhiệt độ, loại. phao64 1. Biểu đồ dòng thời gianHình ảnh đầu tiên và có lẽ là phổ biến nhất cho chuỗi thời gian là biểu đồ đường Trong biểu đồ này, thời gian được hiển thị trên trục x với các giá trị quan sát dọc theo trục y Dưới đây là một ví dụ về trực quan hóa Chuỗi Pandas của bộ dữ liệu Nhiệt độ tối thiểu hàng ngày trực tiếp dưới dạng biểu đồ đường 1 2 3 4 5 từ gấu trúc nhập read_csv từ matplotlib nhập pyplot sê-ri = read_csv('daily-minimum- . csv', tiêu đề=0, index_col=0, parse_dates=True, squeeze=True) sê-ri. âm mưu() pyplot. hiển thị() Chạy ví dụ này sẽ tạo một biểu đồ đường Biểu đồ đường nhiệt độ tối thiểu hàng ngày Cốt truyện khá dày đặc Đôi khi nó có thể giúp thay đổi phong cách của biểu đồ đường; Dưới đây là một ví dụ về việc thay đổi kiểu của đường thành chấm đen thay vì đường được kết nối (kiểu=’k. ' tranh luận) Chúng ta có thể thay đổi ví dụ này để sử dụng đường đứt nét bằng cách đặt kiểu thành 'k–' 1 2 3 4 5 từ gấu trúc nhập read_csv từ matplotlib nhập pyplot sê-ri = read_csv('daily-minimum- . csv', tiêu đề=0, index_col=0, parse_dates=True, squeeze=True) sê-ri. cốt truyện(phong cách=' . ') pyplot. hiển thị() Chạy ví dụ này sẽ tạo lại cùng một biểu đồ đường có dấu chấm thay vì đường được kết nối Biểu đồ điểm nhiệt độ tối thiểu hàng ngày Có thể hữu ích khi so sánh các biểu đồ đường trong cùng một khoảng thời gian, chẳng hạn như từ ngày này sang ngày khác, tháng này sang tháng khác và năm này sang năm khác Bộ dữ liệu Nhiệt độ tối thiểu hàng ngày kéo dài 10 năm. Chúng ta có thể nhóm dữ liệu theo năm và tạo biểu đồ đường cho từng năm để so sánh trực tiếp Ví dụ dưới đây cho thấy làm thế nào để làm điều này Sau đó, các nhóm được liệt kê và các quan sát cho mỗi năm được lưu trữ dưới dạng các cột trong Khung dữ liệu mới Cuối cùng, một biểu đồ của Khung dữ liệu giả tạo này được tạo với mỗi cột được hiển thị dưới dạng một biểu đồ con với các chú giải được loại bỏ để giảm bớt sự lộn xộn 1 2 3 4 5 6 7 8 9 10 11 từ gấu trúc nhập read_csv từ gấu trúc nhập Khung dữ liệu từ gấu trúc nhập cá mú từ matplotlib nhập pyplot sê-ri = read_csv('daily-minimum- . csv', tiêu đề=0, index_col=0, parse_dates=True, squeeze=True) nhóm = sê-ri. nhóm(Nhóm(tần số='A')) năm = Khung dữ liệu() cho tên, nhóm trong groups: năm[tên. năm] = nhóm. giá trị năm. ô(ô phụ=True, legend=False) pyplot. hiển thị() Chạy ví dụ này sẽ tạo ra 10 ô đường, mỗi ô cho mỗi năm từ năm 1981 ở trên cùng và năm 1990 ở dưới cùng, trong đó mỗi ô đường có độ dài 365 ngày Nhiệt độ tối thiểu hàng ngày Biểu đồ đường hàng năm 2. Biểu đồ chuỗi thời gian và biểu đồ mật độMột trực quan quan trọng khác là bản thân sự phân bố của các quan sát Điều này có nghĩa là một biểu đồ của các giá trị không có thứ tự thời gian Một số phương pháp dự báo chuỗi thời gian tuyến tính giả định phân phối các quan sát hoạt động tốt (i. e. đường cong hình chuông hoặc phân phối chuẩn). Điều này có thể được kiểm tra rõ ràng bằng các công cụ như kiểm tra giả thuyết thống kê. Nhưng các sơ đồ có thể cung cấp một kiểm tra hữu ích đầu tiên về sự phân bố của các quan sát cả trên các quan sát thô và sau khi bất kỳ loại chuyển đổi dữ liệu nào đã được thực hiện Ví dụ bên dưới tạo biểu đồ biểu đồ của các quan sát trong bộ dữ liệu Nhiệt độ tối thiểu hàng ngày. Biểu đồ nhóm các giá trị thành các ngăn và tần suất hoặc số lượng quan sát trong mỗi ngăn có thể cung cấp thông tin chi tiết về phân phối cơ bản của các quan sát 1 2 3 4 5 từ gấu trúc nhập read_csv từ matplotlib nhập pyplot sê-ri = read_csv('daily-minimum- . csv', tiêu đề=0, index_col=0, parse_dates=True, squeeze=True) sê-ri. lịch sử() pyplot. hiển thị() Chạy ví dụ này cho thấy một phân phối trông giống Gaussian. Chức năng vẽ đồ thị tự động chọn kích thước của các thùng dựa trên sự trải rộng của các giá trị trong dữ liệu Sơ đồ biểu đồ nhiệt độ hàng ngày tối thiểu Chúng ta có thể hiểu rõ hơn về hình dạng phân bố của các quan sát bằng cách sử dụng biểu đồ mật độ Điều này giống như biểu đồ, ngoại trừ một chức năng được sử dụng để phù hợp với phân phối của các quan sát và một đường thẳng đẹp, mượt mà được sử dụng để tóm tắt phân phối này Dưới đây là một ví dụ về biểu đồ mật độ của bộ dữ liệu Nhiệt độ hàng ngày tối thiểu 1 2 3 4 5 từ gấu trúc nhập read_csv từ matplotlib nhập pyplot sê-ri = read_csv('daily-minimum- . csv', tiêu đề=0, index_col=0, parse_dates=True, squeeze=True) sê-ri. cốt truyện(loại=') pyplot. hiển thị() Chạy ví dụ này sẽ tạo ra một biểu đồ cung cấp bản tóm tắt rõ ràng hơn về phân phối các quan sát. Chúng ta có thể thấy rằng có lẽ phân phối hơi bất đối xứng và có lẽ hơi nhọn để trở thành Gaussian Nhìn thấy một phân phối như thế này có thể gợi ý sau này khám phá các thử nghiệm giả thuyết thống kê để kiểm tra chính thức xem phân phối có phải là Gaussian hay không và có lẽ là các kỹ thuật chuẩn bị dữ liệu để định hình lại phân phối, như biến đổi Box-Cox Biểu đồ mật độ nhiệt độ hàng ngày tối thiểu 3. Hộp chuỗi thời gian và ô đánh dấu theo khoảng thời gianBiểu đồ biểu đồ và biểu đồ mật độ cung cấp thông tin chi tiết về phân phối của tất cả các quan sát, nhưng chúng tôi có thể quan tâm đến phân phối giá trị theo khoảng thời gian Một loại biểu đồ khác hữu ích để tóm tắt sự phân bố của các quan sát là biểu đồ hộp và râu ria. Biểu đồ này vẽ một hộp xung quanh phân vị thứ 25 và 75 của dữ liệu nắm bắt 50% quan sát ở giữa. Một đường được vẽ ở phân vị thứ 50 (trung vị) và các râu được vẽ ở trên và dưới hộp để tóm tắt phạm vi chung của các quan sát. Các dấu chấm được vẽ cho các ngoại lệ bên ngoài râu hoặc phạm vi của dữ liệu Có thể tạo và so sánh các biểu đồ hộp và biểu đồ râu cho từng khoảng thời gian trong một chuỗi thời gian, chẳng hạn như năm, tháng hoặc ngày Dưới đây là một ví dụ về nhóm bộ dữ liệu Nhiệt độ tối thiểu hàng ngày theo năm, như đã được thực hiện ở trên trong ví dụ biểu đồ. Sau đó, một biểu đồ hộp và râu ria được tạo cho mỗi năm và xếp cạnh nhau để so sánh trực tiếp 1 2 3 4 5 6 7 8 9 10 11 từ gấu trúc nhập read_csv từ gấu trúc nhập Khung dữ liệu từ gấu trúc nhập cá mú từ matplotlib nhập pyplot sê-ri = read_csv('daily-minimum- . csv', tiêu đề=0, index_col=0, parse_dates=True, squeeze=True) nhóm = sê-ri. nhóm(Nhóm(tần số='A')) năm = Khung dữ liệu() cho tên, nhóm trong groups: năm[tên. năm] = nhóm. giá trị năm. boxplot() pyplot. hiển thị() So sánh các biểu đồ hộp và biểu đồ râu theo các khoảng nhất quán là một công cụ hữu ích. Trong một khoảng thời gian, nó có thể giúp phát hiện ra các điểm ngoại lệ (các chấm bên trên hoặc bên dưới râu) Qua các khoảng thời gian, trong trường hợp này là các năm, chúng ta có thể tìm kiếm xu hướng nhiều năm, tính thời vụ và thông tin cấu trúc khác có thể được lập mô hình Nhiệt độ tối thiểu hàng ngày Biểu đồ ô và râu hàng năm Chúng tôi cũng có thể quan tâm đến việc phân phối các giá trị qua các tháng trong vòng một năm Ví dụ dưới đây tạo ra 12 ô vuông và ô vuông, mỗi ô cho mỗi tháng của năm 1990, năm cuối cùng trong bộ dữ liệu Trong ví dụ này, đầu tiên, chỉ các quan sát từ năm 1990 được trích xuất Sau đó, các quan sát được nhóm theo tháng và mỗi tháng được thêm vào Khung dữ liệu mới dưới dạng cột Cuối cùng, một biểu đồ hộp và râu ria được tạo cho mỗi cột tháng trong DataFrame mới được tạo 1 2 3 4 5 6 7 8 9 10 11 12 13 14 # tạo một boxplot dữ liệu hàng tháng từ gấu trúc nhập read_csv từ gấu trúc nhập Khung dữ liệu từ gấu trúc nhập cá mú từ matplotlib nhập pyplot từ gấu trúc nhập concat sê-ri = read_csv('daily-minimum- . csv', tiêu đề=0, index_col=0, parse_dates=True, squeeze=True) one_year = sê-ri['1990'] nhóm = one_year. nhóm(Nhóm(tần số='M')) tháng = concat([DataFrame(x[1].giá trị) cho x trong groups], axis=1) tháng = DataFrame(tháng) tháng. cột = phạm vi(1,13) tháng. boxplot() pyplot. hiển thị() Chạy ví dụ này sẽ tạo ra 12 biểu đồ hình hộp và râu ria, cho thấy sự thay đổi đáng kể trong phân bố nhiệt độ tối thiểu qua các tháng trong năm từ mùa hè ở Nam bán cầu vào tháng 1 đến mùa đông ở Nam bán cầu vào giữa năm và quay trở lại mùa hè một lần nữa Ô hàng tháng và nhiệt độ tối thiểu hàng tháng 4. Bản đồ nhiệt chuỗi thời gianMột ma trận các số có thể được vẽ dưới dạng một bề mặt, trong đó các giá trị trong mỗi ô của ma trận được gán một màu duy nhất Đây được gọi là bản đồ nhiệt, vì các giá trị lớn hơn có thể được vẽ bằng các màu ấm hơn (màu vàng và đỏ) và các giá trị nhỏ hơn có thể được vẽ bằng các màu lạnh hơn (xanh dương và xanh lá cây) Giống như biểu đồ hộp và biểu đồ râu, chúng ta có thể so sánh các quan sát giữa các khoảng thời gian bằng cách sử dụng bản đồ nhiệt Trong trường hợp Nhiệt độ tối thiểu hàng ngày, các quan sát có thể được sắp xếp thành một ma trận gồm các cột năm và hàng ngày, với nhiệt độ tối thiểu trong ô cho mỗi ngày. Một bản đồ nhiệt của ma trận này sau đó có thể được vẽ Dưới đây là một ví dụ về việc tạo bản đồ nhiệt của dữ liệu Nhiệt độ tối thiểu hàng ngày. Hàm matshow() từ thư viện matplotlib được sử dụng vì không có hỗ trợ bản đồ nhiệt nào được cung cấp trực tiếp trong Pandas Để thuận tiện, ma trận được xoay (hoán đổi) sao cho mỗi hàng biểu thị một năm và mỗi cột một ngày. Điều này cung cấp bố cục dữ liệu trực quan hơn, từ trái sang phải 1 2 3 4 5 6 7 8 9 10 11 12 từ gấu trúc nhập read_csv từ gấu trúc nhập Khung dữ liệu từ gấu trúc nhập cá mú từ matplotlib nhập pyplot sê-ri = read_csv('daily-minimum- . csv', tiêu đề=0, index_col=0, parse_dates=True, squeeze=True) nhóm = sê-ri. nhóm(Nhóm(tần số='A')) năm = Khung dữ liệu() cho tên, nhóm trong groups: năm[tên. năm] = nhóm. giá trị năm = năm. T pyplot. matshow(năm, nội suy=None, aspect='auto') pyplot. hiển thị() Biểu đồ cho thấy nhiệt độ tối thiểu mát hơn vào những ngày giữa năm và nhiệt độ tối thiểu ấm hơn vào đầu và cuối năm, và tất cả sự mờ dần và phức tạp ở giữa Biểu đồ nhiệt độ tối thiểu hàng ngày hàng năm Như với ví dụ về biểu đồ hộp và râu ở trên, chúng ta cũng có thể so sánh các tháng trong một năm Dưới đây là một ví dụ về bản đồ nhiệt so sánh các tháng trong năm 1990. Mỗi cột đại diện cho một tháng, với các hàng đại diện cho các ngày trong tháng từ 1 đến 31 1 2 3 4 5 6 7 8 9 10 11 12 13 từ gấu trúc nhập read_csv từ gấu trúc nhập Khung dữ liệu từ gấu trúc nhập cá mú từ matplotlib nhập pyplot từ gấu trúc nhập concat sê-ri = read_csv('daily-minimum- . csv', tiêu đề=0, index_col=0, parse_dates=True, squeeze=True) one_year = sê-ri['1990'] nhóm = one_year. nhóm(Nhóm(tần số='M')) tháng = concat([DataFrame(x[1].giá trị) cho x trong groups], axis=1) tháng = DataFrame(tháng) tháng. cột = phạm vi(1,13) pyplot. matshow(tháng, nội suy=None, aspect='auto') pyplot. hiển thị() Chạy ví dụ này cho thấy cùng một xu hướng vĩ mô được thấy cho mỗi năm ở mức thu phóng hàng tháng Chúng ta cũng có thể thấy một số mảng trắng ở cuối cốt truyện. Điều này thiếu dữ liệu cho những tháng có ít hơn 31 ngày, với tháng 2 là một tháng khá ngoại lệ với 28 ngày vào năm 1990 Biểu đồ nhiệt độ hàng ngày tối thiểu hàng tháng 5. Biểu đồ tán xạ trễ chuỗi thời gianMô hình chuỗi thời gian giả định mối quan hệ giữa một quan sát và quan sát trước đó Các quan sát trước đó trong một chuỗi thời gian được gọi là độ trễ, với quan sát ở bước thời gian trước đó được gọi là lag1, quan sát ở hai bước thời gian trước lag2, v.v. Một loại biểu đồ hữu ích để khám phá mối quan hệ giữa từng quan sát và độ trễ của quan sát đó được gọi là biểu đồ phân tán Pandas có một chức năng tích hợp cho chính xác điều này được gọi là biểu đồ độ trễ. Nó vẽ sơ đồ quan sát tại thời điểm t trên trục x và quan sát lag1 (t-1) trên trục y
Nhiều điểm gần hơn với đường chéo cho thấy mối quan hệ mạnh mẽ hơn và nhiều điểm hơn từ đường này cho thấy mối quan hệ yếu hơn Một quả bóng ở giữa hoặc trải dài trên cốt truyện cho thấy mối quan hệ yếu hoặc không có Dưới đây là ví dụ về biểu đồ độ trễ cho bộ dữ liệu Nhiệt độ tối thiểu hàng ngày 1 2 3 4 5 6 7 # tạo biểu đồ phân tán từ gấu trúc nhập read_csv từ matplotlib nhập pyplot từ gấu trúc. biểu đồ nhập lag_plot sê-ri = read_csv('daily-minimum- . csv', tiêu đề=0, index_col=0, parse_dates=True, squeeze=True) lag_plot(loạt phim) pyplot. hiển thị() Biểu đồ được tạo từ việc chạy ví dụ cho thấy mối tương quan tích cực tương đối mạnh giữa các quan sát và giá trị lag1 của chúng Biểu đồ trễ nhiệt độ hàng ngày tối thiểu Chúng tôi có thể lặp lại quy trình này để quan sát và bất kỳ giá trị độ trễ nào. Có lẽ với việc quan sát cùng thời điểm vào tuần trước, tháng trước hoặc năm ngoái hoặc bất kỳ kiến thức cụ thể nào khác về lĩnh vực mà chúng tôi có thể muốn khám phá Ví dụ: chúng ta có thể tạo biểu đồ phân tán cho quan sát với từng giá trị trong bảy ngày trước đó. Dưới đây là một ví dụ về điều này cho bộ dữ liệu Nhiệt độ hàng ngày tối thiểu Đầu tiên, một Khung dữ liệu mới được tạo với các giá trị độ trễ dưới dạng các cột mới. Các cột được đặt tên phù hợp. Sau đó, một ô con mới được tạo để vẽ từng quan sát với một giá trị độ trễ khác nhau 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 từ gấu trúc nhập read_csv từ gấu trúc nhập Khung dữ liệu từ gấu trúc nhập concat từ matplotlib nhập pyplot từ gấu trúc. vẽ nhập scatter_matrix sê-ri = read_csv('daily-minimum- . csv', tiêu đề=0, index_col=0, parse_dates=True, squeeze=True) giá trị = Khung dữ liệu(sê-ri.giá trị) độ trễ = 7 cột = [giá trị] cho i trong phạm vi(1,(lags + 1)): cột. chắp thêm(giá trị. chuyển(i)) khung dữ liệu = concat(cột, axis=1) cột = ['t+1'] cho i trong phạm vi(1,(lags + 1)): cột. nối thêm(không-' + str(i)) khung dữ liệu. cột = cột pyplot. hình(1) cho i trong phạm vi(1,(lags + 1)): ax = pyplot. ô con(240 + i) ax. set_title(không+1 so với t-' + str(i)) pyplot. phân tán(x=khung dữ liệu . ['t+1'].giá trị, y=khung dữ liệu . ['t-'+str(i)].giá trị) pyplot. hiển thị() Chạy ví dụ cho thấy mối quan hệ mạnh mẽ nhất giữa một quan sát với giá trị lag1 của nó, nhưng nói chung là mối tương quan tích cực tốt với từng giá trị trong tuần trước Biểu đồ tán xạ nhiệt độ hàng ngày tối thiểu 6. Biểu đồ tự tương quan chuỗi thời gianChúng ta có thể định lượng cường độ và loại mối quan hệ giữa các quan sát và độ trễ của chúng Trong thống kê, điều này được gọi là tương quan và khi được tính toán dựa trên các giá trị độ trễ trong chuỗi thời gian, nó được gọi là tự tương quan (tự tương quan) Giá trị tương quan được tính toán giữa hai nhóm số, chẳng hạn như các quan sát và giá trị lag1 của chúng, dẫn đến một số trong khoảng từ -1 đến 1. Dấu hiệu của con số này tương ứng biểu thị mối tương quan âm hoặc dương. Giá trị gần bằng 0 cho thấy mối tương quan yếu, trong khi giá trị gần bằng -1 hoặc 1 cho thấy mối tương quan mạnh Các giá trị tương quan, được gọi là hệ số tương quan, có thể được tính cho từng quan sát và các giá trị trễ khác nhau. Sau khi được tính toán, một biểu đồ có thể được tạo để giúp hiểu rõ hơn về cách mối quan hệ này thay đổi theo độ trễ Loại biểu đồ này được gọi là biểu đồ tự tương quan và Pandas cung cấp khả năng này được tích hợp sẵn, được gọi là hàm autocorrelation_plot() Ví dụ bên dưới tạo biểu đồ tự tương quan cho tập dữ liệu Nhiệt độ tối thiểu hàng ngày 1 2 3 4 5 6 7 # tạo biểu đồ tự tương quan từ gấu trúc nhập read_csv từ matplotlib nhập pyplot từ gấu trúc. biểu đồ nhập autocorrelation_plot sê-ri = read_csv('daily-minimum- . csv', tiêu đề=0, index_col=0, parse_dates=True, squeeze=True) autocorrelation_plot(chuỗi) pyplot. hiển thị() Biểu đồ kết quả hiển thị độ trễ dọc theo trục x và mối tương quan trên trục y. Các đường chấm chấm được cung cấp cho biết bất kỳ giá trị tương quan nào phía trên các đường đó đều có ý nghĩa thống kê (có ý nghĩa) Chúng ta có thể thấy rằng đối với tập dữ liệu Nhiệt độ tối thiểu hàng ngày, chúng ta thấy các chu kỳ tương quan âm và dương mạnh mẽ. Điều này nắm bắt mối quan hệ của một quan sát với các quan sát trong quá khứ trong các mùa hoặc thời gian giống nhau và ngược lại trong năm. Sóng hình sin giống như sóng hình sin trong ví dụ này là một dấu hiệu rõ ràng về tính thời vụ trong tập dữ liệu Biểu đồ tự tương quan nhiệt độ hàng ngày tối thiểu Đọc thêmPhần này cung cấp một số tài nguyên để đọc thêm về vẽ biểu đồ chuỗi thời gian và về các hàm Pandas và Matplotlib được sử dụng trong hướng dẫn này
Tóm lượcTrong hướng dẫn này, bạn đã khám phá cách khám phá và hiểu rõ hơn về tập dữ liệu chuỗi thời gian của mình trong Python Cụ thể, bạn đã học
Bạn có bất kỳ câu hỏi nào về biểu đồ dữ liệu chuỗi thời gian hoặc về hướng dẫn này không? Bạn muốn phát triển dự báo chuỗi thời gian bằng Python?Phát triển dự báo của riêng bạn trong vài phútchỉ với một vài dòng mã pythonKhám phá cách làm trong Sách điện tử mới của tôi. Nó bao gồm các hướng dẫn tự học và các dự án đầu cuối về các chủ đề như. Tải dữ liệu, trực quan hóa, mô hình hóa, điều chỉnh thuật toán, v.v. |