我有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,但是我怎么做呢?
任何帮助将不胜感激!
答案 0 :(得分:3)
是的,你必须建立一个线性函数
y = a * x + b
为了做到这一点,你必须计算总和(x
是预测变量的值和y
- 是对应的结果):< / p>
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;