是否有一个函数来计算iPhone的Accelerate Framework中的点阵数的线性回归?

时间:2011-05-31 10:38:06

标签: iphone regression linear accelerate-framework vdsp

我正在寻找一种最快/最简单的解决方案来计算存储在数组中的一堆双点的回归 我试图在Accelerate框架或教程中找到合适的功能,但没有运气。

有人做过吗?

1 个答案:

答案 0 :(得分:1)

假设您已经知道模型的参数,可以使用矩阵向量乘法来完成。线性回归是样本矩阵X的inner product和模型参数的矢量Theta。

// Simple scenario for linear regression: Y = theta0 + theta1*X
int rows = 4;
int cols = 2;
double theta[] = {5.0, 2.0};
double x[] = {1.0, 10.0, 
              1.0, 20.0, 
              1.0, 30.0, 
              1.0, 40.0};
double y[rows];

// This is matrix-matrix multiplication function, 
// but vector is just a matrix with one row/column. 
vDSP_mmulD(x, 1, theta, 1, y, 1, rows, 1, cols);

NSLog(@"[%f, %f, %f, %f]", y[0], y[1], y[2], y[3]);

[25.000000, 45.000000, 65.000000, 85.000000]

有关详细信息,请参阅intro to linear regression on wikipedia