mikeblazanin / gcplyr

gcplyr is an R package that facilitates wrangling and analysis of microbial growth curve data
https://mikeblazanin.github.io/gcplyr/
Other
30 stars 2 forks source link

Expanded smooth_data methods and improved explanation of smoothing approaches #89

Open mikeblazanin opened 1 year ago

mikeblazanin commented 1 year ago

27 calls for splines (R built-in method smooth.spline) and lowess to be added

49 calls for Savitzky-Golay to be added (which may simply be a general case of loess?)

88 calls for better clarification of artifact-creation issues related to gam smoothing (esp oscillations in densities when near 0 and in derivatives)

This issue is for a broader and better understanding of what smoothing methods are best, what the main families of smoothing methods are, when to use them, their pros/cons, etc. I'm closing the three sub-issues and re-routing them all to this one, since I think smoothing needs a broad overhaul (not in coding/implementation, but in understanding and explanation in the vignette). So far it feels like I've just been adding the smoothing methods I hear about, without understanding the big picture in statistics of what general smoothing approaches there are. Once I understand that big picture, then I can understand what methods to include/exclude and recommend/not recommend

mikeblazanin commented 1 year ago

Perhaps a smooth_data method that is like moving average but with a variable slope too? For this, could also then use the moving-lm function as the backend for calc_deriv when n > 2. Perhaps moving-lm could just have a return argument that allows the slope, the fitted, value, the R2, or anything else that lm outputs to be chosen

mikeblazanin commented 1 year ago

AMiGA pretty extensively builds their approach on Gaussian process regression, which is a form of smoothing in gcplyr's framework

mikeblazanin commented 1 year ago

Video on using GAM's: https://twitter.com/nj_clark/status/1638616403476611072?t=1Iy5VRT5EonVOmvEc4MYgg&s=19

mikeblazanin commented 10 months ago

Also perhaps variants of moving-average, like exponential moving average

mikeblazanin commented 8 months ago

Also see stats::runmed and stats::supsmu

mikeblazanin commented 7 months ago

See built-in R function ksmooth, package KernSmooth

https://rafalab.dfci.harvard.edu/dsbook-part-2/ml/smoothing.html