Cách tạo chuỗi markov với phân phối biên gamma và hệ số AR (1) là


8

Tôi muốn tạo ra một chuỗi thời gian tổng hợp. Chuỗi thời gian cần phải là một chuỗi markov với phân phối biên gamma và tham số AR (1) của . Tôi có thể làm điều này bằng cách đơn giản sử dụng phân phối gamma làm thuật ngữ nhiễu trong mô hình AR (1) hay tôi cần sử dụng cách tiếp cận tinh vi hơn?ρ


Định nghĩa của một quá trình AR (1) có thể được làm rõ: đây có phải là một thứ tự chung đầu tiên Markov như được viết trong tiêu đề hoặc một thứ tự Markov thứ 1 với một hình thức chuyển tiếp cụ thể? Trong trường hợp đầu tiên, sẽ được coi là tự tương quan đơn hàng đầu tiên. ρ
Yves

Cảm ơn bạn Yves. Tôi nghĩ rằng tôi có một giải pháp hoàn chỉnh cho vấn đề này, nhờ vào ý kiến ​​của bạn và các ý kiến ​​khác bên dưới. Tôi sẽ đăng giải pháp đầy đủ vào ngày mai khi tôi có thời gian để viết nó ra!
thủy văn

1
Tôi mới nhận ra rằng câu hỏi này là một bản sao của stats.stackexchange.com/q/180109/10479 và câu trả lời của riêng tôi có nhiều điểm tương đồng với câu hỏi của @Glen_b. Lấy làm tiếc.
Yves

Câu trả lời:


3

Người ta có thể đoán (ban đầu tôi cũng vậy) rằng có, nhưng quá trình AR (1) sẽ có các tham số mới. Đối với hình dạng và tỷ lệ , hãy để . Viết .s g t ~ Γ ( một , s ) ~ g t = g t - E ( g t )asgtΓ(a,s)g~t=gtE(gt)

Sau đó, một AR (1) tiến hành trong , cũng có thể được viết là Gọi lại và . Theo thuộc tính của AR (1) , và Giải hệ thống phương trình của hai thời điểm đầu tiên của phân phối gamma cho hai tham số của nó mang lại các tham số hình dạng mới của , và .y t = ρ y t - 1 + g t y t = E ( g t ) + ρ y t - 1 + ˜ g t E ( g t ) = a s V a r ( g t ) = a s 2 E ( y t ) = a sgtyt=ρyt1+gt

yt=E(gt)+ρyt1+g~t
E(gt)=asVar(gt)=as2 Vmộtr(yt)=mộts2
E(yt)=as1ρ
ytay=E(yt)2/Var(yt)sy=Var(yt)/E(yt)
Var(yt)=as21ρ2
ytay=E(yt)2/Var(yt)sy=Var(yt)/E(yt)

Tuy nhiên, đối số này không đầy đủ vì nó không cho thấy thực sự là . Về cơ bản, hãy viết ra đại diện để có thể được xem như là một loạt các gamma hạ thấp trọng số Việc đọc các bài đăng của tôi như thế này (cũng xem các câu trả lời gần đây khác) cho thấy rằng đây không phải là một biến thể gamma. Γ M A ( ) y t = a sytΓMA()yt

yt=as1ρ+j=0ρjg~t,
yt

Điều đó nói rằng, một mô phỏng nhỏ cho thấy rằng phương pháp này mang lại một xấp xỉ khá tốt:

nhập mô tả hình ảnh ở đây

n <- 50000

shape.u <- 2
scale.u <- 1
u <- rgamma(n,shape=shape.u,scale=scale.u)

rho <- 0.75
y <- arima.sim(n=n, list(ar=rho), innov = u)
hist(y, col="lightblue", freq = F, breaks = 40)

(Theoretical.mean <- shape.u*scale.u/(1-rho))
mean(y)
(Theoretical.Variance <- shape.u*scale.u^2/(1-rho^2))
var(y)

shape.y <- Theoretical.mean^2/Theoretical.Variance
scale.y <- Theoretical.Variance/Theoretical.mean

grid <- seq(0,15,0.05)  
lines(grid,dgamma(grid,shape=shape.y,scale=scale.y))

Cảm ơn bạn @christophhank - điều này thực sự hữu ích. Tôi sẽ xem liệu có ai khác trong thời gian này không!
thủy văn học

Cảm ơn. Vẽ plot(grid,dgamma(grid,shape=shape.y,scale=scale.y), lwd=2, col="red", type = "l")lines(density(y), type="l", col="lightblue", lwd=2)tuy nhiên thực sự gợi ý rằng có một sự khác biệt ngay cả đối với rất lớn n, khi công cụ ước tính mật độ hạt nhân densitysẽ ổn.
Christoph Hanck

1
Với , biến đổi Laplace của phân phối cố định thỏa mãn . Khi tuân theo gamma đã dịch chuyển, không tuân theo phân phối gamma. Một phân phối hỗn hợp với khối lượng xác suất ở 0 là bắt buộc đối với . ψ ( s ) : = E [ e - s y ] ψ ( s ) / ψ ( ρ s ) = E [ e - s ε ] ε t y t εyt=ρyt1+εtψ(s):=E[esy]ψ(s)/ψ(ρs)=E[esε]εtytε
Yves

Thật tuyệt khi thấy nhiều kiến ​​thức về miền ở đây hơn là trong dự đoán của tôi - tôi đã điều chỉnh câu trả lời của mình cho phù hợp.
Christoph Hanck

3

Bây giờ tôi có câu trả lời cho câu hỏi này tôi đặt ra, nhưng nó dẫn tôi đến một câu hỏi khác.

Vì vậy, đầu tiên, giải pháp như sau:

Đối với Chuỗi Markov cố định có phân phối biên , hàm mật độ xác suất của tại được cho bởi:P t xΓ[α,p]Ptx

fPt[x]=xp1exp[x/α]αpΓ[p]x0

thì pdf có điều kiện của tại cho $ P_t = u là:Pt+1x

fPt+1|Pt[x|u]=1α(1ρ)ρ(p1)/2[xu](p1)/2exp[x+ρuα(1ρ)]Ip1[2ρxuα(1ρ)]

trong đó biểu thị chức năng Bessel đã sửa đổi. Điều này cung cấp Chuỗi Markov với phân phối biên gamma và cấu trúc tương quan AR trong đó là .Iνρ(1)ρ

Thông tin chi tiết về điều này được đưa ra trong một bài báo xuất sắc của David Warren, được xuất bản năm 1986 trên Tạp chí Thủy văn, "Skewness chảy ra trong các hồ chứa tuyến tính không theo mùa với dòng chảy phân phối gamma" (Tập 85, tr127-137; http: // www.scTHERirect.com/science/article/pii/0022169486900806# ).

Điều này thật tuyệt, vì nó trả lời câu hỏi ban đầu của tôi, tuy nhiên, các hệ thống tôi muốn đại diện với bản PDF này yêu cầu tạo ra chuỗi tổng hợp. Nếu các tham số hình dạng và tỷ lệ của phân phối lớn, thì điều này là đơn giản. Tuy nhiên, nếu tôi muốn các tham số nhỏ thì tôi không thể tạo ra một chuỗi với các đặc điểm phù hợp. Tôi đang sử dụng MATLAB để làm điều này và mã như sau:

% specify parameters for distribution
p = 0.05;
a = 0.5;

% generate first value
u = gamrnd(p,a);

$ keep a version of the margins pdf
x = 0.00001:0.00001:6;

f = (x.^(p-1)).*(exp(-x./a))./((a.^p).*gamma(p));

% specify the correlation structure
rho = 0.5;

% store the first value
input(1,1) = u;

% generate 999 other cvalues using the conditional distribution
for i = 2:1:999

    i
    z = (2./(a.*(1-rho))).*sqrt(rho.*x.*u);

    PDF = (1./a).*(1./(1-rho)).*(rho.^(-(p-1)./2)).*((x./u).^((p-1)./2)).*...
           exp(-(x+rho.*u)./(a.*(1-rho))).*besseli(p-1,z);

    ycdf = cumsum(PDF,'omitnan')/sum(PDF,'omitnan');

    rn = rand;
    u = x(find(ycdf>rn,1));
    input(i,1) = u;

end

Nếu tôi sử dụng số lượng lớn hơn nhiều cho các tham số phân phối gamma thì biên sẽ xuất hiện, nhưng tôi cần sử dụng các giá trị nhỏ. Bất kỳ suy nghĩ về cách tôi có thể làm điều này?


Bạn có thể sử dụng biểu diễn của quá trình ngẫu nhiên thay vì phân phối có điều kiện. Xem câu trả lời của tôi thống kê.stackexchange.com/a/289326/10479 để biết ví dụ về mô phỏng chuỗi Markov bậc nhất với lề gamma tùy ý bằng quy trình Shot Noise.
Yves

Cảm ơn bạn @Yves. Lý do tôi muốn sử dụng phân phối cận biên là vì tôi có thể rút ra các thuộc tính cụ thể của chuỗi đầu ra (phương sai, độ lệch và kurtosis) về mặt phân phối đầu vào - nhưng tôi đang vật lộn để tạo đầu vào ngẫu nhiên từ phân phối có điều kiện. Nếu tôi theo mô hình nhiễu bắn của bạn, liệu các số liệu thống kê xuất phát cho dòng chảy ra có giữ nguyên không?
thủy văn

Phân phối có điều kiện cho Tiếng ồn Shot (SN) có thể không có sẵn ở dạng đóng do các phép tính gần đúng điểm yên của nó đã được đề xuất (các tìm kiếm của Google với tiếng ồndự đoán bắn ); xấp xỉ như vậy thường là rất tốt. Đại diện SN không liên quan đến các luồng vào và ra như trong bài viết mà bạn đã trích dẫn, nhưng các bước nhảy theo cấp số nhân có thể được coi là các luồng cân bằng một mất mát liên tục, ví dụ như do bay hơi.
Yves

2

Có một số cách để có được quy trình Markov đặt hàng đầu tiên với tỷ lệ lợi nhuận gamma. Một tài liệu tham khảo rất hay về chủ đề này là bài báo của GK Grunwald, RJ Hyndman và LM Tedesko: Một quan điểm thống nhất về các mô hình AR (1) .

Như bạn sẽ thấy, "hình thức đổi mới" cổ điển không phải là cách dễ nhất để chỉ định chuyển đổi Markov , trừ khi được lấy ngẫu nhiên. Sử dụng phân phối được lựa chọn tốt; Beta cho và Gamma cho , người ta có thể có được tỷ lệ gamma.yt=ϕyt1+εtp(yt|yt1)ϕϕεt

Một quy trình AR (1) liên tục nổi tiếng với lề Gamma là quy trình xử lý tiếng ồn với các bước theo cấp số nhân, được sử dụng rộng rãi, ví dụ như trong thủy văn và liên quan đến quy trình Poisson. Điều này cũng có thể được sử dụng với lấy mẫu thời gian rời rạc, sau đó nó xuất hiện dưới dạng hệ số ngẫu nhiên AR (1) với phân phối kiểu hỗn hợp cho đổi mới.


2

Một ý tưởng lấy cảm hứng từ copula sẽ là biến đổi quy trình Gaussian AR (1), giả sử trong đó là trong đó sao cho phân phối biên của cho một quy trình mới trong đó là hàm lượng tử của phân phối gamma và là hàm mật độ chuẩn chuẩn tích lũy.

xt=ϕ1xt1+wt
wtN(0,σw2)σw2=1ϕ2xtN(0,1)yt=F1(Φ(xt);a,s))F1Φ

Mặc dù quá trình kết quả sẽ có thuộc tính Markov, tuy nhiên, sẽ không phải là AR (1), vì chức năng tự tương quan một phần của nó không bị cắt cho độ trễ lớn hơn 1 như đã thấy trong mô phỏng sau:yt

phi <- .5
x <- arima.sim(model=list(ar=phi),n=1e+6,sd=sqrt(1-phi^2))
y <- qgamma(pnorm(x), shape=.1)
par(mfrow=c(2,1))
acf(y)
pacf(y)

nhập mô tả hình ảnh ở đây

Thay vào đó, nếu để là AR (p) với các hệ số phù hợp, thì có lẽ có thể được tạo khoảng AR (1), nghĩa là chọn thứ tự và sao cho nhịp của trở nên đủ nhỏ cho tất cả độ trễ cao hơn 1. Nhưng bây giờ quá trình sẽ không còn thuộc tính Markov nữa.y t p φ 1 , ... , φ p y t y txtytpϕ1,,ϕpytyt


Cảm ơn bạn cho tất cả các ý kiến ​​của bạn - họ rất đánh giá cao. Theo kết quả của các bài viết chu đáo của bạn, tôi nghĩ rằng tôi có một giải pháp, mà tôi sẽ đăng một khi tôi có thể gõ nó ...
thủy văn học

Sê- thực sự là một chuỗi Markov bậc 1 và có biên độ gamma (nếu được bắt đầu một cách thích hợp). Nó chỉ đơn giản là không có hình thức đổi mới cổ điển - trong mắt tôi, không phải là một mối quan tâm. Sử dụng công thức tiêu chuẩn cho PACF lý thuyết là sai lệch vì nó dựa vào giả định quy tắc, không còn được giữ ở đây. yt
Yves

1
@Yves Không, định nghĩa thông thường của pacf không giả định tính quy tắc, nó áp dụng cho bất kỳ quy trình đứng yên hiệp phương sai nào, bao gồm cả như được định nghĩa ở trên. yt
Jarle Tufto

@JarleTufto +1 Ồ vâng, bạn đúng. Tuy nhiên, tôi vẫn tin rằng quy trình là Markov: các thuộc tính của PACF mẫu có thể giải thích vấn đề bạn đã chỉ ra trên cốt truyện không? yt
Yves

1
@JarleTufto Tôi bị thu hút bởi một cạm bẫy cổ điển nhưng khá tinh tế: và không có mối tương quan có điều kiện (trên ) nhưng chúng có tương quan một phần . Vì vậy, PACF cho độ trễ 2 có thể khác không. y t - 2 y t - 1ytyt2yt1
Yves
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.