Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 线性回归方程到C的正确转换#_C#_Statistics - Fatal编程技术网

C# 线性回归方程到C的正确转换#

C# 线性回归方程到C的正确转换#,c#,statistics,C#,Statistics,我试图在C#中复制这个方程:斜率(b)=(N∑XY-(∑X)(∑Y))/(N∑X2-(∑X)2),但我得到了以下问题: 如果我把X=1+2+3+4+5的平均值和Y=5+4+3+2+1的平均值取下来,它会给我一个正斜率,即使它明显是倒计时的。如果我将相同的数字放入此计算器: 在相同数据的链接计算器中,它给了我一个负斜率。我试图缩小原因的范围,下面是从等式到C代码的正确翻译: 斜率(b)=(N∑XY-(∑X)(∑Y))/(N∑X2-(∑X)2) 到 斜率(m)=(x*avgX*avgY)-(avgX

我试图在C#中复制这个方程:斜率(b)=(N∑XY-(∑X)(∑Y))/(N∑X2-(∑X)2),但我得到了以下问题:

如果我把X=1+2+3+4+5的平均值和Y=5+4+3+2+1的平均值取下来,它会给我一个正斜率,即使它明显是倒计时的。如果我将相同的数字放入此计算器:

在相同数据的链接计算器中,它给了我一个负斜率。我试图缩小原因的范围,下面是从等式到C代码的正确翻译:

斜率(b)=(N∑XY-(∑X)(∑Y))/(N∑X2-(∑X)2)


斜率(m)=(x*avgX*avgY)-(avgX*avgY))/(x*Math.Pow(avgX,2))-Math.Pow(avgX,2))

平均值与此无关。∑表示和(…)。实际上应该是:

var sumX = pts.Sum(pt => pt.X);
var slope = (numberOfPoints * pts.Sum(pt => pt.X * pt.Y) -
             sumX * pts.Sum(pt => pt.Y)) /
            (numberOfPoints * pts.Sum(pt => pt.X * pt.X) -
             sumX * sumX)
∑XY并不意味着和(x)*和(y)。但它的意思是总和(x*y),这是不同的

∑X2并不意味着和(x)^2。但它的意思是总和(x^2),这也是不同的

∑XY=∑(XY)!=∑X*∑Y

这就是你犯错误的真正原因


除此之外,还有平均值与总和的术语,你离答案不远。

平均值与此无关。∑表示和(…)。实际上应该是:

var sumX = pts.Sum(pt => pt.X);
var slope = (numberOfPoints * pts.Sum(pt => pt.X * pt.Y) -
             sumX * pts.Sum(pt => pt.Y)) /
            (numberOfPoints * pts.Sum(pt => pt.X * pt.X) -
             sumX * sumX)
∑XY并不意味着和(x)*和(y)。但它的意思是总和(x*y),这是不同的

∑X2并不意味着和(x)^2。但它的意思是总和(x^2),这也是不同的

∑XY=∑(XY)!=∑X*∑Y

这就是你犯错误的真正原因


除此之外,还有平均值与总和的术语,你离答案不远。

你先读了吗?不,我还没有,我没有看到那一页,那也会有很大帮助。你先读了吗?不,我还没有,我没有看到那一页,那也会有很大帮助