双重差分模型WebApp实验室:平行趋势、反事实与动态效应
双重差分(DID)是政策评估与因果推断中最经典的方法之一,其核心并非简单计算政策前后的均值差异,而是通过处理组与对照组的双重比较,构造一个可信的反事实,从而识别政策的真实因果效应。传统教学常停留在公式与回归系数层面,学习者虽能算出结果,却难以真正理解平行趋势为何关键、反事实如何构造、动态效应怎样识别、安慰剂检验为何必要。双重差分与动态效应实验室(DID & Dynamic Lab) 为破解这一困境而构建,围绕理论代数、2D平行沙盒、反事实演播、事件研究、安慰剂检验、六大案例、代码引擎、AI计量诊断、全流程导引、数据与报告及知识导引,将抽象因果推断转化为可观察、可操作、可验证的交互实验,让政策效应从静态回归系数变成一条可看见、可检验、可解释的动态路径。
关键词: 双重差分、DID、因果推断、平行趋势、反事实、动态效应、事件研究、安慰剂检验、政策评估、AI计量分析
📌 《计量经济学可视化实验室》系列之(九)
双重差分模型实验平台https://hh9309.github.io/Difference-in-Differences-lab/
本地部署蓝奏云下载链接https://wwbvh.lanzoum.com/iwSTZ48n44cb
平台为双重差分与动态效应分析学习提供直观交互环境,围绕DID模型构建完整分析流程。用户可通过数据与参数设置,动态观察处理组与对照组在政策实施前后的变化,系统实时呈现平行趋势、处理效应及动态效应演化,使抽象计量过程可视化。同时融合事件研究、稳健性检验与AI分析,实现“数据构建—模型估计—动态识别—结果解释”的统一,帮助学习者深入理解双重差分的识别逻辑、政策效应与动态影响机制。
============================================================
一、引言:让双重差分真正"动起来"
在计量经济学中,研究一个政策是否有效,真正困难的往往不是计算平均值,而是回答一个更加根本的问题:如果这个政策没有发生,接受政策影响的对象会怎样? 这个没有真正发生的结果,就是因果推断中的反事实结果(Counterfactual)。
例如,一个地区实施了新的就业促进政策。政策实施以后,该地区就业率从80%提高到了86%。我们能否直接认为政策使就业率提高了6个百分点?答案显然不能确定。因为在同一时期,就业率可能受到经济复苏、产业发展、人口结构变化、宏观政策等因素影响。即使没有这项就业政策,就业率也可能从80%自然提高到84%。那么真正由政策产生的影响可能只有2个百分点。这正是双重差分方法所要解决的问题。
DID并不是简单比较政策实施前后的变化,而是同时观察:处理组在政策前后的变化、对照组在政策前后的变化,以及两组变化之间的差异。其核心思想可以概括为:先看处理组变化了多少,再扣除同期对照组自然变化了多少。因此,双重差分本质上是一种利用"组间差异"和"时间差异"共同构造反事实的方法。传统教材通常通过公式 \(DID=(Y_{T,post}-Y_{T,pre})-(Y_{C,post}-Y_{C,pre})\) 直接给出结论。但对于学习者而言,仅仅看到这个公式仍然存在大量疑问:为什么要做两次差分?为什么要有对照组?为什么必须满足平行趋势?反事实究竟是什么?事件研究中的动态效应又是什么意思?政策实施之前出现显著效应意味着什么?安慰剂检验为什么能够增强结论可信度?这些问题如果仅通过静态公式讲解,很难形成真正的因果推断直觉。因此,本实验室的核心目标不是简单地"计算一个DID系数",而是让学习者能够看见DID、操作DID、验证DID、解释DID。
二、双重差分的理论模型:从两次差分理解因果效应
设研究对象分为处理组和对照组,同时观察政策实施前与政策实施后两个时期。记 \(Y_{it}\) 为个体 \(i\) 在时期 \(t\) 的结果变量。定义 \(Treat_i=\begin{cases}1,&i属于处理组\\0,&i属于对照组\end{cases}\),\(Post_t=\begin{cases}1,&政策实施之后\\0,&政策实施之前\end{cases}\)。最基本的DID回归模型为 \(Y_{it}=\alpha+\beta Treat_i+\gamma Post_t+\delta(Treat_i\times Post_t)+\varepsilon_{it}\),其中最关键的参数 \(\delta\) 就是双重差分估计的政策处理效应。
为什么需要"两次差分"?假设处理组政策前均值为 \(Y_{T,pre}\),政策后均值为 \(Y_{T,post}\),那么处理组自身的变化为 \(\Delta Y_T=Y_{T,post}-Y_{T,pre}\)。但是这个变化并不完全来自政策。因此我们进一步观察对照组 \(\Delta Y_C=Y_{C,post}-Y_{C,pre}\),最终 \(DID=\Delta Y_T-\Delta Y_C\)。第一次差分解决的是同一个群体前后发生了什么变化,第二次差分解决的是这种变化是否超过了同期没有接受政策的群体。
DID最重要的识别条件之一是平行趋势假设(Parallel Trends Assumption)。它并不是要求处理组和对照组的结果变量水平完全相同,而是要求如果没有政策冲击,两组本来应该具有相似的时间变化趋势。可以写成潜在结果形式:\(E[Y_{T,t}(0)-Y_{T,t-1}(0)]=E[Y_{C,t}(0)-Y_{C,t-1}(0)]\),其中 \(Y(0)\) 表示没有接受政策处理时的潜在结果。平行趋势要求的是变化趋势相近,而不是两组数据必须重合。例如处理组就业率 \(70\%\rightarrow72\%\rightarrow74\%\),对照组就业率 \(60\%\rightarrow62\%\rightarrow64\%\),虽然两个组的水平不同,但变化速度相同,也可能满足平行趋势。因此DID学习不能停留在"公式记忆",必须建立图形化理解——这正是平台2D平行沙盒存在的意义。
三、实验室设计理念:从公式走向因果推断实验
传统DID教学容易形成一种"公式中心"的学习方式:\(DID\rightarrow回归\rightarrow系数\rightarrow显著性\)。但是,真正的政策评估过程应该是:\(数据\rightarrow研究设计\rightarrow平行趋势\rightarrow反事实\rightarrow DID估计\rightarrow动态效应\rightarrow稳健性检验\rightarrow政策解释\)。因此,双重差分与动态效应实验室并没有把DID设计成单纯的计算器,而是构建了一条完整的交互学习路径。
平台整体形成:
其中:理论代数负责回答"DID为什么成立";2D平行沙盒负责回答"平行趋势是什么";2D反事实演播负责回答"政策效应如何被识别";事件研究演播负责回答"政策影响如何随时间变化";安慰剂检验负责回答"结果是否可能只是偶然";六大案例负责回答"DID如何应用于现实问题";代码引擎负责回答"模型如何真正计算";AI计量诊断负责回答"结果应该如何理解";全流程导引负责回答"完整DID分析应该怎么做";数据与报告负责完成实验数据与分析成果沉淀;知识导引则负责构建整个知识体系。由此形成理论—图形—反事实—动态效应—检验—案例—代码—AI—报告的完整学习闭环。
四、理论代数:把DID公式真正拆开
理论代数是整个实验室的理论基础。传统教材通常直接给出 \(DID=(Y_{T,post}-Y_{T,pre})-(Y_{C,post}-Y_{C,pre})\),平台则可以将这个表达式拆成多个部分进行观察。首先观察处理组 \(Y_{T,post}-Y_{T,pre}\),再观察对照组 \(Y_{C,post}-Y_{C,pre}\),最后进行第二次差分 \(DID=\Delta Y_T-\Delta Y_C\)。这样,学习者能够清晰看到:DID不是一个神秘的统计量,而是两个时间变化之间的差。
进一步从回归角度 \(Y_{it}=\alpha+\beta Treat_i+\gamma Post_t+\delta Treat_iPost_t+\varepsilon_{it}\),其中 \(\delta\) 对应的就是处理组在政策实施之后相对于对照组额外发生的变化。这种"公式—变量—图形—结果"联动方式,可以帮助学习者建立代数表达和因果解释之间的联系。
理论代数模块还支持"矩阵形式展开"——将DID回归写成矩阵形式 \(Y=X\beta+\varepsilon\),其中设计矩阵 \(X\) 包含常数项、处理组虚拟变量、时间虚拟变量和交互项四列。学习者可以直观看到交互项 \(Treat_i\times Post_t\) 在数据矩阵中如何取值:只有处理组在政策后的观测值才取1,其余取0。这种矩阵层面的展示使抽象的"交互项"概念变得具体可感,帮助学习者理解为什么 \(\delta\) 恰好捕捉了"处理组在政策后相对于对照组的额外变化"这一因果含义。理论代数模块还提供"数值代入"功能——学习者在公式中输入具体数值,系统自动计算各分项贡献,使DID的分解过程从符号运算变为可验证的数值实验。
五、2D平行沙盒:亲眼观察平行趋势
2D平行沙盒是理解DID识别条件的重要实验模块。在二维坐标系中,可以将横轴设置为时间,将纵轴设置为结果变量,同时展示处理组与对照组两条趋势线。政策实施时间则作为重要的时间节点。在政策实施之前,学习者可以观察两条趋势线的变化关系。
如果政策发生之前两组趋势基本平行,那么学习者可以形成直观认识:如果没有政策冲击,两组可能会继续按照类似趋势发展。而如果两组在政策发生之前已经明显出现不同趋势,那么DID的识别基础就会受到挑战。因此,这个模块的价值并不是简单"画两条线",而是帮助学习者理解:平行趋势→反事实可信→DID识别成立。
用户可以通过改变数据或参数观察不同趋势状态,使"平行趋势"从一个抽象假设变成一个可以直接观察的图形条件。沙盒还支持"趋势偏离实验"——学习者可以拖动滑块调整政策前处理组的趋势斜率,实时观察两组趋势线从平行走向交叉或发散,同时系统计算对应的DID估计偏差。当趋势偏离程度增大时,DID估计值与真实处理效应的差距明显扩大,这种"偏差可视化"使学习者深刻理解平行趋势假设为什么是DID识别不可替代的前提条件,而非可有可无的技术假设。
六、2D反事实演播:理解DID真正要估计什么
如果说平行趋势解决的是"能不能进行DID",那么2D反事实演播解决的就是:DID到底在估计什么?这是整个DID学习中最关键、也最容易被忽视的概念。
政策实施以后,我们可以观察到处理组真实结果 \(Y_{T,post}(1)\),但是,我们永远无法同时观察同一个处理组在没有政策情况下的结果 \(Y_{T,post}(0)\)。而真正的政策效应是 \(\tau=Y_{T,post}(1)-Y_{T,post}(0)\)。问题在于 \(Y_{T,post}(0)\) 是一个看不见的反事实。DID所做的,就是借助对照组的变化趋势,对这个反事实进行估计。
在二维演播环境中,可以直观展示:真实结果是政策发生后的实际观察值;反事实结果是没有政策情况下理论上应该达到的位置;两者之间的垂直差距就是政策效应。这样,学习者会发现:DID最核心的任务并不是"计算差分",而是"构造一个可信的反事实"。这也是理解因果推断的关键一步。
反事实演播模块还支持"反事实误差可视化"——当平行趋势假设不成立时,系统会显示估计反事实与真实反事实之间的偏离,并量化这种偏离对政策效应估计的影响。学习者可以观察到:即使处理组的真实变化完全相同,仅仅因为对照组选择不同,DID估计值也可能发生显著变化。这种对比帮助学习者理解"DID估计的可信度高度依赖对照组选择"这一实证研究中的核心方法论问题。
七、事件研究演播:从平均效应走向动态效应
传统DID通常给出一个平均政策效应 \(\delta\),但现实中的政策影响往往不是瞬间产生的。政策实施后可能存在短期冲击、中期调整、长期累积、滞后效应、效应衰减或效应增强。因此,仅仅得到一个平均DID系数可能还不够。事件研究演播进一步将政策效应拆解到不同时间点。
可以构造 \(Y_{it}=\alpha_i+\lambda_t+\sum_{k\neq -1}\beta_kD_{it}^{k}+\varepsilon_{it}\),其中 \(k\) 表示相对于政策发生时间的相对时期。例如 \(k=-3,-2,-1,0,1,2,3,4\) 分别表示政策实施前3期、前2期、前1期、当期以及之后不同时间。通过事件研究,可以观察 \(\beta_{-3},\beta_{-2},\beta_0,\beta_1,\beta_2,\cdots\) 形成完整的动态效应路径。
如果政策实施之前 \(\beta_{-3}\approx0\),\(\beta_{-2}\approx0\),说明政策前没有明显提前效应,也为平行趋势提供支持。如果政策实施之后 \(\beta_1>0\),\(\beta_2>0\),\(\beta_3>0\),则说明政策影响可能逐步显现。因此,事件研究演播将"政策有没有效"进一步扩展为"政策什么时候开始有效、影响有多大、效果持续多久、是否存在动态变化?"这使DID从静态平均处理效应走向动态政策分析。事件研究演播模块还支持"置信带叠加"——在动态效应路径图上同时显示每个时期的置信区间,学习者可以直观判断哪些时期的效应统计显著、哪些时期不显著,从而形成对政策效应时间轮廓的完整认识。
八、安慰剂检验:检验政策效应是否可信
在真实实证研究中,即使得到显著的DID结果,也不能立即认为政策一定有效。因为结果可能受到随机因素、样本结构、时间趋势、模型设定、其他同期政策或未观测因素的影响。因此,需要进行进一步的稳健性分析。平台设置了安慰剂检验模块,用于帮助学习者理解:如果我们把一个实际上不存在的政策冲击人为放进去,会不会也得到一个所谓的"显著政策效应"?
例如,可以人为改变政策发生时间 \(Post_t^*\),或者重新构造处理组。如果虚假的政策冲击也频繁得到显著结果,那么原始DID结果的可信度就需要重新审视。反之,如果真实政策显著,而大量安慰剂实验并没有产生类似结果,则可以增强对真实政策效应的信心。因此,安慰剂检验并不是简单的"再跑一次回归",而是在进行真实效应与随机伪效应的比较。
安慰剂检验模块还支持"安慰剂分布可视化"——系统自动运行数百次随机安慰剂实验,将每次得到的虚假DID系数绘制成分布图,并将真实的DID系数标注在分布图上。如果真实系数位于分布的最右端(或最左端),说明真实效应不太可能由随机因素产生;如果真实系数落在分布的中心区域,则说明观测到的"显著效应"可能是随机波动的结果。这种"安慰剂分布对比"将抽象的稳健性概念转化为直观的统计图形,帮助学习者建立"显著并不等于可信,可信需要经过进一步检验"的实证研究意识。
九、六大案例:从抽象模型走向政策评估
DID真正的价值最终体现在现实政策分析中。平台通过六大案例将DID理论放入不同应用场景,使学习者从具体问题理解模型。
案例学习可以按照问题提出→政策冲击→处理组/对照组→政策前后变化→平行趋势→DID估计→动态效应→结果解释的逻辑展开。对于每一个案例,学习者都不应该只关注最后一个回归系数,而应该回答几个核心问题:第一,什么是处理? 即 \(Treat_i\) 到底代表什么。第二,什么时候发生政策冲击? 即 \(Post_t\) 如何定义。第三,谁是对照组? 对照组是否能够代表政策组在没有政策情况下的发展路径?第四,平行趋势是否合理? 政策发生之前,两组是否具有相近趋势?第五,政策效应是多少? 即 \(\hat{\delta}\) 意味着什么。第六,政策效果是否具有动态性? 通过事件研究观察不同时间点的变化。
六大案例覆盖了从最低工资政策对就业的影响、环保法规对企业减排的效果,到高铁开通对区域经济的影响、教育政策对学生成绩的作用、税收优惠对企业投资的影响以及医疗改革对居民健康支出的效果等典型政策评估场景。通过六大案例,DID不再只是一个数学模型,而成为一种完整的政策评估思维——学习者在面对新的政策问题时,能够独立判断处理组与对照组的划分是否合理、平行趋势是否成立、动态效应是否符合政策预期,从而将统计方法真正转化为政策分析能力。
十、代码引擎:让DID从公式进入计算
理论模型最终需要通过代码实现。代码引擎承担的是理论、计算与实证之间的桥梁作用。最基本的DID模型可以表示为 \(Y_{it}=\alpha+\beta Treat_i+\gamma Post_t+\delta Treat_i\times Post_t+\varepsilon_{it}\),其中关键变量 \(Treat_i\times Post_t\) 就是政策处理交互项。
代码计算的价值在于让学习者看到数据→变量构造→交互项→模型估计→系数→解释这一完整过程。尤其对于计量经济学学习而言,"会使用软件"并不等于"理解模型"。代码引擎可以帮助学习者进一步理解DID变量如何构造、交互项如何产生、回归模型如何估计、系数如何解释、动态效应如何计算、检验结果如何使用。这样,公式就不再是停留在教材中的符号,而真正成为能够运行的计算模型。
代码引擎还支持"事件研究代码生成"——学习者在图形界面中设定事件窗口(如政策前后各4期),系统自动生成对应的回归代码,并高亮显示基准期被省略的处理方式。学习者可以进一步修改代码,尝试不同的基准期选择,观察事件研究系数路径如何随之变化,从而理解事件研究中"基准期归一化"这一技术细节对结果解释的影响。代码引擎同样支持Python和R两种语言的输出,满足不同学习者的编程习惯。
十一、AI计量诊断窗口:让AI成为DID智能导师
传统计量软件最大的不足之一,是它可以告诉用户 \(\hat{\delta}=0.125\),却不会主动告诉学习者这个0.125究竟意味着什么。AI计量诊断窗口则将分析过程从"结果输出"进一步扩展到"结果解释"。
学习者可以围绕DID提出问题,例如:为什么需要平行趋势?我的处理组和对照组趋势不平行怎么办?DID系数为0.15应该如何解释?为什么政策实施前就出现了显著效应?事件研究图应该怎么看?安慰剂检验不显著说明什么?AI可以围绕理论→实验→结果→解释提供辅助。尤其是当学习者看到事件研究图时,可以进一步询问:哪些时期的政策效应显著?政策效应什么时候开始出现?是否存在政策提前效应?当前结果是否支持平行趋势?
AI计量诊断窗口的提示词中嵌入了当前实验的完整状态——包括DID估计值、事件研究系数路径、安慰剂检验分布和样本结构——使得AI的回答始终基于当前实验上下文,而非泛泛而谈的计量常识。例如,当学习者询问"为什么政策前有显著效应"时,AI会结合事件研究中 \(\beta_{-3}\)、\(\beta_{-2}\) 的具体数值和置信区间,指出具体哪个政策前时期出现了显著偏离,并提示这可能是平行趋势假设受到挑战的信号。这样,AI不只是一个聊天工具,而成为连接模型计算与计量解释的智能学习助手。
十二、全流程导引:构建完整DID分析路径
对于初学者而言,DID分析的难点并不只是掌握双重差分模型及其估计公式,更重要的是理解从数据准备、识别检验到因果效应评价的完整研究路径。平台通过全流程导引将DID实证分析组织为五个连续阶段,使学习者能够按照规范的研究逻辑逐步推进,并清楚了解每一步的分析目的以及与后续环节之间的联系。
第一阶段是数据清洗与倾向得分匹配。平台首先围绕研究数据进行整理,通过平衡面板构建保证样本在时间维度上的连续性,并利用变量缩尾降低极端值对估计结果的干扰。在此基础上引入倾向得分匹配,以改善处理组与对照组之间的样本平衡,缓解由样本选择差异带来的选择性偏差,为后续DID识别建立更加合理的数据基础。
第二阶段是平行趋势与事件研究检验。平台通过动态系数绘制展示政策实施前后的效应变化,并进行基期归一化,使不同时间节点的动态效应具有清晰的比较基础。同时结合事前联合F检验,对政策实施前的动态系数进行整体检验,从而帮助学习者理解DID识别中的重要前提及其检验过程。
第三阶段进入基准回归与双向固定效应。平台利用个体与时间双向固定效应吸收个体层面不随时间变化的差异以及共同时间冲击,在此基础上完成基准DID估计,并采用聚类稳健标准误进行修正,使学习者能够完整观察从模型设定到参数估计的过程。
第四阶段是安慰剂与多重稳健性检验。平台设置500次蒙特卡洛虚构,通过随机构造政策冲击检验基准结果是否可能由偶然因素产生,同时结合反向因果检验、排除并发政策等方式,从不同角度对估计结果进行稳健性验证。
第五阶段为因果效应评估与学术报告决策导出。平台进一步对估计结果进行经济学显著性解读,分析政策效应的实际含义,并结合政策边际收益形成更加完整的结果解释,最终导出具有规范结构和可复现性的学术分析报告。由此,五个阶段共同构成从数据处理→识别检验→基准估计→稳健性验证→因果效应评价与报告导出的完整DID分析路径,使学习者能够将各项方法连接起来,形成系统化的DID实证研究思路。
十三、数据与报告:从实验结果形成完整成果
一个完整的计量实验不能停留在动态图表和一个回归系数上。因此,平台设置了数据与报告模块,将实验过程中的数据、分析结果和研究结论进行整理。
一份完整的DID分析成果至少应包含:数据说明,说明研究对象、时间范围、处理组和对照组;政策冲击,明确政策实施时间和处理变量;平行趋势,展示政策发生之前两组的发展趋势;DID估计,报告核心政策效应 \(\hat{\delta}\) 以及相应的统计结果;动态效应,展示事件研究中的 \(\beta_k\),观察政策影响随时间的变化;安慰剂检验,判断结果是否可能来自随机因素;结论解释,将统计结果转化为政策含义。这样就形成数据→模型→检验→解释→报告的完整成果链条。
数据与报告模块支持一键导出结构化报告,报告格式包括Markdown和PDF,方便学习者整理归档或教师评估实验质量。报告内容不仅包含最终结论,还完整记录了分析过程中的每一个决策节点——为什么选择当前对照组、平行趋势检验的结果如何、事件研究中基准期如何设定、安慰剂检验进行了多少次随机实验。这种"过程记录"使报告从"结果展示"升级为"分析档案",学习者在后续复习时可以重新审视自己的因果推断逻辑,教师也可以据此评估学习者的研究设计能力,而不仅仅是最终的统计结果。
十四、知识导引:构建双重差分完整知识体系
如果说前面的模块负责"做实验",那么知识导引负责帮助学习者回答:我到底应该学习哪些DID知识?双重差分并不是一个孤立模型,它连接着潜在结果框架、因果推断、反事实、平行趋势、面板数据、固定效应、事件研究、动态处理效应、安慰剂检验、稳健性分析和政策评估。
知识导引的意义在于让学习者建立一个整体认知:DID不是"一个公式",而是一套围绕反事实构建因果识别的研究方法。知识导引还支持"概念回溯"功能——当学习者在实验模块中遇到陌生术语(如"潜在结果""反事实""事件研究")时,可以一键跳转到知识地图中该概念的位置,查看其定义、前置知识和后续应用,避免因概念断层而中断学习流,帮助学习者形成从理论到实证、从方法到应用的完整知识框架。
总结:从一次差分走向完整因果推断实验室
双重差分真正重要的地方,并不只是 \(DID=(Y_{T,post}-Y_{T,pre})-(Y_{C,post}-Y_{C,pre})\) 这个公式本身。它真正重要的是背后的因果推断思想:通过观察处理组和对照组在政策前后的变化差异,尽可能构造一个可信的反事实,从而识别政策所产生的因果影响。
双重差分与动态效应实验室正是围绕这一思想,将传统教材中的静态DID模型转化为一个可以操作、观察和验证的交互式计量实验环境。通过理论代数,学习者理解DID公式和交互项的数学结构;通过2D平行沙盒,直观看到平行趋势假设;通过2D反事实演播,理解不可观察的反事实结果以及政策效应的形成机制;通过事件研究演播,进一步观察政策效应在不同时间阶段的动态变化;通过安慰剂检验,理解为什么一个显著结果仍然需要进一步验证;通过六大案例,将抽象理论带入现实政策分析;通过代码引擎,把数学模型真正转化为可执行的计算过程;通过AI对话窗口,让模型结果获得更加自然、深入的解释;通过全流程导引,建立从数据到结论的完整DID分析路径;通过数据与报告,将实验过程沉淀为结构化成果;最终借助知识导引建立系统性的DID知识体系。
整个实验室最终形成:
这样一条完整路径。它把传统计量经济学中"公式—回归—显著性"的静态学习方式,转变为"理论—交互—演播—检验—计算—解释—应用"的动态学习方式。最终,学习者掌握的不再只是一个DID估计量,而是一整套从研究问题、政策冲击、反事实构造、识别假设、模型估计、动态效应到稳健性验证和政策解释的因果推断思维。
这正是"双重差分与动态效应实验室"的核心价值:让抽象的因果推断真正动起来,让看不见的反事实变得可以理解,让政策效应从一个回归系数变成一条可以观察、验证和解释的动态路径。

浙公网安备 33010602011771号