楼主: a754524108
1078 9

[数据管理求助] 有关stata矩阵的问题 [推广有奖]

  • 0关注
  • 0粉丝

本科生

74%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
19.4699
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1070 点
帖子
53
精华
0
在线时间
160 小时
注册时间
2018-6-19
最后登录
2025-3-19

楼主
a754524108 发表于 2023-10-20 10:56:17 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
最近写项目书,遇到了关于矩阵的特征值的问题,
二维码

扫码加我 拉你入群

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

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

关键词:Stata tata 特征值 项目书
相关内容:stata矩阵问题

微信图片_20231020105337.jpg (1.22 MB)

微信图片_20231020105337.jpg

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

藤椅
sun_man 在职认证  发表于 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`。

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

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

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

7
a754524108 发表于 2023-10-24 15:39:24
sun_man 发表于 2023-10-24 13:58
不一定。在优化问题中,目标函数通常是在给定约束条件下寻找最优解。目标是找到使得目标函数达到最大值的 ...
还有就是运行optimize命令时显示command optimize is unrecognized,是我没安装这个命令还是哪里出错了呢?ssc install optimize 显示找不到这个命令

8
sun_man 在职认证  发表于 2023-10-24 17:26:59
a754524108 发表于 2023-10-24 15:39
还有就是运行optimize命令时显示command optimize is unrecognized,是我没安装这个命令还是哪里出错了呢 ...
`command optimize is unrecognized` 的意思是你的 Stata 中可能没有安装 `optimize` 。使用 `findit optimize` 命令来搜索并安装 `optimize` 命令,能搜索可用的命令并提供安装选项。如果找到了合适的,就按照提示进行安装。如果没找到,那么可能需要在其他地方查找 `optimize` 命令。还得确保你的 Stata 软件是最新版本。
如果还是不行用 MATLAB、Python(使用 NumPy 或 SciPy 库)或 R 语言也能做

9
a754524108 发表于 2023-10-29 15:15:56
sun_man 发表于 2023-10-24 11:04
对于这个问题,你可以使用Stata中的优化命令来求解。其中,最常用的优化命令是`optimize`和`nlso`。下面是 ...
请问这两个命令args lnw 和 scalar w = exp(lnw) 代表什么意思呢

10
a754524108 发表于 2023-10-29 23:11:48
sun_man 发表于 2023-10-24 17:26
`command optimize is unrecognized` 的意思是你的 Stata 中可能没有安装 `optimize` 。使用 `findit op ...
麻烦问下你这个optimize的语法是不是有点问题呢?我查了好多资料,和你的不太一样呢 ,快到给老板汇报的时间了,好急啊,网上也查不到,到底哪种格式是正确的 不是cant be recognized 就是 invalid syntax ,郁闷

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-2-1 03:22