Code Monkey home page Code Monkey logo

Comments (8)

tnagler avatar tnagler commented on June 26, 2024

Yes, you probably need the rosenblatt transform and it's inverse. But I'm not quite sure how the already existing data comes into play here. Are these data for a subset of variables? In that case, you want to simulate conditionally on the existing variables. Section 4.2 in this article does this for example.

from rvinecopulib.

whyzjuhit avatar whyzjuhit commented on June 26, 2024

Yes, I want to do a conditional sampling. These days I tried with rvinecopulib. I found the pseudo_obs of a matrix x is different from what rosenblatt fuction gives. It seems I can't solve it with rvinecopulib.

from rvinecopulib.

tnagler avatar tnagler commented on June 26, 2024

Indeed the pseudo_obs and rosenblatt functions do different things. The first converts to uniform variables without changing the dependence, the second to independent uniform variables. For conditional sampling you need the second.

from rvinecopulib.

whyzjuhit avatar whyzjuhit commented on June 26, 2024

Thank you Professor Nagler. I've read the paper and found it difficult for me. I'll keep on working on it. Thank you again.

from rvinecopulib.

vande02 avatar vande02 commented on June 26, 2024

To follow up on this conversation, Section 4.2 of the attached paper specifies that, to conditionally sample using known values for a subset of variables, the other, unknown variables should be set to arbitrary [0,1] values before applying the Rosenblatt transform (step 2). While these (Rosenblatt transformed) arbitrary values are replaced by independent uniformly distributed values in Step 3, the arbitrary values from Step 2 will influence the Rosenblatt transformed values of the known variables (I believe), which in turn will influence the value of the unknown variables when applying the inverse Rosenblatt transform in Step 6. So, what arbitrary values should be used for the unknown variables in Step 2? Thank you in advance for clarification.

from rvinecopulib.

tnagler avatar tnagler commented on June 26, 2024

The values are really arbitrary and should not influence the transform of the other variables if the structure is set up correctly. In particular, the variables you condition on have to be on the top right of the diagonal. As a sanity check you can use NA as the 'arbitrary value' and see if the transform comes out with NAs at the wrong place.

from rvinecopulib.

HEY745 avatar HEY745 commented on June 26, 2024

Sorry to bother you again, Professor Nagler. Could you clarify about"the variables you condition on have to be on the top right of the diagonal"? I try to understand it from two aspects. On the one hand, variable data should be placed on the top right of the diagonal(step 2), but according to the article, variable data should be placed like that.
image
On the other hand, it may the matrix structure of Vine Copula. But I found that the Vine Copula is the same whether it is the upper or lower triangle.
image

from rvinecopulib.

tnagler avatar tnagler commented on June 26, 2024

This is a different package (VineCopula instead of rvinecopulib) which uses a different convention for the structure matrix. Here, the variables you condition on have to be bottom right on the diagonal. Please ask questions about VineCopula in the respective repository.

from rvinecopulib.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.