我的问题:为了拟合一些数据,我使用了具有 t 分布的 copula。使用那个 copula,我制作了 n 个样本的散点密度图。结果,知道我的数据,是令人满意的。
使用以下脚本执行:
U=ksdensity(Udata1,Udata1,'function','cdf'); % Transforming the data to copula scale(Unit Square)
R=ksdensity(Rdata1,Rdata1,'function','cdf');
[Rho,nu]=copulafit('t',[U R],'method','ApproximateML')
r=copularnd('t',Rho,nu,100000) % Generates n samples from the copula
Uc=r(:,1);
Rc=r(:,2);
U2=ksdensity(Udata1,Uc,'function','icdf'); % Transforming the data back to the original scale
R2=ksdensity(Rdata1,Rc,'function','icdf');
out = scatplot(U2,R2,'squares',2,40,5,1,5)
此外,我想制作 copula 的 pdf。使用以下脚本:
U=ksdensity(Udata1:,Udata1,'function','cdf');
R=ksdensity(Rdata1,Rdata1,'function','cdf');
[Rho,nu]=copulafit('t',[U R],'method','ApproximateML')
x1 = -2:.2:4; x2 = -10:.2:10;
[X1,X2] = meshgrid(x1,x2);
F = mvtpdf([X1(:) X2(:)],Rho,nu);
F = reshape(F,length(x2),length(x1));
surf(x1,x2,F);
caxis([min(F(:))-.5*range(F(:)),max(F(:))]);
axis([-2 4 -10 10 0 .2])
xlabel('x1'); ylabel('x2'); zlabel('Probability Density');
结果并不令人满意,因为它似乎与我之前的散点图不匹配:
我想我在构建 pdf 时缺少一些重新缩放,但我不确定。并且不知道如何执行或使用这种重新缩放。
有谁能帮助我吗?
提前致谢!