如何使用Accord.NET计算多元线性回归的均方误差?

时间:2017-12-08 22:20:57

标签: machine-learning f# regression accord.net

Mastering .NET Machine Learning的书Jamie Dixon有一些代码实现了多元线性回归。使用这些数据:

let xs = [| [|15.0;130.0|];[|18.0;127.0|];[|15.0;128.0|];[|17.0;120.0|];[|16.0;115.0|] |]
let y = [|3.6;3.5;3.8;3.4;2.6|]

以下统计数据在书中计算:

val sse : float = 0.1734125099 // Sum of Squared Errors
val mse : float = 0.03468250198 // Mean Squared Error
val rmse : float = 0.186232387 // Root Mean Squared Error
val r2 : float = 0.7955041157 // Coefficient of Determination or R-Squared

本书中的代码使用version 3.0.2的{​​{1}}。

在最新版本(Accord.NET)下,本书中的代码不起作用。以下是在此最新版本下的作品:

3.8.0

本书展示了计算open Accord.Statistics.Models.Regression.Linear let ols = OrdinaryLeastSquares() let regression = ols.Learn(xs, y) let stderr = regression.GetStandardError(xs, y) ssemse的方法,但是使用当前的API,我无法找到计算这些统计信息的方法。

有人可以使用rmse的API推荐一种计算ssemsermse之一的方法吗?这三个统计数据通过简单公式相关,因此计算其中一个就足够了。我找到了一个公式,将其中一个与通过调用version 3.8.0获得的值相关联,但该公式对我来说并不直观,它只是一个临时关系。

顺便说一句,我知道如何使用简单的公式计算三个统计数据,我只想知道它们与GetStandardError和API函数返回的其他统计信息的关系,以及不节省一些执行时间用我自己的代码计算它们。

0 个答案:

没有答案