给定 2 组数据的 c# 线性回归

c# linear regression given 2 sets of data

我有 2 组数据 - 一组是平均位置,另一组是分数,所以对于每个位置,我都有一个项目的预测分数 -

double[] positions = {0.1,0.2,0.3,0.45,0.46,...};
double[] scores = {1,1.2,1.5,2.2,3.4,...};

我需要创建一个函数来预测平均排名的得分,因此给定一个排名为 1.7 的新项目。 我明白这个函数应该类似于 y=a*x + b 但我该如何实现它?

任何帮助将不胜感激!

是的,你必须建立一个线性函数

  y = a * x + b

为了做到这一点,您必须计算总和(x 预测变量的 值,而 y - 是相应的 结果):

 sx  - sum of x's
 sxx - sum of x * x
 sy  - sum of y's
 sxy - sum of x * y

所以

 a = (N * sxy - sx * sy) / (N * sxx - sx * sx);
 b = (sy - a * sx) / N;