Spaces:
Sleeping
Sleeping
File size: 4,534 Bytes
1e67131 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 |
---
# **Decision Kernel Lite β Choosing Under Uncertainty**
A minimal, reproducible system for making **defensible decisions under uncertainty**, using three complementary risk lenses:
* **Expected Loss**
* **Minimax Regret**
* **CVaR (Conditional Value at Risk)**
The system collapses scenarios, probabilities, and asymmetric losses into **one deployable decision** with an explicit rationale.
---
## **What Problem This Solves**
Most business decisions fail not because of bad models, but because:
* probabilities are uncertain or disputed
* downside risk is asymmetric
* decisions are justified with intuition instead of structure
Decision Kernel Lite provides a **decision-first abstraction** that makes trade-offs explicit and auditable.
It does **not** predict.
It does **not** optimize operations.
It **chooses actions**.
---
## **Core Concept**
A decision is defined by four primitives:
```text
Actions Γ Scenarios Γ Probabilities Γ Losses
```
From these, the kernel evaluates actions using three lenses:
| Lens | Optimizes for |
| -------------- | ----------------------- |
| Expected Loss | Average pain |
| Minimax Regret | Hindsight defensibility |
| CVaR | Tail-risk protection |
The output is a **Decision Card** β not a dashboard.
---
## **What This Repository Provides**
This repository includes:
* a pure **decision kernel** (no ML, no forecasting)
* three mathematically sound decision rules
* a **Streamlit UI** for rapidΕΎ input β decision
* an explicit **rule-selection heuristic**
* a copy/paste **Decision Card** suitable for exec decks or memos
This is not analytics.
It is **decision intelligence**.
---
## **Decision Rules β When to Use What**
### **Expected Loss (Risk-Neutral)**
Use when:
* decisions repeat frequently
* probabilities are reasonably trusted
* variance is acceptable
Optimizes:
* long-run average outcomes
---
### **Minimax Regret (Robust / Political Safety)**
Use when:
* probabilities are unreliable or contested
* decisions are one-shot or high-accountability
* post-hoc defensibility matters
Optimizes:
* βI should not regret this choiceβ
---
### **CVaR (Tail-Risk Protection)**
Use when:
* rare bad outcomes are unacceptable
* downside is asymmetric (ruin, safety, bankruptcy)
* survival > average performance
Optimizes:
* average loss in the worst cases
---
## **Heuristic Rule Recommendation**
The system includes a simple, transparent heuristic:
* if tail risk dominates average risk β **recommend CVaR**
* otherwise β **recommend Expected Loss**
The recommendation is **advisory only** and can be overridden.
Governance is preserved.
---
## **Repository Structure**
```text
decision_kernel_lite/
βββ app.py β Streamlit application
βββ requirements.txt β minimal dependencies
βββ Dockerfile β containerized deployment
βββ README.md β this file
βββ Executive_brief.md β executive narrative
βββ Technical_brief.md β math + implementation
```
---
## **How to Run**
### Local
```bash
pip install -r requirements.txt
streamlit run app.py
```
### Docker
```bash
docker build -t decision-kernel-lite .
docker run -p 7860:7860 decision-kernel-lite
```
Open: `http://localhost:7860`
---
## **Deployment**
Works on:
* **Hugging Face Spaces (Docker SDK)**
* local Docker
* any environment that supports Streamlit
No external services required.
---
## **What This Is Not**
Decision Kernel Lite deliberately excludes:
* forecasting models
* machine learning
* optimization solvers
* domain-specific logic
Those belong **upstream or downstream**.
This kernel is intentionally **domain-agnostic**.
---
## **Positioning**
Decision Kernel Lite is designed to be:
* embedded downstream of forecasts
* embedded upstream of optimization
* used standalone for high-stakes choices
It is the **decision layer** in a larger Decision Intelligence stack.
---
## **Summary**
This system delivers:
1. a **clear action recommendation**
2. multiple **risk-aware justifications**
3. explicit trade-offs between lenses
4. a governance-ready Decision Card
5. a deployable, minimal interface
> Decisions are not predictions.
> They are commitments under uncertainty.
---
|