optimization - 使用 stata/mata 编程最小距离估计器
问题描述
我正在尝试为结构模型编程最小距离估计器,该模型试图通过改变 2 个参数来匹配一些模型一致的计算与一些 IV 回归系数。本质上我希望它运行这样:
- 猜2个参数值
- 使用猜测的参数值为每个观察构造一些模型一致的值
- 根据模型一致的值创建一个二元变量,在确定“高”和“低”的中位数处拆分。
- 使用原始数据(不是由模型构建的)运行 IV 回归,但使用步骤 3 中的“高”交互项。
- 检查回归系数与“高”和“低”组的平均值之间的 L2 范数。
- 冲洗并重复,直到步骤 5 最小化。
从我所做的阅读中,我得到了我需要在 mata 中使用优化功能的印象,尽管我不清楚如何。以下是代码的一般步骤。第 5 步是我需要最小化的,第 1 步包含我需要猜测的参数。我猜测需要在程序中定义以下内容,但任何有关如何结合使用 mata 和优化功能的指导都将不胜感激。
*1. Choose parameter values
gen k = *guess1_1*
gen scale = *guess1_2*
*2. Calculate model consistent elasticities
** relevant code which generates variable T for each observation**
*3. Cut by median & calculate model measures
egen median_T = median(T)
gen High = T > median_T
qui sum T if High == 0
gen model_low = r(mean)
qui sum T if High == 1
gen model_high = r(mean)
*4A. Calculate interaction terms for IV
gen lnxXHigh = lnx * High
gen zXHigh = z*High
*4B. Calculate empirical measures
qui ivreghdfe lnY High (lnx lnxXHigh = z zXHigh) if a(c y ym) cluster(c)
gen empirical_low = _b[lnx]
gen empirical_high = _b[lnx] + _b[lnxXHigh]
*5. Euclidean distance
gen euc_distance = sqrt((empirical_low - model_low)^2 +(empirical_high-model_high)^2)
解决方案
推荐阅读
- python - 单例的哪种用法最合适/pythonic?
- c# - 文件流读取数组到行 C#
- python - Python numpy 方法/属性比 numpy 函数快吗?
- python - 如何使用 Selenium 更新 INITIAL_REDUX_STATE?
- javascript - 从 img 标签中检索值
- javascript - 父范围没有触发 React 中的子重新渲染
- spring - 从数据库动态更新权限(spring security)
- python - 如何使用 DLL 依赖项打包 Python 项目
- linux - Logitech MX 键的 Azerty 键盘布局错误 Linux 中的 Azerty 版本
- javascript - 如何通过在javascript中升序对我的数组进行排序