21 lines
7.0 KiB
JSON
21 lines
7.0 KiB
JSON
{
|
||
"ok": true,
|
||
"identity": "user",
|
||
"data": {
|
||
"document": {
|
||
"content": "<title>2026.06.17-日报-莫润麟</title><h3>今日内容</h3><p><b>① 文献学习:XGBoost + SHAP 方法参考</b></p><p><b>②《实证操作手册》整理</b></p><p><b>③ Codex 业务skill制作</b></p><callout emoji=\"🔎\"><p>重点学习了一篇使用<b> XGBoost 与 SHAP </b><b>的足球比赛分析论文</b>:</p><p><b>《足球比赛中防守突破检测的断点预测模型分析》 2025</b></p><p>该论文研究的是<b>足球比赛</b>中的<b>突破防线</b>分析:</p><blockquote><p><b>什么样的空间结构、球员位置、速度和传球方式,会导致</b><b><u>进攻方突破防线</u></b><b>?</b></p></blockquote><p>而我们的研究是希望进一步识别:</p><blockquote><p><b>什么样的游戏机制变量,会影响</b><b><u>玩家综合投入</u></b><b>?</b></p></blockquote><p>因此,这篇论文虽然不是游戏领域研究,但可以作为“<b>复杂多人竞争场景 + 高维行为数据 + XGBoost + SHAP 解释</b>”的方法参考支撑。</p></callout><h3>(一)论文的方法路径</h3><p>该论文的整体方法路径可以概括为:</p><blockquote><p><b>业务问题定义 → 构造可计算标签 → 构建结构化特征 → XGBoost 预测 → SHAP 解释 → 回到战术含义</b>。</p></blockquote><p>具体来看:</p><ol><li seq=\"1\"><b>先定义因变量</b><ul><li>论文没有笼统研究“进攻效果”,而是将<b>突破防线</b>明确定义为可计算标签,即一次传球是否突破防线。</li></ul></li><li><b>再构造特征变量</b><ul><li>作者基于事件数据、球员追踪数据和比赛信息,构建了 189 个特征,包括球员位置、速度、防线间隙、空间控制等。</li></ul></li><li><b>使用 XGBoost 建模</b><ul><li><b>XGBoost 用于预测一次传球是否造成突破防线</b>,<b>适合处理多变量、非线性和变量交互关系</b>。</li></ul></li><li><b>使用 SHAP 解释模型</b><ul><li><b>SHAP 用于解释哪些变量对突破防线更重要</b><b>,以及变量如何影响突破概率</b>。</li></ul></li><li><b>回到业务解释</b><ul><li>最后,<b>作者将模型结果解释为具体的足球战术含义</b>,例如传球方向、进攻球员速度、防线间隙和空间分布等因素如何影响突破。</li></ul></li></ol><sheet sheet-id=\"SHj8aV\" token=\"UF5uswwP0hOhg6tftNBcXSl5nBh\"></sheet><callout emoji=\"🔎\"><p>他们研究的是<b>体育竞赛</b>中的战术突破,我们研究的是<b>游戏竞赛</b>中的综合投入,</p><p><b>场景不同,但</b>“<b>竞赛结构变量 → 机器学习识别 → SHAP解释机制</b>”的方法逻辑是相通的。</p></callout><h4><b>(二)整理《XGBoost_SHAP实证操作手册》</b><br/></h4><p>围绕后续 XGBoost / SHAP 实证分析,整理形成了一版可直接执行的操作手册</p><p>明天拿到正式数据后用于跑数的实证流程说明</p><p></p><p><b>核心思路是:</b></p><ul><li>先将玩家行为和机制变量整理成玩家-活动期级建模底表</li><li>再用 XGBoost 识别七类机制变量与玩家综合投入之间的复杂关系</li><li>最后通过 SHAP 解释不同机制变量对玩家投入的贡献。</li></ul><img name=\"image.png\" alt=\"图片为qa:image11<qa:image></qa>为《XGBoost_SHAP实证操作手册》主流程图,数据到位后直接按流程执行。流程包含11个步骤,从输入数据准备>\" caption=\"手册流程图
\" href=\"https://internal-api-drive-stream.feishu.cn/space/api/box/stream/download/authcode/?code=ZTdhZWQ4NDY3M2E4NjE4NzU3NjAyNzExMjUyYzBhMDlfNjUyZmUwNzhmNTI0YWQwYTBhZjE1MWZhOTE4YmRhY2ZfSUQ6NzY1MjM4NDI5NDAzOTcwMjcyOF8xNzgxNzQ3NjM0OjE3ODE3NTEyMzRfVjM\" mime=\"image/png\" scale=\"0.327751\" src=\"JPHhbwwB7oIoZ8xXcDgcSH6snlb\"/><p><b>手册源文件👇</b></p><figure view-type=\"Preview\"><source href=\"https://internal-api-drive-stream.feishu.cn/space/api/box/stream/download/authcode/?code=YWI4Njg0NmY2M2FlOGJlNjY2NmI5ZTc2Y2JjZGYxNDlfZWJkNThiNTBlMDZjZGFiMjI3NWI3MWQ5NTk3NTExYjVfSUQ6NzY1MjM4MjE3Njg3NjU2MzQwNl8xNzgxNzQ3NjM0OjE3ODE3NTEyMzRfVjM\" mime=\"text/markdown\" token=\"UnIbb9BkHo1Hc5xDlnictE68nwe\"/></figure><h3><b>二、Codex 业务skill制作</b></h3><callout emoji=\"🔎\"><p>发现 Codex 在多轮对话中容易混淆业务文件角色,核心原因不是模型能力问题,而是<b>业务上下文复杂、文件角色多、流程规则没有被显式固定</b>。</p></callout><p><b>具体表现:</b></p><ol><li seq=\"1\">Agent 聊着聊着开始把埋点表当实际数据用,把3月有的字段默认5月也有</li><li>策划案里的规则和后来修正过的变量口径混在一起说</li><li><b>文件越多、对话越长,串台越严重</b></li></ol><blockquote><p><b>根本原因:</b>没有固定流程时,AI 靠\"<b>最近说了什么、文件叫什么名字、上下文联想</b>\"来判断该用哪个文件——<b>业务文件一复杂,上下文一朵就开始出错。</b></p></blockquote><callout emoji=\"🗯️\"><p>解决方向:</p><p><b>不是多聊,而是把固定任务封装成</b> <b>Skill / 工作流规则</b>,<b>让 Agent 接到某类任务时先按固定规则读取对应文件、理解文件角色、执行固定步骤。</b></p></callout><p><b>Skill 一:埋点相关任务</b></p><p>固定执行顺序:</p><ol><li seq=\"1\"><b>先看埋点表</b> — 埋点表是字段字典/指标口径,代表活动已有的全部埋点定义,不是实际数据</li><li><b>再看3月/5月数据</b> — 判断哪些字段实际有数据、哪些缺失、字段是否可用</li><li><b>区分有无数据</b> — 埋点表有定义 ≠ 数据里实际有;5月有还需判断样本是否稳定</li><li><b>变量构建时同时核查六项</b>:理论机制是否匹配 / 字段是否真实存在 / 3月5月是否都有数据 / 是否与因变量重叠 / 是否有足够样本变化 / 是否能用于 XGBoost/SHAP</li></ol><p></p><p><b>Skill 二:策划案相关任务</b></p><p>固定读取逻辑:</p><ol><li seq=\"1\"><b>识别活动规则结构</b> — 报名、匹配、赛季、联盟、阵营、积分、奖励、排行、限制条件</li><li><b>抽象机制</b> — 对应七机制(补偿性、公平性、激励性、互补性、私有性、互动性、流动性)</li><li><b>判断可观测行为</b> — 规则里哪些行为可被数据捕捉,如参战、派遣、捐献、鼓舞、竞猜、领奖、兑换、协作</li><li><b>最后才映射埋点字段</b> — 不能从策划案直接跳到变量,必须经过完整链路:<b>规则 → 机制 → 行为 → 埋点字段 → 数据可用性</b></li></ol><p></p><p></p>",
|
||
"document_id": "PHwIdFwThoiT70xFGvKcx7SWnpe",
|
||
"revision_id": 255
|
||
},
|
||
"log_id": "20260618095354E396C4BB38E63BA9C443"
|
||
},
|
||
"_notice": {
|
||
"update": {
|
||
"command": "lark-cli update",
|
||
"current": "1.0.32",
|
||
"latest": "1.0.54",
|
||
"message": "lark-cli 1.0.54 available, current 1.0.32, run: lark-cli update"
|
||
}
|
||
}
|
||
}
|