r - constrOptim() 错误:初始值不在可行域内部
问题描述
我对 R 完全陌生,我正在尝试使用不等式约束(最大似然估计)优化函数我有 7 个参数:mu, alpha, gamma, beta, lambda_0, lamda_1, lamda_2
不等式约束如下:
alpha >=0;
alpha + gamma/2 + beta <=1;
lambda_1 >= 0;
lambda_1 + lambda_2 <=1.
我写了以下代码:
#logreturn
y <- diff(log(daten$close_price)) * 100
# initial values
para <- c(0.02, 0.007, 0.14, 0.85, 0.01, 0.05, 0.93)
A <- matrix(c(0, 1, 0, 0, 0, 0, 0,
0, -1, -0.5, -1, 0, 0, 0,
0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, -1, -1),
4, 7, byrow = T)
b <- c(0, 1, 0, 1)
constrOptim(theta = para,
f = garch_loglik,
ui = A,
grad = NULL,
ci= b,
y = y,
m = 63)
错误是
constrOptim(theta = para, f = garch_loglik, ui = A, grad = NULL, : 初始值不在可行域内部
我知道ui %*% theta - ci >= 0
为了优化工作。因此,当我将 A 写为一个矩阵时, ui %*% theta - ci >= 0
条件成立并且函数有效。然而,我的约束显然没有得到满足。
解决方案
推荐阅读
- php - laravel黄昏宏抛出的BadMethodCallException
- python - Python:如何在不创建过度列表的情况下将字符串转换为列表
- go - golang如何使用工具查找ticker泄漏的地方?
- r - 使用 R 将大型文本文件构造成数据框
- spring-data-jpa - @TransactionalEventListener 注释的方法未在 @Transactional 测试中调用
- python - 如何在 mongodb 文档中插入项目列表?
- amazon-dynamodb - AWS CLI dynamoDB 如何将变量传递给 get-item --key map
- spring-boot - spring.jackson.default-property-inclusion=NON_NULL 在 spring boot 2.0 中添加到 application.yml 文件时不起作用
- python - 使用 argparse 将参数发送到 Python 脚本中的函数
- azure - 维护天蓝色资源管理器模板的正确方法