给定一个点列表,我需要对它们进行简单的线性回归。这一部分非常简单,在很多地方都可以找到代码示例。
我的问题是确定回归系数(测量点在直线上的拟合程度)。如何使用Lua以编程方式确定这样的因子?
发布于 2011-09-22 03:00:26
e$ lua
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
> function calculate_MSE (points, slope, offset)
>> local SE = 0
>> local num_pts = 0
>> for x,y in pairs(points) do
>> local p = slope * x + offset
>> local err = y - p
>> SE = SE + err * err
>> num_pts = num_pts + 1
>> end
>> return SE / num_pts
>> end
> return calculate_MSE({1, 2, 3}, 1, 0) 0> return calculate_MSE({1, 2, 3}, 1, 1)1> return calculate_MSE({1, 2, 3}, 2, 1)9.6666666666667>
0
> return calculate_MSE({1, 2, 3}, 1, 1)
1
> return calculate_MSE({1, 2, 3}, 2, 1)
9.6666666666667
> 发布于 2011-09-21 17:32:13
不确定你所说的回归因子是什么意思,但正如维基百科上的这篇文章所说:MSE
两种线性回归技术,如方差分析,估计均方误差作为分析的一部分,并使用估计的均方误差来确定研究中的因素或预测因素的统计意义。实验设计的目标是以这样一种方式构建实验,即当分析观察结果时,相对于至少一个估计的治疗效果的大小,MSE接近于零。
这看起来就是你要找的因素。
你可以在维基百科的文章中获得关于MSE计算的详细信息。
希望我理解了你的问题,这对我很有帮助
发布于 2011-09-21 19:59:33
也许http://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient就是你想要的。
https://stackoverflow.com/questions/7496747
复制相似问题