chaospy icon indicating copy to clipboard operation
chaospy copied to clipboard

Data driven PCE

Open Jingfei-Liu opened this issue 4 years ago • 2 comments

Hi Jonathan:

It has been a long time since the last question. I have got a problem recently. When there are only enough data for the input variables (more than 1 dimension), how can I compute the orthogonal polynomials with chaospy?

I wonder if the following two approaches are practical?

  1. Fit the pdf of multidimensional input variables with GMM, KDE or other algorithms. Then, utilize "cp.orth_chol()" to compute the orthogonal polynomials. In such case, the correlation among the input variables can be automatically considered by GMM or other algorithms.

  2. Fit the pdf of each single dimensional input variable with GMM, KDE or other algorithms. Then, utilize "cp.J()" to form the multivariate distribution, and then utilize "cp.orth_chol()" to compute the orthogonal polynomials. In such case, we need to find out the correlation among the input variables, may be the copulas, like "cp.Clayton()", are needed.

I don't konw if the above 2 approaches are reasonable. Can you give some suggestions? Best regards!

Jingfei-Liu avatar May 08 '20 09:05 Jingfei-Liu

As you are hinting to, if you want to do multivariate, you need to be handling dependencies. Getting GMM and KDE with dependencies supported in chaospy is non-trivial. I am much closer to get the KDE support up and running, but got severely delayed this spring as I am taking a lot of time off to take care of my son as the kindergardens are closed (due to Corona).

I think your best bet right now (and the most canonical as far as PCE approaches goes) is to use generalized polynomial expansion.

Take a look at the discussion in #234. The reason for using proxy-distribution there is a little different from yours as the problem is ill-posed, not dependent nor data driven. But the solution is still the same. Figure out what your proxy distribution should be. chaospy.Sampledist (which is KDE in 1D) is likely a good fit for you.

jonathf avatar May 09 '20 11:05 jonathf

Thanks for your suggestion, it helps a lot. The generalized polynomial expansion is indeed a good choice. I will try it, and I am waiting for your excellent work for the multivariate KDE.

Jingfei-Liu avatar May 09 '20 14:05 Jingfei-Liu