全部版块 我的主页
论坛 经济学论坛 三区 微观经济学
2969 4
2022-05-15
在使用GAMS软件构建一个省的CGE模型,校调省内生产省内销售数量(QD)初始值时发现有的部门有负值,导致后续代码无法运行(x**y,x<0),请问各位同学老师该怎么解决?本人没什么经济学基础,恳请大家指教。数学公式为:


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2022-5-15 21:15:53
图片好像没有显示,大意为QDC与进出口(QM/QE)间的CES函数。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2022-5-16 09:34:12
公式好像并未显示,大意为QDC与进出口(QE或QM)间的CES、CET函数。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2024-11-5 10:37:58
katharinafxy 发表于 2022-5-16 09:34
公式好像并未显示,大意为QDC与进出口(QE或QM)间的CES、CET函数。
研究CGE模型要慎重,我个人感觉这是个错误的模型,没有研究价值。因为效用函数是随意假定的,大家都可以假定效用函数,那求出来的均衡价格还有啥意义?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2025-8-11 16:35:24
遇到使用CES函数进行计算而出现x<0的情况,在CGE模型中确实是一个常见的问题。这通常发生在数据初始化或校准阶段,当尝试调整某些变量(如省内销售量QD)时。这种情况下,一个直接的解决方案是确保所有的输入值都是非负的。

对于已经遇到负数的问题,你可以采取以下几个策略来解决:

1. **数据检查与修正**:首先,仔细检查你的初始数据和计算过程,确认是否存在错误的数据录入或者不正确的公式应用导致了负数值。如果发现有误,请进行必要的更正。

2. **设置下限**:在GAMS中,你可以为变量设定一个最小值,例如,确保所有的x值都至少是0或一个很小的正值。这可以通过在定义变量时添加`lo`(lower bound)属性来实现:
   ```
   Variables QD;
   QD.lo = 0;  /* 设置QD的下限为0 */
   ```

3. **使用平滑函数**:如果负值是由于模型中某些假设或初始化过程中的不精确导致的,你可以考虑在计算中引入一些平滑处理来避免直接的x<0问题。例如,在CES生产函数中,可以使用绝对值函数或最大值函数(`max(x, 0)`)来确保不会出现负数。

4. **逻辑控制**:你可以在代码中增加条件判断,当检测到QD可能出现负值时执行特定操作:
   ```
   if (QD < 0,
       QD = 0;
   );
   ```

5. **参数调整与再校准**:有时候,问题的根源在于模型参数的选择不当。重新评估和调整这些参数(如CES函数中的替代弹性等)可能有助于避免出现负值。

6. **增加解释变量或约束条件**:考虑在模型中加入更多的经济逻辑或者现实约束,以反映更准确的行为模式,从而减少产生不合理数值的可能性。

总之,在处理CGE模型时,尤其是涉及非线性优化和复杂函数的应用(如CES),确保数据的合理性和数学运算的正确执行是非常关键的。如果上述方法仍无法解决问题,建议深入检查模型结构、算法选择以及数据质量等方面。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群