【发布时间】:2022-11-24 09:35:00
【问题描述】:
我想将函数ols作为参数传递给高阶函数moving(或rolling),并固定ols的第一个参数(因变量)。比如我有ols([1,2], [x(n),x(n-1),x(n-2),x(n-3)])
在哪里
- 因变量y固定为[1,2]
- x(n) 是从 x 上的第 n 个滚动窗口生成的向量。
【问题讨论】:
标签: functional-programming partial dolphindb
我想将函数ols作为参数传递给高阶函数moving(或rolling),并固定ols的第一个参数(因变量)。比如我有ols([1,2], [x(n),x(n-1),x(n-2),x(n-3)])
在哪里
【问题讨论】:
标签: functional-programming partial dolphindb
在您的部分应用示例中,固定输入参数是一个向量。试试这个脚本:
defg getR2(x,y){
return ols(y, x, true, 2).RegressionStat[0,1]
}
x = 1 2 3 4 5 6 7 8
y = 1 2
moving(getR2{,y},x, 2)
输出:
offset 0 1 2 3 4 5 6 7
0 1 1 1 1 1 1 1
您还可以修复部分应用程序中作为矩阵的输入参数。例如:
defg getR2(x,y){
return ols(x,y,,2).RegressionStat[0,1]
}
x = matrix([1 2 3],[4,5,6])
y = matrix([1 2 3],[4,5,6])
each(def(m,n) -> moving(getR2, [m,n], 2), x, y)
输出:
col1 col2
1 1
1 1
【讨论】: