如何计算均方误差

时间:2016-11-20 20:11:28

标签: c# math statistics linear-algebra

我有以下代码可以拼凑起来:

private void CalcMSE(List<Point> data)
{
    double sum = 0.0;

       foreach (Point item in data)
       {
          double difference = item.m_x - item.m_y;
          sum = sum + difference * difference;
       } 
    double mse = sum / x;  //<-- Don't know what x should be!
    Console.WriteLine("The mean square error is {0}",mse) ;
}

输入是:

point.m_x = 3;
point.m_y = 1;
pointList.Add(point);

point.m_x = 4;
point.m_y = 4;
pointList.Add(point);

point.m_x = 5;
point.m_y = 6;
pointList.Add(point);

point.m_x = 6;
point.m_y = 6;
pointList.Add(point);

point.m_x = 8;
point.m_y = 10;
pointList.Add(point);

据知情人士称,MSE应为0.77,MSR为40.89

但我不知道&#34;公式&#34;对于x是(见代码注释)。

任何人都可以帮助我了解线性回归吗?

这里的输出应该是什么

desired ouput

1 个答案:

答案 0 :(得分:0)

首先,我认为你应该在添加到列表point = new Point(x,y)之前创建一个新点,我认为list.add不会创建副本。

对于x,我认为data.Count()会做