描述统计

描述统计:任意 CSV 的第一眼概览(Lattice)

描述统计是任何新数据的第一步。Lattice 自动给出每个数值列的集中趋势、离散程度、分布形状,以及数据质量预警 — 让你带着清醒的认知开始后续分析。

为什么永远是第一步

在任何检验、画图、建模之前,你需要先知道基本面:多少行、多少缺失、每个变量的范围、有没有异常。这五分钟省掉的,是后面几小时的误判。某个预测变量明显偏态会改变你该选哪种回归;某列缺失 30% 决定是插补还是删行;常数列说明数据抽取出了 bug,而不是新发现。

Lattice 实际算什么

引擎调用 pandas 底层数值汇总加上 scipy 的 skew / kurtosis,再封装成 Pydantic 化的结果。对每个数值列给出:计数、均值、标准差、最小、25 分位、中位数、75 分位、最大、偏度、峰度、缺失数、缺失比例。对非数值列给出:计数、唯一值数、众数、众数计数。

每个数字都带 trace_id。解释器会写一段人话总结,把异常点指出来:IQR 离群、偏度超 ±1、缺失超 5%,或者一个数值列其实是常数。

1 · Intent → method

An LLM picks stats_describe from a fixed catalog.

2 · Method → numbers

Deterministic Python engine runs the math. Same input → same output.

3 · Numbers → plain language

A second LLM translates the result into your domain’s vocabulary.

提问的几种说法

planner 会从下面这类提问中自动挑出 stats_describe:

只想看部分列,可以直接报列名(「只描述 yield、temperature、pressure 三列」),引擎会照办。

怎么读结果

先扫缺失列 — 5% 以上的都需要在继续之前先做决策。然后看偏度与峰度:严重偏态通常对应对数变换是合理的,峰度高意味着重尾(对接下来要跑 t 检验有影响)。再对比中位数与均值 — 差别大就是非对称分布。

总结还会指出唯一值数等于行数的列(很可能是 id,不是测量)或唯一值数为 1 的列(常数列 — 多半是抽数 bug)。

Lattice 帮你避开的常见错误

很多人把描述统计当成答案而不是起点 — 论文里只报均值与标准差,既不画直方图也不做检验。Lattice 的总结永远指向下一步:看分布画直方图、看离群画箱线图、暗含对比就提示 t 检验 / ANOVA。另一个常见错误是忽略缺失比例;Lattice 把它高亮出来,逼你「插补还是删行」做出明确决策,而不是悄悄掩盖。

  • Lattice 返回哪些统计量?

    数值列:计数、均值、标准差、最小、25 分位、中位数、75 分位、最大、偏度、峰度、缺失数、缺失比例。非数值列:计数、唯一值数、众数、众数计数。

  • 和 pandas 的 .describe() 有什么区别?

    核心统计量一致,但用 Pydantic 类型化输出,额外含偏度、峰度与缺失指标,而且每个数字带 trace_id 可回放。解释器还会写一段人话总结,把异常点出来。

  • Lattice 会自动警告离群值吗?

    会。总结里会标出按 IQR(1.5 × IQR)规则有离群的列、偏度超过 ±1 的列、缺失超过 5% 的列。但实际删除离群必须你明确确认才执行。

Tool 输入字段

Schema for stats_describe not exported yet (run pnpm export:registry).