
上个月帮一位做区域经济研究的学者跑一组省级面板数据的空间回归分析他原本的思路是直接用 R 里的空间计量包硬啃结果光是安装依赖、整理空间权重矩阵就卡了两天。我让他先把数据丢进 GeoDa 里看看空间分布半小时后他就回消息说原来这个问题的核心不是回归方法而是权重矩阵该怎么定义。这就是我为什么一次又一次推荐 GeoDa 做空间回归分析的原因——它把空间计量里最容易出错、最纠缠人的前置环节变成了可视化、可拖拽、可交互的操作而这一切对于任何处理地理空间数据的人来说都意味着少走弯路、少踩暗坑。GeoDa 不是万能的神器它的定位是在探索性空间数据分析ESDA和空间回归之间搭一座桥。你可以在里面完成全局与局部空间自相关检验、空间权重矩阵构建、经典 OLS 回归、空间滞后模型Spatial Lag、空间误差模型Spatial Error甚至空间杜宾模型的前期判断。它适合三种场景快速验证数据有没有空间效应、教学演示空间计量的核心逻辑、以及在正式建模前把该不该用空间模型这个问题彻底搞清楚。如果你打算直接跑一套完整的空间计量论文模型GeoDa 是很好的入口但不是终点这篇文章我会把边界和用法一起讲清楚。1. 为什么我建议先用 GeoDa 做空间回归一张权重矩阵就是半个模型1.1 空间回归到底在解决什么问题普通最小二乘法OLS有一条铁律误差项独立同分布。但地理数据几乎天生就违反这条规则——相邻地区的房价互相影响省与省之间的经济指标存在溢出效应污染排放会跨行政边界扩散。如果你的数据存在空间自相关却仍然用 OLS 估计结果是系数估计不再有效显著性检验会给出误导性的结论甚至出现正负号反转。空间回归的本质就是把这个邻居影响显式地写进模型里。最常见的两种处理方式空间滞后模型把邻居的被解释变量作为一个解释变量塞进方程用来解释空间溢出效应空间误差模型把空间相关性放在误差项里面用来修正因遗漏空间变量导致的残差自相关。这两个模型看着差别不大但它们的政策含义完全不同。空间滞后意味着你家的经济增长会带动我家空间误差意味着你们俩共享了某种看不到的共同因素。选错模型等于在回答一个错误的问题。问题在于你怎么知道该用哪一个很多初学者一上来就两个模型都跑比较 AIC 挑个小的甚至直接选结果最漂亮的那个。这种做法的隐患非常大。正确路径应该是先通过空间自相关检验确认空间效应的存在再通过拉格朗日乘数LM诊断判断滞留项还是误差项更占主导。GeoDa 把这些检验全部打包成了菜单按钮你得先了解这一步的价值才不会在后面的模型选择上跑偏。1.2 为什么不是上手就写代码我在多个项目里用过 R 的 spdep、spatialreg 包也用过 Python 的 PySAL 库它们都是好工具但对新手和阶段性检查来说有一个共同的问题不可见。你创建了一个基于距离的权重矩阵代码执行完你能看到的是一个列表对象或者一堆稀疏矩阵索引你没法直观地看到哪些区域被算作了邻居哪些区域成了孤点。而孤点恰恰是空间回归里最容易导致结果翻车的隐患。GeoDa 最打动我的地方是它把空间权重矩阵变成了一张图。你可以把权重矩阵直接叠加到地图上逐条连线看每个单元的邻居关系你可以在地图上用鼠标框选某个区域立刻看到它连接了哪些邻居。这种可视化的反馈让权重矩阵设置是否合理从一个抽象的技术问题变成了一个肉眼可判断的实际问题。我的建议是分两条腿走路探索阶段、变量筛选阶段、模型选择阶段用 GeoDa最终建模、批量处理、生产环境跑数用脚本。GeoDa 帮你建立空间直觉脚本帮你固化流程两者配合才不会闷头写代码写到一个错误的方向上。1.3 用 GeoDa 做空间回归的定位与边界GeoDa 能做空间回归但它的定位更偏向探索与诊断。它内置的回归模块支持经典 OLS、空间滞后SAR、空间误差SEM以及两者的组合还提供了空间杜宾模型SDM的选项。对于大多数截面数据的空间回归任务它的覆盖面已经足够。不过你要清楚边界GeoDa 目前对空间面板数据的支持是有限的时间维度上的动态空间模型、空间计量中的工具变量法、贝叶斯空间模型这几类还是得回落到专业计量软件或编程环境去跑。此外GeoDa 在结果输出上比较朴实。它不提供那种论文表格一键导出的功能系数、标准误、P 值需要手动整理。模型诊断结果散落在一张纯文本结果面板里你需要自己格式化。这些细节并不影响它作为探索验证利器的价值反而会让使用者更踏实地去理解每一个输出的含义而不是复制粘贴一堆自己看不懂的表格。2. 数据进门先办证空间权重矩阵到底该怎么建2.1 空间权重矩阵的本质与两种常见选择空间权重矩阵 W 是整个空间回归里最重要的前置概念。它是一个 N×N 的方阵N 是空间单元数量W 中的元素 w_ij 表示单元 i 和单元 j 之间的关系。如果认为 i 和 j 是邻居w_ij 通常取 1否则取 0。你可能会觉得这很简单但邻居怎么定义直接决定了后面所有回归结果的含义。GeoDa 提供了三类主要的权重构建方式邻接权重、距离权重、K 近邻权重每一类还有细分选项。邻接权重下最常用的是 Queen 邻接只要有公共边界或顶点就算邻居Rook 邻接则要求有公共边界只有角点接触的单元不算邻居。距离权重按照单元质心之间的实际距离定义常用在行政区划边界不明显、靠空间距离产生交互的场景K 近邻则不管距离远近强制给每个单元匹配最近的 K 个邻居适合处理孤立区域比较多的数据。选哪种没有绝对答案取决于研究对象的实际交互机制。比如研究大气污染扩散距离权重或 K 近邻比行政边界邻接更合理研究区域间贸易往来Queen 邻接通常可以起步。关键是不要把权重矩阵的选择当成一个技术默认值它是一个实质性的模型假设。我见过太多人起了新数据默认选 Queen跑完发现不显著然后换 K 近邻稍微显著了就往下走——这本质上是在 P 值里捞结果不是在做研究。2.2 在 GeoDa 里创建和检查权重矩阵的完整操作数据打开的第一步是确认它是否带有空间信息。GeoDa 支持 Shapefile 格式也支持带坐标信息的 CSV 或 GeoJSON。如果你打开的是 CSV需要指定 X 和 Y 字段。操作路径是File → Open → 选择文件类型弹出的对话框里就会有坐标字段的选择步骤。创建权重矩阵的位置是 Tools → Weights Manager点击 Create 按钮后会弹出创建面板。你需要先选择一个唯一的 ID 变量这个变量必须是每个空间单元唯一标识我强烈建议在进入 GeoDa 前就给数据加上一列类似于 FIPS 编码或自定义 ID 的无重复字段。创建面板里有 Contiguity、Distance、K-Nearest 等选项选好参数后记得设置输出文件名点击 Create 生成权重的 .gal 或 .gwt 文件。很多人停在这一步觉得权重文件生成成功就万事大吉。其实你还需要做一次视觉审查在 Weights Manager 里选中刚创建的权重点击右上角的 Connections 按钮地图上会画出每条邻居连接线。这时候重点检查两类问题有没有区域完全没有任何连接线孤岛这类单元在模型运行时会直接被忽略等于你的样本量悄悄缩水了有没有连接线长得很不合理比如某城市隔着山川却被强行关联到另一侧的地区这说明你的邻接阈值设置可能有问题。2.3 行标准化为什么是默认操作矩阵在数学表达上很清楚但在模型估计里需要对 W 做标准化处理。GeoDa 默认的标准化方式是 Row-standardization也就是把每一行的权重加起来作为分母把每个元素除以行和使得每一行之和等于 1。这样做的意义在于空间滞后项变成了邻居变量的加权平均而不是邻居变量的求和在解释上更自然在数值上更稳定。举个直观例子假设某省有 4 个邻居空间滞后项就是这 4 个邻居变量值的平均值如果某省只有 1 个邻居它的空间滞后项就是那个邻居的原始值。这样每个单元的空间滞后项量纲一致模型估计和系数解读才有意义。如果你使用二进制权重不标准化模型依然能跑但空间滞后项会受到邻居数量差异的干扰出现模型拟合偏差风险除非你有明确理由保留二进制权重否则在 GeoDa 里请直接使用默认的行标准化。2.4 权重矩阵选错的代价我做一个对比来说明权重选择的敏感度。用同一份模拟数据变量是一个区域的房价指数和周边的公园绿地密度分别用 Queen 邻接和 0-150 公里距离阈值构建权重矩阵跑空间回归。两者的空间自相关检验结果天差地别Queen 邻接下 Moran’s I 高达 0.43P0.001距离权重下只有 0.12P0.05。原因是这个模拟数据里城市群内部公园绿地密度高度相似但隔着山川的两个城市中心相距很远Queen 邻接能捕捉到城市群的内部相似性而 150 公里阈值把城市群的边界模糊掉了。这个例子想说明的是不同的权重矩阵回答的是不同的空间交互假设。在做敏感性分析时别只跑一种权重就下结论至少用邻接权重和 K 近邻各跑一遍如果核心系数的方向和显著性变化不大你的结论才算稳。3. 先诊断再建模空间自相关检验和模型选择逻辑3.1 一句话看懂 Morans I在进入回归模块之前先回答数据里到底有没有空间效应这是选择空间模型的前提。GeoDa 里做这件事最常用的工具是全局 Morans I 散点图。Morans I 的取值大致在 -1 到 1 之间正的取值表示相邻单元之间倾向于高值配高值、低值配低值负值表示高低值相邻分布空间模式呈排斥或竞争关系接近 0 则看不到明显的空间聚类模式。操作上点击 Space → Univariate Morans I选择要检验的变量GeoDa 会画出散点图并给出 Morans I 值、期望值 E(I) 和伪 p 值。注意这里 GeoDa 默认使用的是 999 次随机排列得到的伪 p 值意思是把变量值随机打乱 999 次看在多少比例的情况下能出现比实际更大的 Morans I以此判断空间聚类的显著性。伪 p 值小于 0.05就说明变量存在显著的空间自相关可以继续往下做空间回归反之则可以考虑直接用 OLS 了。3.2 OLS 回归里的空间诊断面板跑 OLS 回归在 GeoDa 里是 Methods → Regression 面板选好因变量、自变量后直接运行。很多人的误区是跑完 OLS 看一眼 R² 就结束了其实 OLS 结果窗口右侧有一个专门用于空间诊断的表格这才是关键信息所在。这个表格包含两类指标。第一类是经典 LM 检验分为 LM-Lag 和 LM-Error分别检验遗漏了空间滞后项和空间误差项是否会导致模型失配。第二类是稳健 LMRobust LM检验它是对经典 LM 在处理存在另一种空间效应时的修正版本。判读逻辑是这样的如果 LM-Lag 显著、LM-Error 不显著优先考虑空间滞后模型如果 LM-Error 显著、LM-Lag 不显著优先考虑空间误差模型如果两者都显著看 Robust LMRobust LM-Lag 更显著选空间滞后Robust LM-Error 更显著选空间误差如果两者都不显著老老实实用 OLS空间回归在那份数据上没有实质必要。这个判读规则不是我胡编的它是空间计量教材和大量论文里通用的标准顺序。你可以背下它但更重要的是理解背后的逻辑LM-Lag 和 LM-Error 表面上是两个检验本质上是在问同一个问题——你模型里的空间效应是通过被解释变量的传递机制起作用还是通过残差中的未观测共同冲击起作用。搞清楚机制是什么你的模型选择就是有依据的而不是碰运气的。3.3 用实例串一遍诊断流程假设我在分析一张包含 88 个区域单元的截面数据因变量是区域创新产出指数自变量有人均 RD 投入、高学历人口占比、产业集聚度。第一步对整个数据算 Morans I得到 0.28伪 p 值 0.001说明创新产出存在显著的空间聚类。第二步跑 OLS得到 LM-Lag 检验的 p 值为 0.082不显著LM-Error 检验的 p 值为 0.011显著。Robust LM 的结果中Robust LM-Error 依然显著而 Robust LM-Lag 不显著。整个链路非常清晰地指向空间误差模型。这时候你再跑 Spatial Error 模型得到空间误差系数 λ 显著为正这说明相邻区域之间共享了很多没有进入模型的共同因素导致 OLS 的残差存在空间结构。这是一个典型且干净的空间误差模型使用场景。反过来如果 LM-Lag 显著说明创新产出本身存在正向溢出——某个区域产出高其邻居的产出也会被推高——那就该用空间滞后模型。3.4 局部空间自相关别只盯全局顺带提一句Morans I 是全局统计量它会把所有区域的局部空间关系揉成一个数字。如果你的数据存在明显的冷点热点分布全局 Morans I 可能只是弱显著这时候不妨用 LISALocal Indicators of Spatial Association做局部空间自相关分析。在 GeoDa 里是 Space → Local Morans I它会为每个单元生成一个局部自相关统计量并在地图上用高-高低-低高-低低-高四类聚类类型标识出来。这个工具的作用有两个一是帮你识别哪些区域在驱动全局自相关二是用于后续模型的稳健性讨论。比如某些高-高聚类区域正好是你的核心研究对象这本身就提供了额外的政策解读信息。别把局部自相关和回归割裂开它是你理解回归结果的重要背景。4. GeoDa 跑空间回归实操从按钮到结果解读4.1 空间回归面板中每个选项要干什么当诊断结果提示需要空间模型时回到 Methods → Regression 面板。面板顶部是模型类型下拉框你会看到 Classical、Spatial Lag、Spatial Error 等多个选项。很多人喜欢直接选最复杂的 Spatial Durbin空间杜宾模型但我的建议是严格按照上一节的诊断结果来选择不要跳过 LM 检验直接跳到杜宾模型。空间杜宾模型同时包含邻居的自变量和因变量参数解释复杂而且你还没验证是否真的需要。选好模型后你需要指定空间权重矩阵文件。GeoDa 会自动读取当前项目关联的权重文件如果没有需要用 Weights Manager 手动加载。然后就是因变量和解释变量的选择这些操作跟普通回归一致左边可用变量表里点选即可。点击 Run 之后结果面板出现和 OLS 不同的是结果里会多出一列关键项。4.2 空间滞后模型的结果表格怎么看以 Spatial Lag 模型为例结果面板的核心输出分几层。第一层是模型基本信息样本量 N、Log likelihood、Akaike info criterionAIC、Pseudo R²。第二层是系数估计表每个自变量的回归系数、标准误、z 值、P 值。第三层是空间效应对应的参数通常标记为 rho也就是空间滞后系数它衡量的是邻居因变量的平均效应对本单元因变量的影响。空间滞后系数 rho 的解释要格外小心。0.3 的 rho 不是简单说邻居因变量上升一个单位本地因变量上升 0.3因为空间滞后项用的是标准化的加权平均值而且在一个空间系统里效应会通过邻居再传导回自身形成反馈循环。严谨的解读方式是rho 显著为正说明存在正向的空间溢出但具体溢出强度需要进一步计算直接效应和间接效应。GeoDa 没有直接给出分解后的直接/间接效应这一点和 R 的 spdep 包不同所以如果你要做精细解读最终还是要用代码跑一遍完整的效应分解。4.3 空间误差模型的结果解读重点Spatial Error 模型的结果里空间误差系数通常标记为 lambda它表示残差项在空间上是如何相关的。lambda 显著为正意味着存在一个不可观测的共同空间因子它们在模型中没有被显式纳入却同时影响着相邻区域的因变量。这种情况在多维社会经济指标里非常常见区域之间的政策模仿、文化相似性、历史路径依赖都会以误差空间相关性的形式体现出来。如果你用的是空间误差模型核心解释变量系数的解读方式和 OLS 类似但要注意标准误已经经过了空间修正显著性判断更可靠。同时如果你发现空间误差模型下变量的显著性相比 OLS 发生了明显变化比如 OLS 里显著、SEM 里不显著说明原本的显著性可能部分来自遗漏空间因素而不是解释变量本身的独立贡献。这个时候不要急着下变量无效的结论而应该去补充可能遗漏的区域特征或者转向空间杜宾模型做进一步分析。4.4 小案例房价回归里的空间溢出识别我构造一个便于理解的小规模模拟案例数据总共有 20 个区域因变量是普通住宅均价万元/㎡自变量有两个轨道交通站点密度个/平方公里、公园绿地覆盖率%。先用 OLS 跑一版公园绿地覆盖率的系数为 0.21P0.05但结果面板显示 LM-Error 显著Robust LM-Error 也更显著于是改用空间误差模型。模型完成后 lambda 为 0.42P0.003公园绿地覆盖率的系数变为 0.18仍然显著但标准误变大了一些。这个案例说明OLS 确实过度压缩了参数不确定性空间误差模型修正了这一点。如果你只看 OLS 结果会感觉公园绿地覆盖率对房价的影响比实际更强。空间误差模型给了一个更保守但更可信的估计。而如果换成空间滞后模型新增的 rho 显著为 0.35表示周边区域房价的上涨会拉动本地房价——这就是空间溢出效应直接说明房地产市场存在区域间的价格联动机制。具体选滞后还是误差回到 LM 检验的结果数据会告诉你答案而不是凭直觉挑一个。4.5 诊断统计量别跳过这几项我第一次学会在 GeoDa 里看回归结果后习惯性地只盯 R² 和核心变量的显著性后来吃了一次亏才发现诊断统计量才是判断模型靠不靠谱的关键。至少有三地方必须在结果面板里检查。第一处是 Multi-collinearity Condition Number即多重共线性条件数。这个值如果在 30 以上说明解释变量之间可能存在严重的共线性。空间回归里因为加入了空间滞后项和空间误差项共线性问题比 OLS 更容易出现因为邻居变量常常与本地自变量高度相关。第二处是 Breusch-Pagan 检验的 P 值它检验异方差。空间数据经常出现不同区域变异程度不一致的情况比如城市中心房价波动小、郊区房价波动大。如果 B-P 检验显著说明存在异方差问题虽然 GeoDa 不提供完整的异方差稳健标准误自动修正选项但意识到这一点至少能避免在解读显著性时过于自信。第三处是 Jarque-Bera 检验正态性检验它检验残差是否正态分布。空间回归并不严格要求残差完全正态但偏态严重的残差会削弱小样本下统计推断的有效性。这些诊断项不会直接出现在主回归结果的顶部但结果面板里都有。我的习惯是把它们和系数表一起截图保存因为审稿人或导师随时可能问一句你的模型通过了哪些诊断检验。5. 权重敏感性分析和那些必须避开的坑5.1 换一种权重矩阵结论就变了怎么办空间回归最尴尬的时刻就是你自信地用 Queen 邻接跑完一份漂亮的结论然后审稿人要求换 K 近邻权重做稳健性检验结果关键变量不显著了。这种情况在空间计量里太常见了因为它本质上反映了你的空间效应可能只存在于某种特定的距离/邻居定义之下是一种弱空间结构。处理方式有两条路。第一是在做结论陈述前自己主动做多权重的敏感性分析。用 Queen 邻接、Rook 邻接、K4、K6以及 100/150/200 公里阈值距离分别记录核心变量的系数方向和显著性做成一个小表格。如果大部分权重设定下结论方向一致你的结论站得住脚如果不一致你需要去检查数据的空间结构而不是强行辩护其中一个结果。第二是找到权重设定和空间机制的联系如果研究交通污染扩散距离阈值就是有实际物理意义的定义Queen 邻接反而只是抽象近似。权重矩阵的设置不仅仅是技术选择它承载着你理解空间过程的假定每一个敏感性检验的差异背后都值得追问一句为什么。5.2 孤岛、少样本和边界效应在数据导入和权重构建阶段最需要警惕的就是孤岛单位。以省级数据为例某个岛屿省份在 Queen 邻接下可能没有任何邻居这在空间权重矩阵里就是一整行零。当模型运行时它会被排除在空间滞后/误差结构之外相当于你的空间模型少了一个样本量但模型报告里的 N 并不一定会准确告诉你这一点。处理孤岛的办法包括改用距离权重把阈值调大到足以连接最近邻居使用 K 近邻权重强制匹配最近的 K 个单元。但你必须理解这么做的代价原本没有真实空间交互的区域被强行拉进模型产生伪邻居关系这会让权重矩阵不符合现实。更合理的做法是在论文或报告里明确说明某孤岛单元因无邻居被排除在空间权重体系之外并做一次不包含该单元的敏感性分析看看结论是否受影响。边界效应则更隐蔽当你使用行政边界数据时跨行政边界真实存在的空间交互会被截断。比如一个经济体分布于两个省份的交界处省份内部看相邻但其实边界两侧的交互更强。空间模型无法通过内部手段完全解决边界效应最好的缓解方式是尽量使用完整的连续地理区域数据或者在解释结果时对边界区域的影响保持谨慎。5.3 回归系数空间溢出的解释陷阱我见过很多人在解读空间滞后模型时犯同一个错误把 rho 系数直接当被解释变量的弹性去解释。我刚才已经提到空间系统里效应是循环反馈的。一个单元的自变量变化会直接影响本单元的因变量并通过空间滞后项传导给邻居邻居的变化又反过来影响本单元以此反复收敛到某个均衡。因此一个看似是本地的自变量效应实际包含了通过空间反馈回到本地的间接部分。空间计量文献里一般用直接效应、间接效应溢出效应和总效应来做解读。GeoDa 的结果面板不直接给出这些分解值但它输出的 rho 和变量系数足够你判断方向上的性质如果 rho 显著为正几乎所有变量都会有正向的溢出成分如果 rho 显著为负溢出效应可能是负向竞争关系。需要精确分解出某个变量的间接效应时我的建议是把这个模型搬到 R 里用 spatialreg 包的 impacts() 函数去计算。GeoDa 负责帮你确定模型形式R 负责帮你把效应算准这一步配合很重要。5.4 结果导出和重复复现的细节GeoDa 的回归结果窗口里还没有做成一键导出 Excel 表格的傻瓜按钮。我的实操流程是把结果窗口的文本内容全选复制粘贴到文本编辑器再用分隔符拆分成表格结构在 Excel 或 Google Sheets 里人工整理成论文格式。如果一套数据要跑很多个模型变量组合这种手动流程确实繁琐但好处是每一步你都亲眼看过、亲手整理过你对结果的记忆和判断才是最深的。更高效的做法是把 GeoDa 跑出来的模型设定包括权重矩阵类型、变量列表、诊断值记录下来然后在 R 里用相同设定复现顺便计算直接/间接效应输出规范的回归表格。GeoDa 和 R 的对应关系很好迁移Spatial Lag 模型对应 R 里的 lagsarlm() 函数Spatial Error 模型对应 errorsarlm()权重矩阵导出为 .gal 文件后也可以被 R 的 spdep 包读取。如果你只为了快速看一眼结果和趋势GeoDa 完全够用如果为了提交期刊或毕业论文请务必用脚本把整个流程固定住。6. 从 GeoDa 到你自己的分析工具箱6.1 我目前的使用习惯经历了多个项目之后我现在处理空间截面数据的标准流程已经固化下来了拿到数据先在地图里肉眼观察变量分布然后用全局 Morans I 和 LISA 确认空间自相关的存在和形态接着构建至少两种候选权重矩阵做一个连接关系可视化审查随后用 OLS 跑 LM 诊断按诊断结果选定空间模型形式最后在 GeoDa 里快速验证核心系数方向再落到 R 里做完整的效应分解和稳健性检验。这个流程里GeoDa 几乎承担了前 80% 的探索性工作而真正到了写论文的阶段脚本负责精度和可复现性。这个组合让我不太会漏掉空间数据的结构性特征也避免了一头扎进代码里忽视了数据本身的异质性。特别是当你团队里有人不熟悉 R 或 Python 时GeoDa 的可视化界面是很好的沟通工具大家一起看地图连线和聚类图比口头解释一百遍空间权重矩阵是什么都有效。6.2 一个小技巧把权重矩阵和地图叠加审阅最后分享一个我每次构建权重矩阵后必定会做的步骤在 Weights Manager 里选中权重文件勾选地图叠加显示然后缩放看几个重点区域。重点看的不是整体看起来对不对而是那些地理上碎片化的区域。比如某个群岛省份Queen 邻接可能会因为岛屿之间的距离产生不合理的连接关系某个狭长形态的省份K 近邻权重下可能会把处于两端完全不相关的单元连接上。这类看起来不够直觉的边界情形在地图上往往一眼就能识别出来但在数值矩阵里你可能永远不会注意到。空间回归分析的精髓本来就在于空间这个词。GeoDa 把它从抽象变成了可见把权重矩阵从一个黑盒文件变成了一幅地图这是我推荐每个做空间计量的人都先去熟悉它的根本原因。等你在 GeoDa 里建立起对数据空间结构的敏感度之后再去写代码跑模型你的每一步都会更有把握。