我正在尝试构建尽可能接近索引的投资组合,即最大程度地减少跟踪误差。目标功能是最小化以下内容:
要累加的表达式如下
我尝试通过以下方式设置问题:
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以外的其他东西吗?