【问题标题】:How do I calculate the mean square error如何计算均方误差
【发布时间】:2017-04-04 04:18:37
【问题描述】:

我设法拼凑了以下代码:

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

但我不知道 x 的“公式”是什么(参见代码注释)。

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

输出应该是这样的

【问题讨论】:

  • d.Count() 呢?
  • data.Count () 或 Lenght... 或在 for 循环中将一个 count 变量加一。 x 将等于 count。
  • 你确定...? d.Count() 的值为 8
  • 没有。 Vivek nuna 是对的,我很困惑,写错了清单。应该是 data.Count()。
  • 不过,那个“d”列表似乎没用。

标签: c# math statistics linear-algebra


【解决方案1】:

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

至于 x,我认为data.Count() 可以

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    • 2020-09-20
    • 2011-07-19
    • 2023-03-15
    • 2020-05-13
    相关资源
    最近更新 更多