{
    "componentChunkName": "component---src-templates-note-note-js",
    "path": "/notes/higher-order-quadratic-function-versus-series-of-lines",
    "result": {"data":{"mdx":{"body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"This is a \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"model-selection / approximation trade-off\"), \" question. A clean way to think about it is:\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Do I pay complexity once (single higher-order curve), or pay complexity repeatedly (many simple pieces)?\"))), mdx(\"p\", null, \"Below is a \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"decision framework\"), \" you can actually use.\"), mdx(\"hr\", null), mdx(\"h2\", null, \"1. Two competing models\"), mdx(\"h3\", null, \"A. Higher-order quadratic (global polynomial)\"), mdx(\"p\", null, \"Example:\", mdx(\"br\", {\n    parentName: \"p\"\n  }), \"\\n\", \"[\", mdx(\"br\", {\n    parentName: \"p\"\n  }), \"\\n\", \"y = a_0 + a_1 x + a_2 x^2 + a_3 x^3 + \\\\dots\", mdx(\"br\", {\n    parentName: \"p\"\n  }), \"\\n]\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Characteristics\")), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Single global function\\n\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Smooth, differentiable everywhere\\n\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Error spreads globally\\n\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Sensitive to outliers (Runge phenomenon at higher degrees)\\n\")), mdx(\"hr\", null), mdx(\"h3\", null, \"B. Series of lines (piecewise linear / spline-like)\"), mdx(\"p\", null, \"Example:\", mdx(\"br\", {\n    parentName: \"p\"\n  }), \"\\n\", \"[\", mdx(\"br\", {\n    parentName: \"p\"\n  }), \"\\n\", \"y =\", mdx(\"br\", {\n    parentName: \"p\"\n  }), \"\\n\", \"\\\\begin{cases}\", mdx(\"br\", {\n    parentName: \"p\"\n  }), \"\\n\", \"m_1 x + c_1 & x \\\\in \", \"[x_0, x_1]\", \" \\\\\", mdx(\"br\", {\n    parentName: \"p\"\n  }), \"\\n\", \"m_2 x + c_2 & x \\\\in \", \"[x_1, x_2]\", \" \\\\\", mdx(\"br\", {\n    parentName: \"p\"\n  }), \"\\n\", \"\\\\vdots\", mdx(\"br\", {\n    parentName: \"p\"\n  }), \"\\n\", \"\\\\end{cases}\", mdx(\"br\", {\n    parentName: \"p\"\n  }), \"\\n\", \"]\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Characteristics\")), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Local control\\n\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Errors are local\\n\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Discontinuous derivatives (unless constrained)\\n\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Very robust to noise\\n\")), mdx(\"hr\", null), mdx(\"h2\", null, \"2. Cost model (this is the key)\"), mdx(\"p\", null, \"Define \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"total cost\"), \" as:\", mdx(\"br\", {\n    parentName: \"p\"\n  }), \"\\n\", \"[\", mdx(\"br\", {\n    parentName: \"p\"\n  }), \"\\n\", \"\\\\text{Total Cost} = \\\\text{Model Cost} + \\\\text{Error Cost}\", mdx(\"br\", {\n    parentName: \"p\"\n  }), \"\\n]\"), mdx(\"h3\", null, \"Model Cost\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Aspect\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Higher-order quadratic\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Series of lines\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Parameters\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"(O(d))\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"(O(k)) (segments)\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Training\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"(O(d^2))\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"(O(k))\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Inference\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"constant\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"conditional branching\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Maintenance\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"hard\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"easy\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Interpretability\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"low\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"high\")))), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Rule\"), \": cost grows \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"quadratically\"), \" with degree, \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"linearly\"), \" with number of segments.\")), mdx(\"hr\", null), mdx(\"h3\", null, \"Error Cost\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Error behavior\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Polynomial\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Piecewise linear\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Local spikes\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"\\u274C affects whole curve\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"\\u2705 contained\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Boundary behavior\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"\\u274C unstable\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"\\u2705 stable\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Noise tolerance\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"\\u274C poor\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"\\u2705 strong\")))), mdx(\"hr\", null), mdx(\"h2\", null, \"3. Error allowance \\u2192 model choice\"), mdx(\"p\", null, \"Let \\u03B5 be acceptable max error.\"), mdx(\"h3\", null, \"Case 1: \", mdx(\"strong\", {\n    parentName: \"h3\"\n  }, \"Low \\u03B5, high smoothness required\")), mdx(\"p\", null, \"\\u2714 \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Use higher-order quadratic\"), \" if:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Function is inherently smooth (physics, geometry)\\n\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Error tolerance is uniform\\n\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Derivatives matter\\n\")), mdx(\"p\", null, \"Examples:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Motion equations\\n\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Trajectories\\n\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Sensor calibration curves\\n\")), mdx(\"hr\", null), mdx(\"h3\", null, \"Case 2: \", mdx(\"strong\", {\n    parentName: \"h3\"\n  }, \"Low \\u03B5, but structure is unknown or noisy\")), mdx(\"p\", null, \"\\u2714 \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Use series of lines\"), \" if:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Data is empirical\\n\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Regime changes exist\\n\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Outliers present\\n\")), mdx(\"p\", null, \"Examples:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Pricing slabs\\n\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Demand curves\\n\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Supply\\u2013cost relations\\n\")), mdx(\"hr\", null), mdx(\"h3\", null, \"Case 3: \", mdx(\"strong\", {\n    parentName: \"h3\"\n  }, \"Medium \\u03B5, low cost preference\")), mdx(\"p\", null, \"\\u2714 \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Series of lines wins\")), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Easier to tune\\n\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Easier to explain\\n\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Lower risk\\n\")), mdx(\"hr\", null), mdx(\"h2\", null, \"4. Bias\\u2013Variance lens (important)\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Model\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Bias\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Variance\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"High-order polynomial\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Low bias\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"High variance\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Piecewise linear\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Moderate bias\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Low variance\"))))), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"If you fear \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"overfitting \\u2192 choose lines\"), mdx(\"br\", {\n    parentName: \"p\"\n  }), \"\\n\", \"If you fear \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"underfitting \\u2192 choose polynomial\"))), mdx(\"hr\", null), mdx(\"h2\", null, \"5. Decision rule (practical)\"), mdx(\"h3\", null, \"Use \", mdx(\"strong\", {\n    parentName: \"h3\"\n  }, \"higher-order quadratic\"), \" when:\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"You can \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"guarantee smoothness\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Global behavior matters\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"You have \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"low noise\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"You need derivatives\")), mdx(\"h3\", null, \"Use \", mdx(\"strong\", {\n    parentName: \"h3\"\n  }, \"series of lines\"), \" when:\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Data is empirical / operational\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Interpretability matters\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Errors must stay local\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Cost of mistakes is high\")), mdx(\"hr\", null), mdx(\"h2\", null, \"6. A very strong heuristic (engineering rule)\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"If you can explain the breakpoints \\u2192 use lines\"), mdx(\"br\", {\n    parentName: \"p\"\n  }), \"\\n\", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"If you can explain the equation \\u2192 use polynomial\"))), mdx(\"hr\", null), mdx(\"h2\", null, \"7. Hybrid (often best)\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Spline / quadratic per segment\")), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Low-degree polynomial per piece\\n\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Continuous at joins\\n\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Bounded complexity\\n\")), mdx(\"p\", null, \"This dominates both in many real systems.\"), mdx(\"hr\", null), mdx(\"h2\", null, \"8. One-line takeaway\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Global smooth truth \\u2192 polynomial\"), mdx(\"br\", {\n    parentName: \"p\"\n  }), \"\\n\", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Local uncertain reality \\u2192 piecewise linear\"))), mdx(\"p\", null, \"If you want, tell me:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"noise level\\n\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"interpretability importance\\n\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"whether derivatives matter\\n\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"cost of a bad prediction\\n\")), mdx(\"p\", null, \"and I\\u2019ll give you a \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"numerical decision rule\"), \" (even a formula).\"));\n}\n;\nMDXContent.isMDXComponent = true;","inboundReferences":[]}},"pageContext":{"slug":"higher-order-quadratic-function-versus-series-of-lines","node":{"childMdx":{"slug":"higher-order-quadratic-function-versus-series-of-lines"}}}},
    "staticQueryHashes": []}