Hướng dẫn Toàn diện về Phân tích Chuỗi thời gian

Nút nguồn: 1878658

hình ảnh chuỗi thời gian

  • Chuỗi thời gian đại diện cho một loạt các đơn đặt hàng dựa trên thời gian. Nó sẽ là Năm, Tháng, Tuần, Ngày, Horus, Phút và Giây
  • Chuỗi thời gian là một quan sát từ chuỗi thời gian rời rạc của các khoảng thời gian liên tiếp.
  • Chuỗi thời gian là một biểu đồ đang chạy.
  • Biến thời gian / tính năng là biến độc lập và hỗ trợ biến mục tiêu để dự đoán kết quả.
  • Phân tích chuỗi thời gian (TSA) được sử dụng trong các lĩnh vực khác nhau để dự đoán dựa trên thời gian - như Dự báo thời tiết, Tài chính, Xử lý tín hiệu, Lĩnh vực kỹ thuật - Hệ thống điều khiển, Hệ thống truyền thông.
  • Vì TSA liên quan đến việc tạo ra tập hợp thông tin theo một trình tự cụ thể, nó tạo ra sự khác biệt với các phân tích không gian và các phân tích khác.
  • Sử dụng các mô hình AR, MA, ARMA và ARIMA, chúng tôi có thể dự đoán tương lai.

Giới thiệu về Phân tích chuỗi thời gian

Phân tích chuỗi thời gian là cách nghiên cứu các đặc điểm của biến phản ứng liên quan đến thời gian, với tư cách là biến độc lập. Để ước tính biến mục tiêu dưới tên dự đoán hoặc dự báo, hãy sử dụng biến thời gian làm điểm tham chiếu. Trong bài viết này, chúng ta sẽ thảo luận chi tiết về Mục tiêu, Giả định, Thành phần của TSA (cố định và Không cố định). Cùng với thuật toán TSA và các trường hợp sử dụng cụ thể trong Python.

  1. Phân tích chuỗi thời gian (TSA) là gì và giả định của nó

  2. Làm thế nào để phân tích)?
  3. Phân tích Chuỗi thời gian Ý nghĩa và các loại của nó.
  4. Các thành phần của chuỗi thời gian
  5. Những hạn chế của chuỗi thời gian là gì?
  6. Nghiên cứu chi tiết về các kiểu dữ liệu Chuỗi thời gian.
  7. Thảo luận về các thành phần tĩnh và không cố định
  8. Chuyển đổi Không cố định thành cố định
  9. Tại sao Phân tích chuỗi thời gian được sử dụng trong Khoa học dữ liệu và Học máy?
  10. Phân tích chuỗi thời gian trong Khoa học dữ liệu và Học máy
  11. Triển khai mô hình Auto-Regression
  12. Thực hiện đường trung bình động (TRỌNG LƯỢNG - TRUNG BÌNH CHUYỂN ĐỘNG ĐƠN GIẢN)
  13. Hiểu ARMA và ARIMA
  14. Các bước triển khai ARIMA
  15. Phân tích chuỗi thời gian - Luồng quy trình (Khoảng cách lại)

Phân tích chuỗi thời gian là gì

Định nghĩa: Nếu bạn thấy, có rất nhiều định nghĩa khác cho TSA. Nhưng hãy làm cho nó đơn giản.

Chuỗi thời gian không là gì khác ngoài một chuỗi các điểm dữ liệu khác nhau xảy ra theo thứ tự liên tiếp trong một khoảng thời gian nhất định

Mục tiêu:

  • Để hiểu cách hoạt động của chuỗi thời gian, những yếu tố nào đang ảnh hưởng đến (các) biến nhất định tại các thời điểm khác nhau.
  • Phân tích chuỗi thời gian sẽ cung cấp hậu quả và hiểu biết sâu sắc về các tính năng của tập dữ liệu nhất định thay đổi theo thời gian.
  • Hỗ trợ đưa ra dự đoán các giá trị tương lai của biến chuỗi thời gian.
  • Các giả định: Có một giả định duy nhất là “cố định”, nghĩa là nguồn gốc của thời gian, không ảnh hưởng đến các thuộc tính của quá trình dưới yếu tố thống kê.

Làm thế nào để phân tích Chuỗi thời gian?

Các bước nhanh chóng ở đây để bạn tham khảo, dù sao. Sẽ xem chi tiết điều này trong bài viết sau.

  • Thu thập dữ liệu và làm sạch nó
  • Chuẩn bị Hình ảnh hóa liên quan đến thời gian so với tính năng chính
  • Quan sát tính ổn định của bộ truyện
  • Phát triển biểu đồ để hiểu bản chất của nó.
  • Xây dựng mô hình - AR, MA, ARMA và ARIMA
  • Trích xuất thông tin chi tiết từ dự đoán

Tầm quan trọng của Chuỗi thời gian và các loại của nó

TSA là xương sống cho dự đoán và phân tích dự báo, cụ thể cho các tuyên bố vấn đề dựa trên thời gian.

  • Phân tích tập dữ liệu lịch sử và các mẫu của nó
  • Hiểu và phù hợp với tình hình hiện tại với các mô hình có được từ giai đoạn trước.
  • Hiểu biết về nhân tố hoặc các nhân tố ảnh hưởng đến (các) biến số nhất định trong các thời kỳ khác nhau.

Với sự trợ giúp của “Chuỗi thời gian”, chúng tôi có thể chuẩn bị nhiều phân tích và kết quả dựa trên thời gian.

  • Dự báo
  • PHÂN LOẠI
  • phân loại
  • Phân tích mô tả`
  • Phân tích can thiệp

Các thành phần của phân tích chuỗi thời gian

  • khuynh hướng
  • Mùa vụ
  • Chu kỳ
  • Bất thường
  • khuynh hướng: Trong đó không có khoảng thời gian cố định và bất kỳ phân kỳ nào trong tập dữ liệu đã cho là một mốc thời gian liên tục. Xu hướng sẽ là Tiêu cực hoặc Tích cực hoặc Xu hướng rỗng
  • Mùa vụ: Trong đó khoảng thời gian thường xuyên hoặc cố định thay đổi trong tập dữ liệu theo dòng thời gian liên tục. Sẽ là đường cong hình chuông hoặc răng cưa
  • Chu kỳ: Trong đó không có khoảng thời gian cố định, sự không chắc chắn trong chuyển động và mô hình của nó
  • Bất thường: Các tình huống / sự kiện / kịch bản không mong đợi và mức tăng đột biến trong một khoảng thời gian ngắn.
Các thành phần của phân tích chuỗi thời gian

Những hạn chế của Phân tích chuỗi thời gian là gì?

Chuỗi thời gian có những giới hạn được đề cập bên dưới, chúng tôi phải lưu ý những giới hạn đó trong quá trình phân tích của chúng tôi,

  • Tương tự như các mô hình khác, các giá trị bị thiếu không được TSA hỗ trợ
  • Các điểm dữ liệu phải tuyến tính trong mối quan hệ của chúng.
  • Chuyển đổi dữ liệu là bắt buộc, do đó, một chút tốn kém.
  • Các mô hình chủ yếu hoạt động trên dữ liệu Uni-variate.

Các loại dữ liệu của chuỗi thời gian

Hãy thảo luận về các loại dữ liệu của chuỗi thời gian và ảnh hưởng của chúng. Trong khi thảo luận về các kiểu dữ liệu TS, có hai loại chính.

  • Văn phòng phẩm
  • Không văn phòng phẩm

6.1 Văn phòng phẩm: Tập dữ liệu phải tuân theo các quy tắc ngón tay cái dưới đây, không có thành phần Xu hướng, Thời vụ, Chu kỳ và Bất thường của chuỗi thời gian

  • Giá trị MEAN của chúng phải hoàn toàn không đổi trong dữ liệu trong quá trình phân tích
  • VARIANCE phải không đổi đối với khung thời gian
  • COVARIANCE đo lường mối quan hệ giữa hai biến.

6.2 Non-Stationary: Điều này hoàn toàn ngược lại với Văn phòng phẩm.

Trung bình, Phương sai và Phương sai của Chuỗi thời gian

Phương pháp kiểm tra tính ổn định 

Trong quy trình chuẩn bị mô hình TSA, chúng ta phải truy cập nếu tập dữ liệu đã cho là Văn phòng hay KHÔNG. Sử dụng Kiểm tra thống kê và lô.

7.1 Kiểm tra thống kê: Có hai thử nghiệm có sẵn để kiểm tra xem tập dữ liệu là Văn phòng phẩm hay KHÔNG.

  • Thử nghiệm Dickey-Fuller tăng cường (ADF)
  • Kiểm tra Kwiatkowski-Phillips-Schmidt-Shin (KPSS)

7.1.1 Tăng cường Dickey-Fuller (ADF) Kiểm tra hoặc Kiểm tra gốc đơn vị: Kiểm tra ADF là kiểm tra thống kê phổ biến nhất và với các giả định sau.

  • Giả thuyết Null (H0): Chuỗi không đứng yên
  • Giả thuyết thay thế (HA): Chuỗi đứng yên
    • p-value> 0.05 Không từ chối (H0)
    • p-value <= 0.05 Chấp nhận (H1)

7.1.2 Kwiatkowski – Phillips – Schmidt – Shin (KPSS): những bài kiểm tra này được sử dụng để kiểm tra Giả thuyết NULL (HO), sẽ cảm nhận chuỗi thời gian, như đứng yên xung quanh một xu hướng xác định so với sự thay thế của một đơn vị gốc. Vì TSA đang tìm kiếm Dữ liệu tĩnh để phân tích thêm, nên chúng tôi phải đảm bảo rằng tập dữ liệu phải ở trạng thái tĩnh.

Chuyển đổi Không cố định thành cố định

Hãy thảo luận nhanh về cách chuyển đổi Không cố định thành cố định để lập mô hình chuỗi thời gian hiệu quả. Có hai phương pháp chính có sẵn cho việc chuyển đổi này.

  • Dò tìm
  • Sự khác biệt
  • Chuyển đổi

8.1 Phát hiện: Nó liên quan đến việc loại bỏ các hiệu ứng xu hướng khỏi tập dữ liệu đã cho và chỉ hiển thị sự khác biệt về giá trị so với xu hướng. nó luôn cho phép xác định các mẫu theo chu kỳ.

Biến phát hiện

8.2 Sự khác biệt: Đây là một chuyển đổi đơn giản của chuỗi thành một chuỗi thời gian mới, mà chúng tôi sử dụng để loại bỏ sự phụ thuộc của chuỗi vào thời gian và ổn định giá trị trung bình của chuỗi thời gian, do đó xu hướng và tính thời vụ được giảm bớt trong quá trình chuyển đổi này.

Yt = Yt - Yt-1

Yt = Giá trị theo thời gian

Khai thác phát hiện và phân biệt

Phát hiện và phân biệt

8.3 Chuyển đổi: Điều này bao gồm ba phương pháp khác nhau, chúng là Power Transform, Square Root và Log Transfer., Một phương pháp thường được sử dụng nhất là Log Transfer.

Phương pháp Trung bình Động

Phương pháp chuỗi thời gian thường được sử dụng là Đường trung bình động. Phương pháp này khéo léo với các biến thể ngắn hạn ngẫu nhiên. Liên kết tương đối với các thành phần của chuỗi thời gian.

Trung bình động (MA) (Hoặc) Trung bình cuộn: Trong đó MA đã tính toán bằng cách lấy dữ liệu trung bình của chuỗi thời gian, trong k chu kỳ.

Hãy xem các loại đường trung bình động:

  • Đường trung bình trượt đơn giản (SMA),
  • Trung bình trượt tích lũy (CMA)
  • Exponential Moving Average (EMA)

9.1 Đường trung bình trượt đơn giản (SMA)

SMA là giá trị trung bình không trọng số của M hoặc N điểm trước đó. Việc lựa chọn các điểm dữ liệu cửa sổ trượt, tùy thuộc vào mức độ làm mịn được ưu tiên vì việc tăng giá trị của M hoặc N, sẽ cải thiện việc làm mịn với chi phí chính xác.

Đường Trung Bình Động Đơn giản

Để hiểu rõ hơn, sẽ sử dụng Nhiệt độ không khí.

nhập gấu trúc dưới dạng pd từ matplotlib nhập pyplot dưới dạng plt từ statsmodels.graphics.tsaplots nhập plot_acf df_tempeosystem = pd.read_csv ('Temperature_TSA.csv', encoding = 'utf-8') df_tempentic.head ()
Trưởng bộ phận khung dữ liệu
df_tempentic.info ()
Thông tin về Khung dữ liệu
# set index cho cột năm df_tempentic.set_index ('Any', inplace = True) df_tempeosystem.index.name = 'year' # Nhiệt độ không khí trung bình hàng năm - tính toán df_tempether ['average_tempeosystem'] = df_tempether.mean (axis = 1) # thả các cột không mong muốn và đặt lại datafreame df_tempeosystem = df_tempeosystem [['average_tempeosystem']] df_tempeosystem.head ()
Nhiệt độ trung bình
# SMA trong khoảng thời gian 10 và 20 năm df_tempeosystem ['SMA_10'] = df_tempeosystem.average_tempeosystem.rolling (10, min_periods = 1) .mean () df_tempeosystem ['SMA_20'] = df_tempeosystem.average_tempentic = min.rolling (20, min.rolling) 1) .mean ()
# Grean = Nhiệt độ không khí trung bình, RED = 10 năm, ORANG màu cho các màu của biểu đồ đường = ['xanh lá cây', 'đỏ', 'cam'] # Biểu đồ đường thẳng df_tempentic.plot (color = Colors, linewidth = 3, figsize = (12,6)) plt.xticks (fontize = 14) plt.yticks (fontize = 14) plt.legend (nhãn = ['Nhiệt độ không khí trung bình', '10 năm SMA', '20 năm SMA'], fontize = 14) plt.title ('Nhiệt độ không khí trung bình hàng năm ở thành phố', fontize = 20) plt.xlabel ('Năm', fontize = 16) plt.ylabel ('Nhiệt độ [° C]', fontize = 16)

Nhiệt độ không khí trung bình hàng năm

9.2 Đường trung bình động tích lũy (CMA)

CMA là giá trị trung bình không có trọng số của các giá trị trong quá khứ, cho đến thời điểm hiện tại.

Trung bình trượt tích lũy
# CMA Nhiệt độ không khí df_tempentic ['CMA'] = df_tempeosystem.average_tempeosystem.expanding (). Mean ()
# green -Avg Air Temp và Orange -CMA color = ['green', 'orange'] # line plot df_tempe Heat [['average_tempether', 'CMA']]. plot (color = Colors, linewidth = 3, figsize = ( 12,6)) plt.xticks (fontize = 14) plt.yticks (fontize = 14) plt.legend (nhãn = ['Nhiệt độ không khí trung bình', 'CMA'], fontize = 14) plt.title ('Hàng năm nhiệt độ không khí trung bình ở thành phố ', fontize = 20) plt.xlabel (' Year ', fontize = 16) plt.ylabel (' Nhiệt độ [° C] ', fontize = 16)

Nhiệt độ không khí trung bình hàng năm

9.3 Đường trung bình trượt theo cấp số nhân (EMA)

EMA chủ yếu được sử dụng để xác định xu hướng và lọc ra nhiễu. Khối lượng của các nguyên tố giảm dần theo thời gian. Điều này có nghĩa là Nó có trọng số đối với các điểm dữ liệu gần đây, không phải các điểm dữ liệu lịch sử. So với SMA, EMA thay đổi nhanh hơn và nhạy cảm hơn.

α -> Hệ số làm mịn.

  • Nó có giá trị từ 0,1.
  • Đại diện cho trọng số được áp dụng cho khoảng thời gian gần đây.

Cho phép sẽ áp dụng các đường trung bình động hàm mũ với hệ số làm mịn 0.1 và 0.3 trong tập dữ liệu đã cho.

Sau khi áp dụng hệ số làm mịn
# EMA Nhiệt độ không khí # Hệ số làm mịn - 0.1 df_tempe nhiệt ['EMA_0.1'] = df_tempe Heat.average_tempeosystem.ewm (alpha = 0.1, điều chỉnh = Sai) .mean () # Hệ số làm mịn - 0.3 df_tempe Nhiệt ['EMA_0.3' ] = df_tempeosystem.average_tempeosystem.ewm (alpha = 0.3, điều chỉnh = Sai) .mean ()
# xanh lá cây - Nhiệt độ không khí trung bình, hệ số làm mịn màu đỏ - 0.1, màu vàng - hệ số làm mịn - 0.3 màu = ['xanh lá cây', 'đỏ', 'vàng'] df_tempe Nhiệt [['nhiệt độ trung bình', 'EMA_0.1', 'EMA_0.3 .3 ']]. Plot (color = Colors, linewidth = 12,6, figsize = (0.8), alpha = 14) plt.xticks (fontsize = 14) plt.yticks (fontize = 0.1) plt.legend (nhãn = ['Nhiệt độ không khí trung bình', 'EMA - alpha = 0.3', 'EMA - alpha = 14'], fontsize = 20) plt.title ('Nhiệt độ không khí trung bình hàng năm ở thành phố', fontize = 16) plt.xlabel ( 'Năm', fontize = 16) plt.ylabel ('Nhiệt độ [° C]', fontize = XNUMX)
Nhiệt độ không khí trung bình hàng năm ở thành phố

Phân tích chuỗi thời gian trong Khoa học dữ liệu và Học máy

Khi xử lý TSA trong Khoa học Dữ liệu và Học máy, có nhiều tùy chọn mô hình. Trong đó các mô hình Tự động hồi quy – Trung bình động (ARMA) với [p, d, và q].

  • P ==> độ trễ tự động phục hồi
  • q == độ trễ trung bình động
  • d ==> sự khác biệt trong thứ tự

Trước khi chúng ta tìm hiểu về Arima, trước tiên bạn nên hiểu rõ hơn các điều khoản dưới đây.

  • Chức năng tương quan tự động (ACF)
  • Chức năng tương quan tự động một phần (PACF)

10.1 Chức năng tương quan tự động (ACF): ACF được sử dụng để chỉ ra và mức độ tương tự của một giá trị trong một chuỗi thời gian nhất định và giá trị trước đó. (HOẶC) Nó đo mức độ giống nhau giữa một chuỗi thời gian nhất định và phiên bản trễ của chuỗi thời gian đó ở những khoảng thời gian khác nhau mà chúng tôi đã quan sát được.

Thư viện Python Statsmodels tính toán tự tương quan. Điều này được sử dụng để xác định một tập hợp các xu hướng trong tập dữ liệu đã cho và ảnh hưởng của các giá trị được quan sát trước đây đối với các giá trị được quan sát hiện tại.

10.2 Tự động tương quan một phần (PACF): PACF tương tự như Chức năng tương quan tự động và có một chút khó khăn để hiểu. Nó luôn hiển thị mối tương quan của chuỗi với chính nó với một số đơn vị thời gian trên mỗi thứ tự trình tự trong đó chỉ tác động trực tiếp được hiển thị và tất cả các hiệu ứng trung gian khác bị loại bỏ khỏi chuỗi thời gian nhất định.

Tương quan tự động và tương quan tự động một phần

plot_acf (df_tempether) plt.show ()
plot_acf (df_tempether, lags = 30) plt.show ()
Tương quan tự động và Tương quan tự động một phần

Quan sát: Nhiệt độ trước đó ảnh hưởng đến nhiệt độ hiện tại, nhưng tầm quan trọng của ảnh hưởng đó giảm và tăng nhẹ so với hình dung ở trên cùng với nhiệt độ với khoảng thời gian đều đặn.

10.3 Các loại tương quan tự động

Các loại tương quan tự động

10.4 Diễn giải các đồ thị ACF và PACF

ACF
PACF
Mô hình ML hoàn hảo
Âm mưu giảm dần Cốt truyện giảm ngay lập tức Mô hình Auto Regression.
Cốt truyện giảm ngay lập tức Âm mưu giảm dần Mô hình trung bình động
Âm mưu giảm dần Âm mưu từ chối dần dần VŨ KHÍ
Lô đất giảm ngay lập tức Lô đất giảm ngay lập tức Bạn sẽ không thực hiện bất kỳ mô hình nào

Hãy nhớ rằng cả ACF và PACF đều yêu cầu chuỗi thời gian tĩnh để phân tích.

Bây giờ, chúng ta tìm hiểu về Mô hình Auto-Regression

Đây là một mô hình đơn giản, dự đoán hiệu suất trong tương lai dựa trên hiệu suất trong quá khứ. chủ yếu được sử dụng để dự báo, khi có một số mối tương quan giữa các giá trị trong một chuỗi thời gian nhất định và các giá trị đi trước và thành công (qua lại).

Mô hình AR là mô hình Hồi quy tuyến tính, sử dụng các biến trễ làm đầu vào. Có thể dễ dàng xây dựng mô hình Hồi quy tuyến tính bằng cách sử dụng thư viện scikit-learning bằng cách chỉ ra đầu vào để sử dụng. Thư viện mô hình thống kê được sử dụng để cung cấp các chức năng dành riêng cho mô hình tự động phục hồi, trong đó bạn phải chỉ định một giá trị độ trễ thích hợp và đào tạo mô hình. Nó được cung cấp trong lớp AutoTeg để lấy kết quả, bằng các bước đơn giản

Phương trình cho mô hình AR (Hãy so sánh Y = mX + c)

Yt = C + b1 Yt-1+ b2 Yt-2+ …… + bp Ytp+ Ờt

Các thông số quan trọng

  • p = giá trị trong quá khứ
  • Yt= Chức năng của các giá trị quá khứ khác nhau
  • Ert= lỗi trong thời gian
  • C = chặn

Hãy kiểm tra, tập dữ liệu đã cho hoặc chuỗi thời gian có ngẫu nhiên hay không

từ matplotlib nhập pyplot từ pandas.plotting nhập lag_plot lag_plot (df_tempeosystem) pyplot.show ()
Biểu đồ phân tán để kiểm tra tính ngẫu nhiên của dữ liệu

Quan sát: Có, trông ngẫu nhiên và phân tán.

Triển khai mô hình Auto-Regression

#import thư viện từ matplotlib nhập pyplot từ statsmodels.tsa.ar_model import AutoReg từ sklearn.metrics import mean_squared_error from math import sqrt # load csv as dataset #series = read_csv ('daily-min-Temperature.csv', header = 0, index_col = 0, parse_dates = True, ép = True) # tập dữ liệu phân tách để kiểm tra và huấn luyện X = df_tempentic.values ​​train, test = X [1: len (X) -7], X [len (X) -7:] # train autoregression model = AutoReg (train, lags = 20) model_fit = model.fit () print ('Coefficients:% s'% model_fit.params) # Dự đoán dự đoán = model_fit.p Dự đoán (start = len (train), end = len (train) + len (test) -1, dynamic = False) cho i trong phạm vi (len (dự đoán)): print ('dự đoán =% f, dự kiến ​​=% f'% (dự đoán [i], kiểm tra [i] )) rmse = sqrt (mean_squared_error (kiểm tra, dự đoán)) print ('Kiểm tra RMSE:% .3f'% rmse) # kết quả âm mưu pyplot.plot (kiểm tra) pyplot.plot (dự đoán, color = 'red') pyplot.show ()

OUTPUT

dự đoán = 15.893972, dự đoán = 16.275000 dự đoán = 15.917959, dự đoán = 16.600000 dự đoán = 15.812741, dự đoán = 16.475000 dự đoán = 15.787555, dự đoán = 16.375000 dự đoán = 16.023780, dự đoán = 16.283333 dự đoán = 15.940271, dự kiến ​​= 16.525000 dự đoán = 15.831538, dự kiến RMSE: 16.758333
Giá trị kỳ vọng và dự đoán

Quan sát: Dự kiến ​​(xanh lam) So với Dự đoán (đỏ). Dự báo có vẻ tốt vào ngày 4 và độ lệch vào ngày thứ 6.

Thực hiện đường trung bình động (TRỌNG LƯỢNG - TRUNG BÌNH CHUYỂN ĐỘNG ĐƠN GIẢN)

import numpy dưới dạng np alpha = 0.3 n = 10 w_sma = np.repeat (1 / n, n) Colors = ['green', 'yellow'] # weights - trung bình động theo cấp số nhân alpha = 0.3 điều chỉnh = False w_ema = [(1 -ALPHA) ** i if i == N-1 else alpha * (1-alpha) ** i for i in range (n)] pd.DataFrame ({'w_sma': w_sma, 'w_ema': w_ema}) .plot (color = Colors, kind = 'bar', figsize = (8,5)) plt.xticks ([]) plt.yticks (fontsize = 10) plt.legend (nhãn = ['Đường trung bình động đơn giản', ' Đường trung bình theo cấp số nhân (α = 0.3) '], fontsize = 10) # title and label plt.title (' Moving Average Weights ', fontsize = 10) plt.ylabel (' Weights ', fontsize = 10)

Trọng lượng trung bình động để phân tích chuỗi thời gian

Hiểu ARMA và ARIMA 

VŨ KHÍ Đây là sự kết hợp giữa mô hình Tự động hồi quy và Trung bình động để dự báo. Mô hình này cung cấp một quá trình ngẫu nhiên tĩnh yếu về mặt hai đa thức, một cho Tự động hồi quy và một cho Đường trung bình động.

Phương trình mô hình Arima để phân tích chuỗi thời gian

VŨ KHÍ là tốt nhất để dự đoán chuỗi tĩnh. Vì vậy, ARIMA đã xuất hiện vì nó hỗ trợ cố định cũng như không cố định.

Arima để phân tích chuỗi thời gian

AR + I + MA = ARIMA

Hiểu Chữ ký của ARIMA

  • p ==> thứ tự nhật ký => Không có quan sát độ trễ.
  • d ==> mức độ khác biệt => Không có lần nào các quan sát thô bị sai lệch.
  • q ==> thứ tự của đường trung bình => kích thước của cửa sổ đường trung bình

Các bước triển khai ARIMA

Bước 1: Vẽ một định dạng chuỗi thời gian

Bước 2: Sự khác biệt để làm cho giá trị cố định ở mức trung bình bằng cách loại bỏ xu hướng

Bước 3: Làm cho vật đứng yên bằng cách áp dụng phép biến đổi log.

Bước 4: Biến đổi nhật ký chênh lệch để tạo thành đứng yên trên cả phương sai và trung bình thống kê

Bước 5: Vẽ đồ thị ACF & PACF, đồng thời xác định mô hình AR và MA tiềm năng

Bước 6: Khám phá mô hình ARIMA phù hợp nhất

Bước 7: Dự báo / Dự đoán giá trị, sử dụng mô hình ARIMA phù hợp nhất

Bước 8: Vẽ đồ thị ACF & PACF cho phần còn lại của mô hình ARIMA và đảm bảo không còn thông tin nào khác.

Thực hiện ARIMA

Chúng ta đã thảo luận về các bước 1-5, hãy tập trung vào phần còn lại ở đây.

from statsmodels.tsa.arima_model import ARIMA model = ARIMA (df_tempether, order = (0, 1, 1)) results_ARIMA = model.fit ()
results_ARIMA.summary ()
Kết quả Mô hình Arima để phân tích chuỗi thời gian
results_ARIMA.forecast (3) [0]
Đầu ra
mảng ([16.47648941, 16.48621826, 16.49594711])
results_ARIMA.plot_p Dự đoán (start = 200) plt.show ()
Dự báo và nhiệt độ trung bình thực tế trong phân tích chuỗi thời gian

(Khoảng cách lại)

 

Quy trình phân tích chuỗi thời gian
Học sâu để phân tích chuỗi thời gian

Mạng thần kinh tái diễn là kiến trúc, thiết bị truyền thống và được chấp nhận nhất cho các vấn đề dựa trên dự báo Chuỗi thời gian.

RNN được tổ chức thành các lớp kế tiếp và được chia thành

  • Đầu vào
  • Thành viên ẩn danh
  • Đầu ra

Mỗi lớp có trọng lượng bằng nhau và mỗi nơ-ron phải được gán cho các bước thời gian cố định. Và hãy nhớ rằng mỗi một trong số chúng được kết nối đầy đủ với một lớp ẩn (Đầu vào và Đầu ra) với các bước thời gian giống nhau và các lớp ẩn được chuyển tiếp và theo hướng phụ thuộc vào thời gian.

RNN cho chuỗi thời gian

Các thành phần của RNN

  • Đầu vào: Vectơ hàm của x (t) là đầu vào, tại bước thời gian t.
  • Ẩn:

    • Vectơ hàm h (t) là trạng thái ẩn tại thời điểm t,
    • Đây là một loại bộ nhớ của mạng đã được thiết lập;
    • Điều này đã được tính toán dựa trên đầu vào hiện tại x (t) và trạng thái ẩn h (t-1) của bước thời gian trước:
  • Đầu ra: Vectơ hàm y (t) là đầu ra, tại bước thời gian t.
  • Trọng số: Trọng số: Trong RNN, vectơ đầu vào được kết nối với các nơ-ron lớp ẩn tại thời điểm t là bởi một ma trận trọng lượng của U (Vui lòng tham khảo hình trên), 

Ma trận trọng lượng bên trong W được hình thành bởi các tế bào thần kinh lớp ẩn của thời gian t-1 và t + 1. tiếp theo là lớp ẩn với vectơ đầu ra y (t) của thời gian t bởi a V (ma trận trọng lượng); tất cả các ma trận trọng số U, W và V là không đổi đối với mỗi bước thời gian.

Ưu điểm  Điểm yếus  
Nó có tính năng đặc biệt là nó sẽ ghi nhớ mọi thông tin, vì vậy RNN rất hữu ích cho việc dự đoán chuỗi thời gian Thách thức lớn là trong thời gian đào tạo.
Hoàn hảo để tạo các mẫu phức tạp từ tập dữ liệu chuỗi thời gian đầu vào. Chi phí tính toán đắt đỏ
Dự đoán / dự báo nhanh
Không bị ảnh hưởng bởi các giá trị bị thiếu, vì vậy quá trình làm sạch có thể bị hạn chế

Tôi tin rằng hướng dẫn này sẽ giúp tất cả các bạn hiểu được chuỗi thời gian, dòng chảy và cách nó hoạt động.


Phương tiện hiển thị trong bài viết này không thuộc sở hữu của Analytics Vidhya và được sử dụng theo quyết định riêng của Tác giả.

Nguồn: https://www.analyticsvidhya.com/blog/2021/10/a-comprehensive-guide-to-time-series-analysis/

Dấu thời gian:

Thêm từ Phân tích Vidhya