2014-11-19 18 views
5

Tôi đang tìm một hàm trong Julia để ước tính các hệ số cho một quy trình ARMA.Ước tính hệ số ARMA trong Julia

Ví dụ sử dụng Mô hình lỗi dự đoán là pemarmax trong Matlab (một phần của hộp công cụ nhận dạng hệ thống). pem documentationarmax documentation.

Tôi đã xem xét các gói sau đây, nhưng không thể thấy rằng họ làm những gì tôi đang tìm: TimeSeries.jl TimeModels.jl

Một giải pháp là tất nhiên để sử dụng Matlab.jl và sử dụng các chức năng Matlab, nhưng tôi đã hy vọng làm tất cả trong Julia.

Nếu không có bất kỳ điều gì ngay bây giờ, có ai biết nếu có bất kỳ hàm Julia nào tốt cho giảm thiểu số nhiều chiều (như Newton-Raphson), có thể được sử dụng để triển khai hàm PEM không?

+0

Không chắc chắn nếu bạn vẫn quan tâm, nhưng tôi đã đẩy một số mã để github cho phép ước tính, dự báo và mô phỏng các mô hình ARIMA ở Julia. Xem câu trả lời cập nhật của tôi để biết thêm chi tiết. –

Trả lời

6

UPDATE: Tôi vừa đẩy một module để github gọi RARIMA.jl. Mô-đun này có thể được sử dụng để ước tính, dự báo và mô phỏng các mô hình ARIMA (trong đó ARMA là trường hợp đặc biệt). Một số chức năng được thực hiện trong Julia, những người khác (đặc biệt là ước lượng) gọi các hàm R tương đương bằng cách sử dụng gói RCall mà bạn sẽ cần phải cài đặt và xác minh nó hoạt động trước khi sử dụng RARIMA. Gói chưa được đăng ký chính thức (chưa), vì vậy Pkg.add("RARIMA") sẽ không hoạt động ngay bây giờ. Nếu bạn muốn sử dụng RARIMA, thay vào đó hãy thử Pkg.clone("https://github.com/colintbowers/RARIMA.jl"). Nếu điều này không thành công, bạn có thể gửi một vấn đề trên trang github kho lưu trữ, nhưng hãy chắc chắn kiểm tra RCall được cài đặt và hoạt động trước khi thực hiện điều này. Chúc mừng, tôi sẽ quay lại và cập nhật tại đây nếu/khi gói được đăng ký chính thức.

ORIGINAL ĐÁP: Tôi chỉ có một cái nhìn tại nguồn, và TimeModels không xuất hiện để có bất kỳ chức năng cho ước mô hình ARIMA, mặc dù không có một chức năng cho mô phỏng họ. Mặc dù vậy, tôi cho rằng đây sẽ là gói giao dịch với mô hình ARIMA. Gói TimeSeries là nhiều hơn về việc xây dựng kiểu đối tượng TimeSeries thay vì triển khai các mô hình chuỗi thời gian, vì vậy tôi sẽ ngạc nhiên nếu mô hình ARIMA được sáp nhập vào gói đó. Gần như tôi có thể nói, tại thời điểm này nếu bạn muốn một gói ARIMA đầy đủ chức năng bạn sẽ cần phải sử dụng Matlab hoặc R. Một R là rất tốt (xem gói dự báo được viết bởi Rob Hyndman - nó là rất đẹp) và có lẽ dễ dàng hơn để giao tiếp với Julia hơn là tùy chọn Matlab. Tất nhiên, tùy chọn khác là để bắt đầu điều đó cho mình và hợp nhất các mã với gói TimeModels :-)

Về thủ tục tối ưu hóa, Julia có một vài hội chợ được viết bằng Julia, và có thể được tìm thấy dưới JuliaOpt ô. Gói Optim nói riêng khá phổ biến và phát triển tốt. Tuy nhiên, hầu hết những người tôi biết thực sự sử dụng công cụ này đều sử dụng NLOpt là thư viện nguồn mở miễn phí có thể gọi được từ nhiều ngôn ngữ (bao gồm cả Julia). Tôi đã nghe không có gì ngoài những điều tốt đẹp về thư viện này từ những người có xu hướng làm việc với công cụ này 24/7.

Các vấn đề liên quan