Warning: Inverse CDF calculation did not converge for p

9 ビュー (過去 30 日間)
Alexandra 2016 年 1 月 8 日
編集済み: Torsten 2016 年 1 月 11 日
I run a simulation using ksdensity and copulas. In the end I get the following warning:
Warning: Inverse CDF calculation did not converge for p
Anyone knows what it means?
  1 件のコメント
Torsten 2016 年 1 月 11 日
編集済み: Torsten 2016 年 1 月 11 日
It means that the solver could not calculate F^(-1)(p) where F is the estimated CDF for your inputs.
Best wishes


回答 (1 件)

jgg 2016 年 1 月 8 日
It sounds like you're trying to estimate the inverse CDF function in kdensity.
This is basically done in two steps in Matlab:
  1. Using the kernel density estimation, compute an initial inverse CDF
  2. Use Newton's method to refine this estimation based on the change in the function value and grid size
It tries to make this roughly less than 1e-6 in terms of total change, and gives itself 100 iterations of Newton's method to do this.
The warning you are seeing indicates that kdensity tried to do this, but wasn't confident it was able to find a sufficiently good approximation within the 100 iterations. This is a non-fatal error. I would suggest two things:
  1. You could compute the empirical CDF, and the inverse CDF, then compare the two and see how good you think the inverse CDF is. If it's acceptable, you can ignore this warning.
  2. You can try excluding outliers, centering, or adding data to the estimation to help the estimation do a better job of computing the CDF.
  1 件のコメント
Alexandra 2016 年 1 月 11 日
Hi, Thanks for the help. I only work on the basics of statistics so it is not that clear to me your solution. 1. Your first suggestion is doing a regular histogram of the logaritmic returns and comparing to an histogram of the kernel simulated distribution to see if is very different? 2. What would be centering? Subtracting the mean? Would this help?
Thanks a lot,


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by