这个工具提供了哪些能力
点开任一能力,看清怎么用
每个能力展开后是三件事:它会给你什么、你需要准备什么、哪些必须由你把关。
常见场景:需要从观测数据中学变量间的因果或依赖关系图;已有因果图,想知道干预某个变量后另一个变量的分布变化;需要批量生成符合已知联合分布的合成数据做方法验证;需要对比两个因果图结构与真实图的差距
帮你给画好的变量关系图填上具体数字:结合你的观测数据,把每个变量在各种情况下出现的概率估计出来,让这张概率图能真正用来推理、预测和模拟。数据里有缺失或没观测到的变量也能处理。
它会给你什么
- 填好每个变量概率的完整模型。
- 可以接着拿去做概率查询、生成模拟数据或因果分析的模型。
你需要准备
- 已经画好变量关系图、但还没填概率的模型。
- 一份观测数据表,列名要和图里的变量名对得上。
- 你选的估计方法,默认用最直接的频率估计。
由你把关
- 选哪种估计方法是否匹配你的样本量和缺失情况,由你决定。
- 用先验方法时给的先验假设是否符合领域常识,由你判断。
- 迭代估计有没有算到收敛、是否提前停止,由你检查。
帮你区分“相关”和“因果”:在画好因果方向图的前提下,它计算“如果人为改变某个变量,结果会怎样”,而不是单纯的“观察到某个变量时结果如何”。注意图上的方向必须来自你的领域判断。
它会给你什么
- 干预设定下结果变量的分布,比如强制改变某变量后结果会怎样。
- 判断这个因果问题在当前图上能不能被识别的结论。
- 切断干预变量的来源之后剩下关系。
你需要准备
- 一张标好了因果方向的变量关系图。
- 填好的各变量概率或参数。
- 你想查询的结果变量。
由你把关
- 图上的因果方向是否真的来自领域知识,而不是凭数据相关性猜的,由你确认。
- 这个因果效应在图上能不能被识别,识别不了时有没有如实报出,由你核对。
- 选哪种调整方式是否匹配你要估计的目标,由你决定。
帮你造模拟数据:按你建好的概率模型生成一批假数据,还能在生成时人为设定某些变量的取值或制造缺失,用来验证方法、做敏感性分析或演练因果干预场景,且结果可以复现。
它会给你什么
- 一张模拟数据表,可以直接拿去验证你的方法。
- 按干预场景生成的数据,用来对照因果分析的结果。
- 带缺失值的数据,用来测试缺失数据下的估计方法。
你需要准备
- 已经填好概率的模型。
- 要生成多少条数据。
- 生成时要强制设定哪些变量取什么值。
由你把关
- 干预设定是否符合你研究里真实的干预场景,由你确认。
- 缺失机制的假设是否和你数据的真实缺失方式接近,由你判断。
- 采样方法和精度要求是否匹配、随机种子等设置是否报告,由你核对。
帮你做概率查询:在概率图里告诉它你观察到了什么,它算出你最关心的变量此时取各种值的可能性,也能给出最可能的状态组合。小图可以精确计算,大图用近似方法。
它会给你什么
- 在给定观察下,查询变量各种取值的概率分布。
- 最可能的状态组合。
- 每个变量各自的最优取值。
你需要准备
- 已经填好概率的概率图模型。
- 你想查询的变量。
- 你已经观察到的事实,比如某个变量取了什么值。
由你把关
- 用精确还是近似方法,是否匹配图的规模和你对精度的要求,由你决定。
- 变量的计算顺序是否合理,这会影响速度,由你检查。
- 采样次数、预热步数和随机种子是否报告、结果是否收敛,由你核对。
帮你从数据里自动画出变量关系图:不用手画,它根据数据判断哪些变量之间有关系、方向朝哪边,给你一批值得进一步验证的因果假设候选。你已经确定的方向也可以手动告诉它。
它会给你什么
- 学出来的变量关系图,可以接着填概率、做推理或因果查询。
- 部分方向定不下来的等价类图,留给你后续判断。
- 每个候选图的结构得分,方便比较。
你需要准备
- 一份数据表,列是变量名,离散或连续数据都行。
- 判断变量独立性的统计检验方法,要和数据类型匹配。
- 或给模型打分的方法,用来比较不同关系图的好坏。
由你把关
- 学出来的因果方向是否符合领域知识,定不下来的方向需要专家来定,由你确认。
- 独立性检验或打分方法是否匹配数据类型和样本量,由你核对。
- 显著性阈值、最多允许几个父节点等设置是否按领域调整,由你决定。
帮你检验画出来的变量关系图靠不靠谱:可以和已知的真实图对比差多少,也可以看图里隐含的变量关系是否被数据支持,还能给几个候选图打分比高下。
它会给你什么
- 两张图相差几条边的差距数值。
- 边的对照表,标出哪些边找对了、漏了、多画了或画反了。
- 图隐含的变量独立关系在数据里被支持或违背的统计结果。
你需要准备
- 和真实图对比时:需要已知的真实图和你学出来的图。
- 看数据支持时:需要数据、待验证的图和配套的独立性检验。
- 打分比较时:需要数据加上选定的评分方法。
由你把关
- 该用结构对比还是数据契合来验证,取决于你的验证目标,由你决定。
- 画错方向和漏边、多边是否同等严重,对应的惩罚设置是否合理,由你判断。
- 独立性检验是否匹配数据类型,由你核对。
第一次这样开始
把仓库地址直接交给 AI
先让 AI 说明环境和风险,再完成最小安装验证。开始前想清楚要用哪个能力、把对应材料备在手边——每张能力卡展开后有具体清单。
第一次直接复制
帮我安装这个库:https://github.com/pgmpy/pgmpy 安装前先告诉我需要什么环境,安装后帮我跑通一个最小示例。
别这样用
这些判断,仍然由你负责
- 把观测相关当因果效应——只有do操作才能区分两者
- 把学到的图结构直接当真因果图——PC等方法学到的是等价类,部分方向不可识别
- 用离散独立性检验处理连续数据——需匹配数据类型选chi_square或fisher_z
- check_model通过就认为图方向正确——它只校验图和CPD的对应关系
技术依据
查看能力拆解、验证范围与来源
技术依据
查看能力拆解、验证范围与来源
处理机制
- 01
核心处理链
用图结构编码变量间的概率依赖和因果假设,做条件推断、因果发现与合成数据生成。
已核对范围
- 读取 pgmpy/estimators/MLE.py(MaximumLikelihoodEstimator getparameters/estimatecpd 签名)
- 读取 pgmpy/estimators/BayesianEstimator.py(BayesianEstimator getparameters/estimatecpd 签名)
- 读取 pgmpy/estimators/EM.py(ExpectationMaximization)
- 读取 pgmpy/parameterestimator/(discretebayesian/discretemle/discreteem/lineargaussianmle)
- 读取 DiscreteBayesianNetwork.py:592 fit / :653 fitupdate 签名
- 读取 LinearGaussianBayesianNetwork.py:880 fit 签名
- 读取 README Parameter Learning 特性与 example notebooks 主题
- 读取 pgmpy/inference/CausalInference.py(CausalInference 类、query(query, do, evidence, adjustmentset, inferencealgo) 签名)
仍待核对
- 未运行本机参数学习 smoke
- 未验证 BayesianEstimator 各先验类型(BDeu/Dirichlet/K2)的数值差异
- 未覆盖 SEMEstimator/IVEstimator 的 SEM 参数估计内部机制(见待复核卡)
- 未运行本机因果查询 smoke
- 未验证 minimal/all/minimalvariance 三种调整集变体的数值差异
- 未覆盖 DoubleMLRegressor/NaiveAdjustmentRegressor/NaiveIVRegressor(因果效应估计的预测回归器,见待复核卡)
- 未运行本机模拟 smoke
- 未验证 missingprob 的 MAR/MNAR 缺失机制实现细节
原仓库
pgmpy/pgmpy读取版本
c7fa866a8b50a7eb781124e12411708dd86f2c25许可
MIT
最近核对
内容 2026-07-10
Stars 2026-07-11
相关文章
科研之我见
AI 可以参与科研的哪些环节?一张 11 环节工作流全景图
从选题、文献、理论、数据到投稿,逐环节判断 AI 可以主导、需要人工校验和必须由研究者把关的工作。
查看内容具备相关能力的其他库
相关课程
把单项工具放进完整研究设计流程
课程一从研究问题、文献判断、理论假设和方法骨架继续推进,帮助你建立可以复用的研究设计档案。