Glossar-Links: Fachbegriffe im Fließtext automatisch verlinken
Auto-Linking im Build: Glossar-Begriffe werden im Fließtext automatisch
erkannt und als Link auf den Glossar-Eintrag gesetzt — erste Nennung je
Begriff je Datei, dezent gestrichelte Unterstreichung im HTML, hyperref
im PDF. Kein manuelles Markieren bei Textänderungen nötig.
Neue Infrastruktur:
- glossar_eintraege_04.py: glossar_slug() + LINK_TEXTE-Map (automatisch
generiert aus EINTRAEGEN + Abkürzungs-Extraktion)
- erzeuge_glossar_04.py: jeder Eintrag bekommt {#gloss:<slug>}-Anchor
- build_version_04.py: resolve_glossar() — Auto-Linking + {gl:}-Marke
- web_04/site.css: .glossar-link (dezent, nicht wie Navigationslink)
5 neue Glossar-Einträge (waren als Begriff im Text, aber nicht im Glossar):
Solver, Scheduling, Graphen, Backtest, DCP (Disciplined Convex Programming)
Schutzmechanismen:
- Code-Blöcke, Inline-Code, {idx:}/{ref:}-Marken, Markdown-Links und
Überschriften werden nicht verlinkt
- Verschachtelung verhindert: 'CP-SAT-Solver' als Ganzes, nicht 'CP'+[
-'SAT'+[-'Solver'
- 'OR' als 2-Zeichen-Abkürzung nicht auto-verlinkt (False Positive in
'OR-Tools'); {gl:OR} als manuelle Marke
- Glossar selbst nicht auto-verlinkt (sonst Self-Links)
- reflow_markdown(): ::: als Block-Grenze (sonst kollabiert fenced div)
619 Glossar-Links im Gesamtdokument, 239 Anchor im Glossar, 34 im Vorwort.
This commit is contained in:
parent
81ddb02d5c
commit
e8abb66d75
52 changed files with 4316 additions and 1921 deletions
12
OR_HTML_04/prognose.html
generated
12
OR_HTML_04/prognose.html
generated
|
|
@ -104,8 +104,8 @@
|
|||
<blockquote>
|
||||
<p><strong>📌 Kapitel auf einen Blick</strong></p>
|
||||
<p><strong>Worum geht es?</strong> Um die Naht zwischen zwei Welten, die in getrennten Abteilungen sitzen: Ein Modell <strong>prognostiziert</strong>, ein anderes <strong>entscheidet</strong>. Beide arbeiten sauber — und genau an der Naht entsteht ein Fehler, den keine der beiden Seiten sieht.</p>
|
||||
<p><strong>Voraussetzungen:</strong> <a href="unsicherheit.html#kap-unsicherheit">Kapitel 12</a>, insbesondere das Newsvendor-Problem und das kritische Verhältnis. Etwas Regression hilft, ist aber nicht nötig.</p>
|
||||
<p><strong>Danach können Sie:</strong> begründen, warum ein Prognosemodell mit kleinerem MSE teurere Entscheidungen erzeugen kann; die richtige <strong>Zielgröße</strong> einer Prognose bestimmen; und Prognosemodelle an Entscheidungskosten statt an Fehlermaßen bewerten.</p>
|
||||
<p><strong>Voraussetzungen:</strong> <a href="unsicherheit.html#kap-unsicherheit">Kapitel 12</a>, insbesondere das <a href="anhang-glossar.md#gloss:newsvendor-problem" class="glossar-link">Newsvendor-Problem</a> und das kritische Verhältnis. Etwas Regression hilft, ist aber nicht nötig.</p>
|
||||
<p><strong>Danach können Sie:</strong> begründen, warum ein Prognosemodell mit kleinerem <a href="anhang-glossar.md#gloss:mse" class="glossar-link">MSE</a> teurere Entscheidungen erzeugen kann; die richtige <strong>Zielgröße</strong> einer Prognose bestimmen; und Prognosemodelle an Entscheidungskosten statt an Fehlermaßen bewerten.</p>
|
||||
<p><strong>Zeitbedarf:</strong> ca. 3,5 Stunden.</p>
|
||||
<p><strong>Programme:</strong><br />
|
||||
<code>Predict_then_Optimize.py</code></p>
|
||||
|
|
@ -163,10 +163,10 @@ bestmoegliche feste Menge: 138 Stueck -> 62.10 EUR/Tag</code></pre>
|
|||
<p>In fast jedem Unternehmen sieht der Ablauf so aus:</p>
|
||||
<pre><code> Verkaufsdaten -> [ PROGNOSE ] -> Nachfrageschätzung -> [ PLANUNG ] -> Bestellung
|
||||
Data Science Disposition</code></pre>
|
||||
<p>Beide Seiten arbeiten sorgfältig. Die Prognoseabteilung optimiert ihr Modell auf ein <strong>Fehlermaß</strong> — meist den mittleren quadratischen Fehler (MSE) oder MAPE — und berichtet stolz eine Verbesserung von 12 %. Die Disposition nimmt die Zahl entgegen und rechnet ihre Bestellmenge aus.</p>
|
||||
<p>Beide Seiten arbeiten sorgfältig. Die Prognoseabteilung optimiert ihr Modell auf ein <strong>Fehlermaß</strong> — meist den mittleren quadratischen Fehler (MSE) oder <a href="anhang-glossar.md#gloss:mape" class="glossar-link">MAPE</a> — und berichtet stolz eine Verbesserung von 12 %. Die Disposition nimmt die Zahl entgegen und rechnet ihre Bestellmenge aus.</p>
|
||||
<p>Der Fehler steckt nicht in einer der beiden Hälften, sondern in der Naht:</p>
|
||||
<blockquote>
|
||||
<p><strong>📖 Definition: Predict-then-Optimize</strong></p>
|
||||
<p><strong>📖 Definition: <a href="anhang-glossar.md#gloss:predict-then-optimize" class="glossar-link">Predict-then-Optimize</a></strong></p>
|
||||
<p>Das übliche zweistufige Vorgehen: erst eine unbekannte Größe schätzen, dann mit der Schätzung optimieren, als wäre sie die Wahrheit.</p>
|
||||
<p>Das Problem: Die erste Stufe wird auf ein <strong>statistisches</strong> Maß trainiert, die zweite erzeugt <strong>ökonomische</strong> Kosten. Niemand garantiert, dass ein besseres statistisches Maß zu geringeren Kosten führt — und in diesem Kapitel ist es nachweislich umgekehrt.</p>
|
||||
</blockquote>
|
||||
|
|
@ -654,7 +654,7 @@ Kosten statt auf Fehler trainiert.
|
|||
<hr />
|
||||
<h2 id="sec:prognose-ausblick">15.7 Wie weit das Verfahren reicht</h2>
|
||||
<p>Die dritte Zeile der Ergebnistabelle — „Zuschlag auf Kosten trainiert” — ist die einfachste denkbare Form einer Idee, die derzeit erforscht wird: <strong>das Prognosemodell direkt auf die Entscheidungskosten zu trainieren</strong> statt auf ein Fehlermaß.</p>
|
||||
<p>Hier war es ein einziger Parameter, mit einer Rasterschleife bestimmt. Der allgemeine Fall ist schwieriger, weil die Optimierung zwischen Modell und Kosten steht: Um den Gradienten der Kosten nach den Modellparametern zu bilden, muss man <strong>durch das Optimierungsproblem hindurch ableiten</strong>.</p>
|
||||
<p>Hier war es ein einziger <a href="anhang-glossar.md#gloss:parameter" class="glossar-link">Parameter</a>, mit einer Rasterschleife bestimmt. Der allgemeine Fall ist schwieriger, weil die Optimierung zwischen Modell und Kosten steht: Um den Gradienten der Kosten nach den Modellparametern zu bilden, muss man <strong>durch das Optimierungsproblem hindurch ableiten</strong>.</p>
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 33%" />
|
||||
|
|
@ -707,7 +707,7 @@ Kosten statt auf Fehler trainiert.
|
|||
<p><strong>🐛 „Wir haben die Prognose um 18 % verbessert”</strong></p>
|
||||
<p>Ein Data-Science-Team stellt sein Quartalsergebnis vor:</p>
|
||||
<blockquote>
|
||||
<p><em>„Wir haben das alte lineare Modell durch ein Gradient-Boosting-Modell ersetzt. Der MSE > auf den Testdaten ist um 18 % gesunken, der MAPE um 14 %. Das ist die größte > Prognoseverbesserung, die wir je erreicht haben. Die Disposition bekommt ab nächstem > Monat die neuen Werte.”</em></p>
|
||||
<p><em>„Wir haben das alte lineare Modell durch ein <a href="anhang-glossar.md#gloss:gradient" class="glossar-link">Gradient</a>-Boosting-Modell ersetzt. Der MSE > auf den Testdaten ist um 18 % gesunken, der MAPE um 14 %. Das ist die größte > Prognoseverbesserung, die wir je erreicht haben. Die Disposition bekommt ab nächstem > Monat die neuen Werte.”</em></p>
|
||||
</blockquote>
|
||||
<p>Sechs Wochen später meldet die Disposition, die Retouren seien gestiegen.</p>
|
||||
<p>Das Team prüft alles nach: Die Modellgüte stimmt, die Testdaten waren sauber getrennt, es gibt kein Leck. Das neue Modell prognostiziert die Nachfrage tatsächlich deutlich besser als das alte.</p>
|
||||
|
|
|
|||
Loading…
Reference in a new issue