lingam icon indicating copy to clipboard operation
lingam copied to clipboard

Is the bootstrap method implemented here a multiscale one?

Open EsqYu opened this issue 2 years ago • 12 comments

When using bootstrap to evaluate the causal structure given by LiNGAM, multiscale bootstrap is said to be better. Is the bootstrap method already prepared here a multiscale one?

EsqYu avatar Jun 30 '23 06:06 EsqYu

Hi, multiscale bootstrap is not implemented in this package for LiNGAM.

Though not specialized to LiNGAM, in general cases, R package for multi scale bootstrap is available: https://github.com/shimo-lab/scaleboot

sshimizu2006 avatar Jun 30 '23 08:06 sshimizu2006

Hi, thank you for your reply and introducing R package for multi scale bootstrap. Can I somehow use this package to evaluate the result LiNGAM gives?

EsqYu avatar Jun 30 '23 09:06 EsqYu

Yes. Basically, it would be something like computing bootstrap probabilities with different numbers of bootstrap resampling and then giving them to the R code.

sshimizu2006 avatar Jun 30 '23 13:06 sshimizu2006

Thanks for your reply. Does "computing bootstrap probabilities with different numbers of bootstrap resampling" mean execute the bootstrap() method with different number of n_sampling like the following? 1)model.bootstrap(X, n_sampling=100) 2) model.bootstrap(X, n_sampling=200) 3) model.bootstrap(X, n_sampling=300) 4)give the results1〜3 to R code

EsqYu avatar Jul 03 '23 00:07 EsqYu

Yes, something like that, though I don't know the details of the R package very much.

sshimizu2006 avatar Jul 03 '23 01:07 sshimizu2006

Thank you very much for your kind replies. I'll try using the package. By the way, I have one more question. I believe there are two options when selecting the model, 'pwling' or 'kernel'. How should I use these options differently?

EsqYu avatar Jul 05 '23 06:07 EsqYu

Basically, pwling would be the first choice since it is faster to compute.

sshimizu2006 avatar Jul 05 '23 07:07 sshimizu2006

Okay. Then, What is the advantage of kernel version of it ?

EsqYu avatar Jul 06 '23 02:07 EsqYu

kernel is a kind of nonparametric estimator of independence. pwling makes some distributional assumption like super-Gaussian distributions. See the details for these references: https://www.jmlr.org/papers/v14/hyvarinen13a.html for pwling, and https://www.jmlr.org/papers/v3/bach02a.html for kernel.

sshimizu2006 avatar Jul 06 '23 03:07 sshimizu2006

Thanks for your reply and sharing the URLs. I believed I should use the two methods separately depending on the features of the data used for input like skewness or kurtosis. Is this not that kind of thing?

EsqYu avatar Jul 06 '23 07:07 EsqYu

Yeah, you can try both of them depending on the nature of the distributions of variables.

sshimizu2006 avatar Jul 06 '23 10:07 sshimizu2006

Thank you. I tried multiscale bootstrapping using the R package, and I got some results, but in the example, they use log-likelihood values as input. Is it appropriate to use bootstrap probabilities as input?". I'm also wondering how many times I should do bootstrap before using this package.

EsqYu avatar Jul 12 '23 08:07 EsqYu