在DolphinDB中,如何使用元编程进行多元回归?

问题描述 投票:0回答:1

我打算使用元编程对几列进行多元回归,但出现错误。

我的脚本:

sql(sqlColAlias(makeUnifiedCall(toArray, makeUnifiedCall(ols, (sqlCol(`rr), sqlCol(t.columnNames()[12:16]), false, 0))), `param), from=t.nullFill(0.0), groupBy=sqlCol(`month`symbol)).eval() 

错误信息:

::evaluate(sql(sqlColAlias(makeUnifiedCall(toArray, makeUnifiedCall(ols, (sqlCol("rr"), sqlCol(::columnNames(t)[12 : 16]), 0, 0))), "param"), ::nullFill(t, 0), , sqlCol(["month","tsymbol"]))) => The dimension of dependent doesn't match the dimension of independent factors.

然后我将脚本更改如下,运行正常。

sql(sqlColAlias(makeUnifiedCall(rowSum, sqlCol(t.columnNames()[12:16])), `newCol), t.nullFill(0.0)).eval()
metaprogramming dolphindb
1个回答
0
投票

在元编程中,需要将多个列组合成一个矩阵,而不是一个元组;否则,脚本可能无法正常解析。这是一个示例脚本:

x = `x+string(1..3)
residual = makeCall(member, makeCall(ols, sqlCol(`factor0), makeUnifiedCall(matrix, sqlCol(x)), 1, 2), "Residual")
sql(residual, t).eval()
© www.soinside.com 2019 - 2024. All rights reserved.