Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nonlinear correlation calculation #15

Open
zhuyingqin opened this issue May 20, 2021 · 8 comments
Open

nonlinear correlation calculation #15

zhuyingqin opened this issue May 20, 2021 · 8 comments

Comments

@zhuyingqin
Copy link

Netcor calculates the data segment to find the cor, and the absolute value is added and then averaged,Is this understanding correct?
Take the maximum value of cor.estimate returned by Netcor for different subdivisions,Why is it a non-linear correlation?
What is the principle of your nonlinear correlation calculation?

@cran2367
Copy link
Member

@zhuyingqin The underlying principle is to perform segmentation, and compute the segment-wise linear correlations to estimate an overall nonlinear correlation. The v2.0 pushed recently performs the segmentation using a dynamic programming for a more computationally efficient and theoretically robust approach.

@zhuyingqin
Copy link
Author

What is the calculation principle of nonlinear correlation?

@zhuyingqin
Copy link
Author

How to use piecewise linear correlation to estimate the overall nonlinear correlation?

@cran2367
Copy link
Member

cran2367 commented Jun 1, 2021

We will be publishing the nlcor paper in a month describing the approach in detail.

@zhuyingqin
Copy link
Author

Please notify me after the paper is published

@brshallo
Copy link

In the case of computing a "total adjusted" correlation, Fisher's transformation may be useful.

To combine the p-values you may want to use either fisher's method, stouffer's method, or a related approach, see: https://en.wikipedia.org/wiki/Fisher%27s_method . Your current approach overly penalizes the significance when taking more splits. For example, three p-values of 0.05 should have a "total adjusted p-value" less than 0.05, but your current approach (1 - prod(1 - p)) does the opposite. (Any adjustment penalties you might add should be based on number of segments or tests, k, rather than the p-values themselves.)

@cran2367
Copy link
Member

@brshallo thank you for the note! We will look into this.

@brshallo
Copy link

brshallo commented Oct 6, 2021

@cran2367 you are welcome. I stumbled onto your package while toying with brshallo/piececor that has a lot of overlap in thinking. The methods I mention above are what I used there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants