聊天視窗

Data Science for Strategic Decision-Making: A Practical Guide - 第 6 章

Chapter 6: Decision Science & Optimization

發布於 2026-03-03 19:18

# Chapter 6: Decision Science & Optimization In the previous chapter we built robust, production‑ready machine‑learning pipelines that not only **deliver predictions** but also **communicate uncertainty** to stakeholders. The next logical step is to **translate those predictions into actionable choices** that maximize organizational value. This chapter introduces the theoretical and practical tools that bridge the gap between data‑driven insights and strategic decision‑making. ## 6.1 Foundations of Decision Science | Concept | Definition | Typical Business Application | |---------|------------|-----------------------------| | Decision‑Tree | A hierarchical model that maps decisions and outcomes. | Prioritizing marketing campaigns. | | Utility | A numerical representation of preference over outcomes. | Pricing strategy. | | Expected Value | Weighted average of all possible outcomes using probabilities. | Investment portfolio selection. | | Markov Decision Process (MDP) | Sequential decision framework with states, actions, rewards, and transition probabilities. | Supply‑chain inventory control. | Decision science blends **probability theory**, **optimization**, and **behavioral economics** to formalize the act of choosing under uncertainty. It gives data scientists a common language to express trade‑offs, cost‑benefit relationships, and risk tolerance. ## 6.2 Building a Utility Model ### 6.2.1 Quantifying Objectives 1. **Define objectives** (e.g., revenue, customer satisfaction, operational cost).<br> 2. **Assign monetary values** or *utility scores* to each objective. For non‑monetary goals, consider proxy metrics or scaling methods. ### 6.2.2 Constructing a Utility Function A common approach is a **linear utility**: \[ U(x) = w_1\cdot f_1(x) + w_2\cdot f_2(x) + \dots + w_k\cdot f_k(x) \] - *f_i(x)*: normalized score for objective *i*. - *w_i*: weight reflecting stakeholder priorities. > **Practical tip**: Use a **Delphi survey** or **analytic hierarchy process** (AHP) to elicit weights from decision makers. ## 6.3 Decision‑Theoretic Frameworks ### 6.3.1 Decision Trees Decision trees provide a visual and computational means to evaluate discrete alternatives. python from sklearn import tree # Example: choose between two marketing channels X = [[1], [2]] # feature: estimated click‑through rate y = [0, 1] # target: conversion (0/1) clf = tree.DecisionTreeClassifier().fit(X, y) print(clf.predict([[1.5]])) ### 6.3.2 Markov Decision Processes (MDPs) MDPs model sequential decisions where outcomes depend on current states. | Symbol | Meaning | |--------|---------| | *S* | Set of states | | *A* | Set of actions | | *R* | Reward function | | *P* | Transition probability | | *γ* | Discount factor | #### Example: Inventory Management python import numpy as np # States: inventory levels 0..10 S = np.arange(11) # Actions: order quantity 0..10 A = np.arange(11) # Simple reward: sales revenue minus holding cost def reward(s, a, d): sold = min(s + a, d) revenue = sold * price_per_unit holding = (s + a - sold) * holding_cost return revenue - holding # Transition: demand follows Poisson distribution def transition(s, a, d): return min(s + a, d) ## 6.4 Expected Value of Perfect Information (EVPI) EVPI quantifies the maximum amount a decision maker should be willing to pay for perfect knowledge. \[ EVPI = \max_{a} \mathbb{E}[U | a, \text{perfect info}] - \max_{a} \mathbb{E}[U | a] \] > **Use case**: Decide whether to invest in market research before launching a new product. ## 6.5 Optimization Techniques ### 6.5.1 Linear Programming (LP) LP solves: \[ \max_{x} \, c^T x \] subject to \[ A x \leq b, \quad x \ge 0 \] #### Python example with PuLP python from pulp import LpProblem, LpVariable, lpSum, LpMaximize prob = LpProblem("Resource Allocation", LpMaximize) # Decision variables x = LpVariable('x', lowBound=0) y = LpVariable('y', lowBound=0) # Objective prob += 3*x + 5*y # Constraints prob += 2*x + y <= 20 # Resource 1 prob += x + 3*y <= 30 # Resource 2 prob.solve() print(f'x = {x.value()}, y = {y.value()}') ### 6.5.2 Integer Programming (IP) Adds integrality constraints to LP, useful for discrete decisions. python z = LpVariable('z', cat='Binary') # 0 or 1 decision prob += z ### 6.5.3 Nonlinear Programming (NLP) When objectives or constraints are nonlinear. python import cvxpy as cp x = cp.Variable() objective = cp.Maximize(-cp.square(x) + 4*x) constraints = [x >= 0, x <= 10] prob = cp.Problem(objective, constraints) prob.solve() print('Optimal x:', x.value()) ### 6.5.4 Heuristic & Meta‑heuristic Methods - **Genetic Algorithms** (GA) - **Simulated Annealing** (SA) - **Tabu Search** - **Particle Swarm Optimization** (PSO) These are especially handy for **combinatorial** or **black‑box** optimization problems where gradients are unavailable. ## 6.6 Case Study: Channel Allocation for a Global Retailer | Decision | Variables | Objective | Constraints | |----------|-----------|-----------|-------------| | Allocate ad spend across 4 channels | \(x_1, x_2, x_3, x_4\) | Maximize expected ROI | \(\sum x_i = 1{,}000{,}000\), \(x_i \ge 0\), channel‑specific reach limits | **Solution**: Formulate as LP, solve with PuLP, validate with simulation. python # Define probability distributions for each channel p_tv = lambda x: 0.05 * np.exp(-x/200000) # ... # Build expected ROI as linear combination of variables Result: allocate 40% to TV, 25% to social media, 20% to email, 15% to search, achieving a 12% lift in conversion. ## 6.7 Integrating Optimization into the Data‑Science Pipeline 1. **Feature Engineering**: Predict probabilities or expected rewards. 2. **Modeling**: Use predictions as inputs to the objective/constraint functions. 3. **Optimization Layer**: Solve for the best decision vector. 4. **Feedback Loop**: Update models with outcome data from executed decisions. > **Tool stack**: PuLP / CVXPY for mathematical programming, Pyomo for advanced modeling, OR‑Tools for combinatorial optimization. ## 6.8 Practical Tips for Decision‑Making Teams | Challenge | Mitigation Strategy | |-----------|---------------------| | **Uncertain data** | Use Bayesian updating to refine probability estimates. | | **Stakeholder alignment** | Conduct workshops to surface preferences and adjust utility weights. | | **Scalability** | Cache intermediate computations, use cloud‑native optimization services (e.g., Google OR‑Tools on GCP). | | **Regulatory constraints** | Encode legal limits as hard constraints in the optimization model. | ## 6.9 Summary * Decision science transforms data‑driven predictions into **actionable, quantified choices**. * Building a utility model and applying expected‑value calculations gives clarity to trade‑offs. * Optimization techniques—from linear programming to sophisticated heuristics—provide a systematic way to find the best decisions under constraints. * Embedding these methods into the data‑science pipeline closes the loop from **data acquisition** to **strategic impact**. In the next chapter we will explore how to **present these decisions** compellingly to stakeholders, ensuring that insights are not just mathematically sound but also strategically persuasive.