- #1

- 33

- 1

I am trying to generate the KL expansion of a stochastic process. I use a Monte Carlo sampling method to generate the process, which involves two random variables and I compare it with it's theoretical mean for 50 values of time and they look quite similar. Then, I calculate the autocovariance matrix, from where I extract the eigenvalues and eigenvectors which are used to calculate the new variable Y which is the stochastic process S in a base where the random variables are not correlated. However, if I calculate the mean of Y it doesn't look like the the mean of S at all.

Can someone please tell me what am I doing wrong?

Thank you very much for reading.

clear

close all

V = unifrnd(1,2,1,10000);

A = betarnd(2,2,1,10000);

t=50;

for i=1:t

S(i,:)=V*i+0.5*A*i^2;

theoreticalmeanS(i)=3/2*i+1/4*i^2;

meanS(i)=mean(S(i));

end

for i=1:t

for j=1:t

AutocorrelationS(i,j)=(S(i,:)*S(j,:)')/10000;

AutocovarianceS(i,j)=(S(i,:)*S(j,:)')/10000-meanS(i)*meanS(j);

end

end

[eigenvectors, eigenvalues]=eig(AutocovarianceS);

eigenvalues_column=eig(AutocovarianceS);

Y=eigenvalues*S;

Note: I am following the book of Alberto Leon Garcia (probability statistics and random processes for electrical engineering), pages 324-325.