wptmdoorn / methcomp

Python package providing functionality and plotting for chemistry method comparison
MIT License
14 stars 8 forks source link

P-Value #1

Open ThermoGnad opened 4 years ago

ThermoGnad commented 4 years ago

Hi William, first o all, thanks for this nice great project. I'm using the Passig Bablok regression and want also acquire the test-statistics. I found the most of them like slopes and intersects, but i cant find the p-value and the cumsums (observed and critical) of the test. Is there a possibility to acquire it? Thank you very much. ThermoGnad

wptmdoorn commented 4 years ago

Hi ThermoGnad,

Thank you for your reply. You are correct that Passing-Bablok regression currently only is supported by means of graphical plotting. In the next few days (at last this weekend) I will try to update the package to also include functionality for each of the regression functions to return raw test statistics.

All the best, William

wptmdoorn commented 3 years ago

@ThermoGnad, just as a quick update on the situation: I did not have the time yet to look into the cumsums/p-value. I read the papers but I have to implement it into python - if you would be able to have some readily available python code that would be of great help!

thomasburgess commented 3 years ago

I am currently need direct access to just slope and intercept, no plotting needed. It's possible, but a little hacky. If you want it, I'd be happy to submit a PR to separate the calculations and plotting parts. Perhaps that would help further non-plot development too...

wptmdoorn commented 3 years ago

Hi @thomasburgess,

Again thank you for your comment. On my local repository I have been working on splitting the plotting and calculations parts also. Currently we initiate a class object which is the plotter (completely based upon the internal workings of the seaborn library). I still need to think about the most API friendly way to split the calculations from the plotting. Several options that come to mind:

  1. Create separate calculation and plotting function, where the calculation function just initiates a plotter class (such as _BlandAltman) but actually never plots the graph (seems like a rather hacky fix)
  2. Create a plot function for each of the plotter classes and call this implicitly.

Would you have any ideas? This is definitively worth to think about, as all other classes share similar calculations results (e.g. Bland-Altman, Passing-Bablok but also the glucose grids). I would be happy to hear your opinion. If wanted, I can share my preliminary code in a separate branch.

thomasburgess commented 3 years ago

I'd be happy to look at your dev branch and see if can way in. Separating calculation so they are fast and clean I think really would help building more on top of this work. I think a single plotter function could do the regression plots, possibly an abstract version could handle both these and BlandAltman. I'll know better when I have read the code in more detail, for now I just used _PassingBablok.slope to get to my slope without actually plotting.

wptmdoorn commented 3 years ago

I agree, all of the functionality currently would be useful to also contain calculation functions. I will share some of my preliminary work on the calculations and I am happy to receive your feedback.

thomasburgess commented 3 years ago

I emailed you some suggestion, let me know if it arrives...

wptmdoorn commented 3 years ago

I emailed you some suggestion, let me know if it arrives...

Yes, very happy to cooperate on this, please see my mail reply!