ARIMA là gì? Cách hiểu mô hình và áp dụng trong luận văn

Mô hình nghiên cứu··16 phút đọc

Mô hình ARIMA là gì

ARIMA là mô hình dùng để phân tích và dự báo chuỗi thời gian. Tên gọi này ghép từ ba thành phần: AR là AutoRegressive, I là Integrated và MA là Moving Average. Khi bạn có dữ liệu được ghi theo thứ tự thời gian, chẳng hạn doanh thu theo tháng, sản lượng theo quý, tỷ giá theo ngày hoặc số lượng khách hàng theo tuần, ARIMA giúp mô tả sự phụ thuộc giữa quan sát hiện tại và các quan sát trước đó.

ARIMA không xem các dòng dữ liệu là những quan sát độc lập. Doanh thu tháng này có thể liên quan đến tháng trước, còn sai số dự báo của tháng trước có thể cung cấp thông tin cho dự báo tháng sau. Mô hình khai thác chính cấu trúc đó.

ARIMA thường được viết dưới dạng ARIMA(p, d, q). p là số bậc của thành phần AR, d là số lần sai phân để làm chuỗi ổn định hơn, còn q là số bậc của thành phần MA. Ví dụ, ARIMA(1,1,1) sử dụng một độ trễ của chuỗi sau khi sai phân một lần và một độ trễ của sai số dự báo.

ARIMA phù hợp khi mục tiêu là giải thích động học của một chuỗi đơn hoặc dự báo các giá trị tương lai từ chính lịch sử của chuỗi đó. Nếu bạn muốn phân tích dữ liệu bảng, có thể đọc thêm ARDL là gì, FEM REM dữ liệu bảng là gì hoặc xem nhóm chủ đề Mô hình nghiên cứu. Lưu ý, đường dẫn dữ liệu bảng cần được nhập đúng theo URL được cung cấp trong hệ thống.

Các thành phần trong mô hình

Ba thành phần của ARIMA không phải ba biến độc lập trong bảng hỏi. Chúng là ba cách xử lý khác nhau đối với chuỗi thời gian. Bạn cần hiểu từng thành phần trước khi đọc kết quả phần mềm.

Thành phầnKý hiệuÝ nghĩa thực tếCâu hỏi cần trả lời
AutoRegressivepGiá trị hiện tại phụ thuộc vào một hoặc nhiều giá trị quá khứ của chính chuỗiCần dùng bao nhiêu độ trễ của chuỗi
IntegrateddSố lần sai phân chuỗi để giảm xu hướng và đạt tính dừngChuỗi cần sai phân mấy lần
Moving AverageqGiá trị hiện tại liên quan đến các sai số dự báo ở thời điểm trướcCần dùng bao nhiêu độ trễ của sai số

AR, thành phần tự hồi quy

Với thành phần AR, giá trị hiện tại được mô tả bằng các giá trị quá khứ của cùng một biến. Nếu p = 1, mô hình xem xét một độ trễ. Nếu p = 2, mô hình xem xét hai độ trễ. Bậc cao hơn không tự động tốt hơn, vì thêm độ trễ có thể làm mô hình phức tạp và khó diễn giải.

Ví dụ, doanh thu tháng 6 có thể liên quan đến doanh thu tháng 5 và tháng 4. Mức độ liên quan này thể hiện qua các hệ số AR. Bạn không nên kết luận chỉ từ dấu dương hoặc âm của hệ số. Cần xem thêm ý nghĩa thống kê, phần dư và khả năng dự báo ngoài mẫu.

I, thành phần sai phân

Sai phân là cách lấy giá trị hiện tại trừ giá trị ở thời điểm trước đó. Sai phân bậc một có dạng Yt - Yt-1. Nếu chuỗi sau lần sai phân đầu tiên vẫn chưa ổn định, bạn có thể cân nhắc sai phân bậc hai. Sai phân quá nhiều có thể làm mất thông tin và tạo ra mô hình không cần thiết.

Tính dừng nghĩa là các đặc điểm chính của chuỗi, chẳng hạn trung bình và mức biến động, tương đối ổn định theo thời gian. Bạn có thể quan sát biểu đồ chuỗi, kiểm tra ACF và PACF, đồng thời dùng kiểm định dừng phù hợp. Đừng chọn d chỉ vì phần mềm đặt sẵn một giá trị mặc định.

MA, thành phần trung bình trượt

MA trong ARIMA không phải trung bình cộng đơn giản của các quan sát. Thành phần này sử dụng sai số dự báo ở những thời điểm trước để mô tả giá trị hiện tại. Với q = 1, sai số của kỳ trước được đưa vào mô hình. Với q = 2, mô hình có thể sử dụng hai sai số trễ.

Nếu mô hình dự báo thấp hơn giá trị thực tế ở tháng trước, thông tin về sai số đó có thể giúp điều chỉnh dự báo tháng này. Vì vậy, MA phụ thuộc vào sai số của mô hình chứ không chỉ vào dữ liệu gốc.

Mô hình gốc và các mở rộng phổ biến

Bạn cần phân biệt ARIMA cơ bản với các mở rộng. Lựa chọn phụ thuộc vào việc chuỗi có mùa vụ, có biến giải thích, có nhiều chuỗi liên quan hay có phương sai thay đổi hay không.

ARIMA không mùa vụ thường dùng cho chuỗi có khoảng cách thời gian đều nhau và không có mẫu lặp theo mùa rõ rệt. Nếu doanh thu lặp lại theo 12 tháng, bạn có thể cần SARIMA, trong đó phần AR, sai phân và MA được mở rộng thêm thành phần mùa vụ.

Nếu có một hoặc nhiều biến giải thích, chẳng hạn chi phí quảng cáo hoặc giá bán, ARIMAX có thể phù hợp hơn. Mô hình này vẫn xử lý động học của chuỗi phụ thuộc nhưng bổ sung thông tin từ biến ngoại sinh. Bạn phải chắc chắn các biến giải thích đã có sẵn tại thời điểm dự báo.

VAR là hướng khác khi nhiều chuỗi tác động qua lại. Ví dụ, lãi suất, lạm phát và tỷ giá có thể được xem như một hệ thống thay vì chỉ dự báo một biến từ lịch sử của chính nó. Bạn có thể đọc thêm lý thuyết VAR, mô hình VARVAR là gì để phân biệt VAR với ARIMA.

Mô hìnhKhi nên cân nhắcĐặc điểm cần kiểm tra
ARIMAMột chuỗi chính, không có mùa vụ rõ ràngTính dừng, ACF, PACF, phần dư
SARIMAChuỗi có mùa vụ lặp lạiChu kỳ mùa vụ, sai phân mùa vụ
ARIMAXCó biến ngoại sinh hỗ trợ dự báoĐộ trễ, dữ liệu tương lai, tương quan giữa biến
VARNhiều chuỗi tác động qua lạiTính dừng của từng chuỗi, độ trễ chung

Nếu dữ liệu chỉ là bảng khảo sát Likert thu tại một thời điểm, ARIMA thường không phải lựa chọn tự nhiên. Bảng khảo sát đó không tạo thành chuỗi thời gian chỉ vì bạn đánh số thứ tự cho từng người trả lời.

Thang đo thường dùng cho từng khái niệm

ARIMA không sử dụng thang đo như các mô hình nghiên cứu hành vi. Bạn không có các biến quan sát như SAT1, SAT2, SAT3 để chạy Cronbach's Alpha rồi đưa vào ARIMA. Đơn vị phân tích là các thời điểm quan sát.

Khái niệm trong dữ liệuCách đo thường gặpVí dụ biến trong fileLưu ý khi chuẩn bị
Thời gianNgày, tuần, tháng hoặc quýmonthSắp xếp đúng thứ tự và có khoảng cách phù hợp
Chuỗi cần dự báoGiá trị thực tế tại mỗi thời điểmsalesThống nhất đơn vị đo giữa các kỳ
Sai phânChênh lệch giữa các kỳ liên tiếpdiff_salesCó thể mất quan sát đầu tiên
Biến ngoại sinh, nếu cóGiá trị được biết tại thời điểm dự báoad_costCần xác định thời điểm dữ liệu sẵn có

Trước khi chạy, hãy kiểm tra ngày bị trùng, kỳ bị thiếu, thay đổi đơn vị tiền tệ, giá trị bằng 0 và các đợt đột biến do sự kiện đặc biệt. Một tháng bị thiếu có thể làm sai ý nghĩa của độ trễ. Nếu điền giá trị vào khoảng trống, bạn phải ghi rõ quy tắc và lý do.

Trong phần phương pháp, hãy mô tả nguồn dữ liệu, tần suất quan sát, khoảng thời gian, biến được dự báo và cách xử lý dữ liệu thiếu. Nếu dùng dữ liệu ngày nhưng cuối tuần không có giao dịch, đó có thể là đặc điểm của dữ liệu chứ không phải lỗi nhập liệu.

Áp dụng vào đề tài của bạn

Bạn có thể xây dựng đề tài dự báo doanh thu bán lẻ theo tháng tại một cửa hàng trong giai đoạn từ tháng A đến tháng B. Biến trung tâm là sales_t, đại diện cho doanh thu ở thời điểm t. Mục tiêu là lựa chọn một mô hình ARIMA phù hợp, đánh giá sai số dự báo và tạo dự báo cho các kỳ tiếp theo.

ARIMA(1,1,1) có thể dùng làm ví dụ để hiểu cách trình bày, nhưng bạn không được chép cấu hình này vào luận văn khi chưa kiểm tra dữ liệu. Hãy so sánh một số cấu hình dựa trên tính dừng, AIC hoặc BIC, phần dư và sai số trên tập kiểm tra.

Các giả thuyết trong đề tài dự báo thường không giống mô hình khảo sát. Bạn có thể dùng câu hỏi nghiên cứu hoặc mục tiêu thay cho H1 đến H4. Nếu khoa yêu cầu trình bày dưới dạng giả thuyết, hãy thống nhất cách diễn đạt với giảng viên.

Ví dụ một cấu trúc có thể viết như sau:

  • H1: Chuỗi doanh thu sau khi xử lý sai phân phù hợp có thể được mô hình hóa bằng cấu trúc tự hồi quy.
  • H2: Thành phần sai số trễ cải thiện khả năng mô tả chuỗi doanh thu.
  • H3: Mô hình được chọn tạo ra phần dư không còn tự tương quan đáng kể.
  • H4: Mô hình được chọn có sai số dự báo trên tập kiểm tra thấp hơn mô hình đối chứng.

Các câu trên chỉ là khung minh họa. H1 và H2 không nên được hiểu như quan hệ nhân quả giữa các biến độc lập. Chúng mô tả cấu trúc dự báo của chuỗi. Trong luận văn, hãy nói rõ ARIMA phục vụ dự báo, không biến nó thành mô hình kiểm định tác động nhân quả nếu thiết kế dữ liệu không hỗ trợ điều đó.

Bảng kết quả minh họa

Bảng dưới đây là số liệu minh họa, không phải kết quả của một nghiên cứu thật. Tên cột được trình bày theo dạng thường gặp trong quy trình phân tích chuỗi thời gian. Khi viết luận văn, bạn thay bằng bảng xuất từ phần mềm và ghi đúng khoảng thời gian của dữ liệu.

Mô hìnhAICBICRMSE tập kiểm traLjung-Box p-valueDiễn giải minh họa
ARIMA(1,1,0)428.31435.7218.640.041Phần dư còn dấu hiệu tự tương quan
ARIMA(0,1,1)421.08428.4916.920.187Phần dư phù hợp hơn, sai số thấp hơn
ARIMA(1,1,1)420.76430.0217.110.224AIC thấp, RMSE nhỉnh hơn mô hình đối chứng

Bạn không chọn mô hình chỉ vì AIC thấp nhất. Trong bảng minh họa, ARIMA(1,1,1) có AIC thấp hơn rất nhẹ nhưng RMSE kiểm tra cao hơn ARIMA(0,1,1). Cần xem đồng thời tiêu chí thông tin, sai số ngoài mẫu, cấu trúc mô hình và phần dư. Nếu hai mô hình gần tương đương, mô hình đơn giản hơn thường dễ giải thích hơn.

Cách viết vào luận văn

Bạn có thể điều chỉnh đoạn sau theo số liệu thật: “Kết quả so sánh cho thấy mô hình [ARIMA(p,d,q)] được lựa chọn vì có [AIC/BIC] phù hợp, RMSE trên tập kiểm tra đạt [giá trị], và kiểm định phần dư cho p-value bằng [giá trị]. Do đó, mô hình được sử dụng để dự báo [biến cần dự báo] trong giai đoạn [khoảng thời gian]. Các số liệu trong ngoặc vuông phải được thay bằng output của chính bạn.”

Không ghi câu này nếu bạn chưa tách tập kiểm tra hoặc chưa kiểm tra phần dư. Hội đồng thường hỏi ngay mô hình được chọn dựa trên tiêu chí nào, dữ liệu nào được dùng để ước lượng và dự báo có được đánh giá ngoài mẫu hay không.

Cách kiểm định mô hình bằng SPSS hoặc SmartPLS

SmartPLS được thiết kế cho PLS-SEM, với biến tiềm ẩn, outer loading, AVE, HTMT và path coefficient. Vì vậy, đây không phải công cụ chính để chạy ARIMA. SPSS có chức năng xử lý chuỗi thời gian phù hợp hơn, còn R, Python hoặc EViews cho phép kiểm soát sâu hơn quy trình chọn mô hình.

Trong SPSS, đưa biến thời gian và biến cần dự báo vào Data View, sau đó kiểm tra thứ tự thời gian. Tùy phiên bản, bạn có thể đi theo Analyze > Forecasting > Create Models hoặc công cụ phân tích chuỗi thời gian tương ứng. Chọn biến chuỗi làm biến phụ thuộc, khai báo cấu trúc thời gian và đọc các bảng thống kê do SPSS xuất ra.

Chuẩn bị tập dữ liệu

Tách dữ liệu thành giai đoạn ước lượng và giai đoạn kiểm tra nếu mục tiêu là đánh giá dự báo. Tập ước lượng dùng để chọn và ước lượng mô hình. Tập kiểm tra được giữ lại để xem mô hình dự báo các quan sát chưa được dùng trong quá trình ước lượng như thế nào.

Chọn cấu hình ARIMA

Vẽ chuỗi gốc, nhận diện xu hướng hoặc mùa vụ, xử lý sai phân nếu cần rồi xem ACF và PACF. Sau đó ước lượng một số cấu hình hợp lý, thay vì thử hàng loạt tham số mà không ghi lại lý do.

Kiểm tra phần dư và dự báo

Khi đọc output, hãy tìm hệ số mô hình, AIC hoặc BIC, bảng sai số, giá trị dự báo và kiểm tra phần dư. Nếu phần dư còn quy luật hoặc tự tương quan, mô hình chưa thu được toàn bộ thông tin trong chuỗi. Bạn cũng cần xem biểu đồ dự báo cùng khoảng tin cậy.

Nếu dùng R hoặc Python, hãy lưu script cùng file dữ liệu và ghi lại phiên bản gói phân tích. Nếu thuê dịch vụ chạy SPSS, yêu cầu bàn giao dữ liệu đã xử lý, cú pháp hoặc mã lệnh, bảng output và quy tắc chọn mô hình. Một bảng kết quả không có lịch sử xử lý rất khó giải trình khi được hỏi vì sao chọn p, d, q.

Lỗi thường gặp khi dùng mô hình này

Nhầm ARIMA với hồi quy khảo sát

ARIMA không thay thế hồi quy tuyến tính cho dữ liệu khảo sát cắt ngang. Nếu mỗi dòng là một người trả lời và không có trật tự thời gian có ý nghĩa, gán số thứ tự cho dòng rồi chạy ARIMA là không hợp lý.

Chọn p, d, q theo mẫu trên mạng

Cùng tên biến không có nghĩa là cùng cấu trúc chuỗi. Một bộ tham số phù hợp với doanh thu tháng của nghiên cứu khác có thể không phù hợp với dữ liệu của bạn. Hãy ghi lại cấu hình đã thử, tiêu chí so sánh và lý do loại bỏ.

Sai phân quá nhiều

Sai phân nhiều lần có thể làm chuỗi biến động mạnh và khiến diễn giải khó khăn. Kiểm tra chuỗi sau từng lần sai phân. Khi chuỗi đã ổn định, không tiếp tục sai phân chỉ để mô hình có vẻ phức tạp hơn.

Bỏ qua dữ liệu thiếu và kỳ không đều

ARIMA dựa vào độ trễ, nên một khoảng thời gian bị thiếu có thể làm ý nghĩa của độ trễ thay đổi. Kiểm tra lịch thời gian trước khi chạy và ghi rõ mọi bước xử lý.

Chỉ báo cáo AIC

AIC hỗ trợ so sánh mô hình nhưng không thay thế kiểm tra phần dư và đánh giá ngoài mẫu. Một mô hình có AIC tốt vẫn có thể dự báo kém hoặc còn tự tương quan trong phần dư.

Viết kết quả như quan hệ nhân quả

ARIMA mô tả và dự báo cấu trúc của chuỗi. Không suy ra tác động nhân quả chỉ từ một hệ số AR hoặc MA. Nếu mục tiêu của bạn là đánh giá tác động giữa nhiều biến, hãy xem xét phương pháp phù hợp với thiết kế dữ liệu.

Đọc thêm: fem rem dữ liệu bảng là gì, lý thuyết var.

Câu hỏi thường gặp

ARIMA có phải là mô hình hồi quy không

ARIMA có thể được viết dưới dạng phương trình với các hệ số và sai số, nhưng mục tiêu chính là mô tả phụ thuộc theo thời gian và dự báo. Nó khác hồi quy khảo sát ở chỗ các độ trễ của chuỗi và sai số dự báo giữ vai trò trung tâm.

ARIMA cần bao nhiêu quan sát

Không có một con số chung cho mọi chuỗi. Số quan sát phụ thuộc vào tần suất dữ liệu, số tham số, mùa vụ, độ dài giai đoạn dự báo và mức độ ổn định của chuỗi. Bạn cần chừa dữ liệu cho cả giai đoạn ước lượng và tập kiểm tra.

Có thể chạy ARIMA bằng SmartPLS không

SmartPLS không phù hợp cho ARIMA. SmartPLS phục vụ PLS-SEM, còn ARIMA cần chức năng xử lý độ trễ, sai phân, ACF, PACF và chẩn đoán phần dư. Hãy dùng SPSS, R, Python hoặc EViews tùy yêu cầu của khoa.

Nếu phần dư còn tự tương quan thì phải làm sao

Trước tiên, kiểm tra lại thứ tự thời gian, dữ liệu thiếu, mùa vụ và bậc p, d, q. Sau đó thử cấu hình hợp lý khác và kiểm tra lại phần dư. Nếu vẫn còn cấu trúc chưa giải thích được, hãy báo cáo giới hạn của mô hình thay vì xóa các quan sát làm kết quả xấu đi.

ARIMA có dùng được cho dữ liệu ngày không

Có thể, nếu các quan sát có tần suất và quy tắc ghi nhận nhất quán. Dữ liệu ngày thường có ngày nghỉ, mùa trong tuần và sự kiện đặc biệt, nên bạn cần cân nhắc mùa vụ và các ngày không phát sinh giao dịch. Đừng coi mỗi dòng trong file là một ngày hợp lệ nếu lịch thực tế có khoảng trống.

Hãy mở file dữ liệu, sắp xếp cột thời gian, vẽ chuỗi gốc và ghi riêng ba quyết định p, d, q cùng lý do chọn. Nếu cần chạy và diễn giải ARIMA trên chính file .sav hoặc .csv, bạn có thể dùng M4 phân tích dữ liệu của DoThesis.