Hi everyone,
I've been building a Node-RED palette that fits closed-form symbolic equations to sensor time-series — the kind of equation you can paste into a Function node or hand to an engineer, not another opaque model file.
What it does
Wire formulize-fit after any node that produces a CSV string, an array of objects (mqtt-in / http-in style), or an explicit {X, y} shape. Fire it once; the debug panel gets back:
- The fitted equation as a SymPy string + LaTeX
- R² on the training window
- 1σ standard errors on each fitted coefficient (with a note flagging singular-covariance cases so you don't over-trust stderrs on tiny samples)
- Optional BCa 95 % bootstrap CIs when you set
msg.bootstrap = true - A named-equation match if the shape is recognized (framework name + canonical form)
- A stable prediction URL —
POST /f/{formula_id}/predict— you can hit for the next 30 days with any new X
Chain formulize-predict to hit that URL from the same flow.
What's in the repo
Three starter example flows (HVAC efficiency, solar degradation, predictive maintenance) — the JSON structure and node wiring are ready; the specific reference numbers are yours to fill in against your own data. Smoke test: recovers y = x² from 7 rows in ~2.5 s end-to-end, and POST /f/{id}/predict on the returned URL evaluates the fit on new points (verified today against the live API).
Honest disclosure
The palette calls a hosted API at api.formulize.dev by default. Free tier is 50 fits/month, no card required. The palette itself is MIT (github.com/vgpprasad91/node-red-contrib-formulize). The engine source and on-prem image are not open today — that's on the roadmap. The third node (formulize-drift) is in the palette but its refit backend is arriving in a follow-up release; baseline fetch works, refit does not yet. If either the on-prem story or drift refit is a hard requirement for you, hit reply and I'll prioritize.
Solo dev, this is my main project, feedback here goes straight into what I build next week.
Install
npm i node-red-contrib-formulize
Docs and worked examples: Node-RED × formulize — sensor streams → equations in 10 minutes
Would love to hear what sensor streams you'd point this at.
Cheers,
Guru