全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
932 9
2023-10-20
最近写项目书,遇到了关于矩阵的特征值的问题,
附件列表
微信图片_20231020105337.jpg

原图尺寸 1.22 MB

微信图片_20231020105337.jpg

二维码

扫码加我 拉你入群

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

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

全部回复
2023-10-20 11:00:17
我用stata把w求出来了,但w中有分量为负值,那就按照论文的意思转化为线代的问题:已知矩阵H,求一个所有分量均为正值的单位向量w,使得w的转置*H*w达到最大,想问下这种情况下怎么用stata解决呢?能给出相应的命令或者代码吗?不胜感激
二维码

扫码加我 拉你入群

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

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

2023-10-24 11:04:37
对于这个问题,你可以使用Stata中的优化命令来求解。其中,最常用的优化命令是`optimize`和`nlso`。下面是一个使用`optimize`命令求解的示例代码:
```stata
// 定义目标函数
program define target
    args lnw
    scalar w = exp(lnw)
    matrix H = J(3, 3, 1) // 假设矩阵H是一个3x3的全1矩阵
    scalar result = w' * H * w
    return scalar result
end

// 设置起始值
scalar start_value = 0

// 调用optimize命令求解
optimize maximize target, start(start_value) constraint(positive)

// 输出结果
scalar w = exp(r(maximize_lnw))
matrix H = J(3, 3, 1)
scalar result = w' * H * w
display "w = " w
display "result = " result
```
在上面的代码中,我们定义了一个目标函数`target`,其中`lnw`是`w`的自然对数。目标函数中,我们根据给定的矩阵`H`计算`w' * H * w`的值作为目标函数的输出。设置了起始值`start_value`,并使用`optimize`命令求解目标函数的最大值。通过设置`constraint(positive)`约束条件,确保求解得到的`w`的分量为正值。最后,我们输出求解得到的`w`和对应的目标函数值`result`。
二维码

扫码加我 拉你入群

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

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

2023-10-24 13:44:18
sun_man 发表于 2023-10-24 11:04
对于这个问题,你可以使用Stata中的优化命令来求解。其中,最常用的优化命令是`optimize`和`nlso`。下面是 ...
太感谢了 不过这样求得的w一定是是单位向量吗?
二维码

扫码加我 拉你入群

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

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

2023-10-24 13:58:27
a754524108 发表于 2023-10-24 13:44
太感谢了 不过这样求得的w一定是是单位向量吗?
不一定。在优化问题中,目标函数通常是在给定约束条件下寻找最优解。目标是找到使得目标函数达到最大值的向量w。并没有明确的约束条件要求w必须是单位向量。所以使用优化算法求解后得到的向量w可能不是单位向量。如果需要得到单位向量w,可以在求解后对向量w进行归一化处理。
二维码

扫码加我 拉你入群

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

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

2023-10-24 15:32:22
sun_man 发表于 2023-10-24 13:58
不一定。在优化问题中,目标函数通常是在给定约束条件下寻找最优解。目标是找到使得目标函数达到最大值的 ...
谢谢,有个问题就是这种方法求出来的w再进行化简得到的单位向量还是使得w‘Hw最大的向量吗?限制条件里能不能把w为单位向量也加进去呢?
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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