在cvxpy中将日志差异表示为训练有素的凸程序-索引跟踪错误

时间:2018-07-13 19:12:34

标签: python optimization cvxpy

我正在尝试构建尽可能接近索引的投资组合,即最大程度地减少跟踪误差。目标功能是最小化以下内容: Objective

要累加的表达式如下

Tracking error

我尝试通过以下方式设置问题:

filename = 'audio.wav'
destination = r'C:\Some\Folder'
subprocess.check_output(["ffmpeg", 
    "-i", location,
    "-vn",
    "-ar", "44100",
    "-ac", "1",
    "-b:a", "32k",
    "-f", "wav",
    os.path.join(destination, filename)
])

其中exp = [cvx.log(V[:,t].T*x) - cvx.log(V[:,0].T*x) - R[t] for t in range(1,V.shape[1])] 是ln(It / I0)部分,因为可以预先计算。由于cvxpy不允许按表达式除法,因此我尝试转换为对数差。这个表达式没有错误,但是当我尝试

R[t]

我收到了错误列表。结果,cvxpy将无法解决问题,因为它不受纪律约束。

是否有解决此问题的方法,以使它保持纪律性?另外,我可以使用cvxpy以外的其他东西吗?

0 个答案:

没有答案