# Monotonic smoothing of noisy data

**URL:** <https://discourse.julialang.org/t/monotonic-smoothing-of-noisy-data/93184>\
**Category:** Signal and Image Processing\
**Tags:** algorithm, convex-optimization, smoothing, splines\
**Created:** [January 18, 2023, 11:02pm UTC](https://discourse.julialang.org/t/monotonic-smoothing-of-noisy-data/93184 "2023-01-18T23:02:28Z")\
**Posts on this page:** 2\
**Page:** 2

<div class="post-metadata">

**Author:** ![RoyiAvital](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/royiavital/32/571_2.png) [@RoyiAvital](https://discourse.julialang.org/u/RoyiAvital)\
**Post date:** [May 17, 2025, 3:19pm UTC](https://discourse.julialang.org/t/monotonic-smoothing-of-noisy-data/93184/25 "2025-05-17T15:19:48Z")

</div>

Similar ideas to what is described here are achieved by [P Splines](https://psplines.bitbucket.io) and [Shape Constrained Additive Models](https://link.springer.com/article/10.1007/s11222-013-9448-7).

Originally shared by @slwu89 at [How to embed expert knowledge /constraints in ML training? - #7 by slwu89](https://discourse.julialang.org/t/how-to-embed-expert-knowledge-constraints-in-ml-training/129025/7).

---

<div class="post-metadata">

**Author:** ![rafael.guerra](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rafael.guerra/32/216610_2.png) [@rafael.guerra](https://discourse.julialang.org/u/rafael.guerra)\
**Post date:** [May 17, 2025, 3:47pm UTC](https://discourse.julialang.org/t/monotonic-smoothing-of-noisy-data/93184/26 "2025-05-17T15:47:46Z")

</div>

@RoyiAvital, thank you for the references.  
I’ve also found the [GeneralizedSmoothingSplines.jl](https://github.com/mipals/GeneralizedSmoothingSplines.jl) package that allows setting spline constraints (upper/lower bounds and/or monotonicity).  
The `:increasing` constraint produces the following result:

 ![Monotonic_GeneralizedSmoothingSplines](https://global.discourse-cdn.com/julialang/original/3X/c/1/c1183ddeaaef89a27d1c7030016ce99935c03a39.jpeg)

[Previous page](https://discourse.julialang.org/t/monotonic-smoothing-of-noisy-data/93184.md?page=1)
