ポイントのリストが与えられた場合、それらに対して単純な線形回帰を実行する必要があります。この部分は非常に簡単で、コード例は多くの場所で見つけることができます。
私の問題は、回帰係数を決定することです(点が線にどれだけ収まるかを測定します)。Luaを使用して、プログラムでそのような要因をどのように判断できますか?
ポイントのリストが与えられた場合、それらに対して単純な線形回帰を実行する必要があります。この部分は非常に簡単で、コード例は多くの場所で見つけることができます。
私の問題は、回帰係数を決定することです(点が線にどれだけ収まるかを測定します)。Luaを使用して、プログラムでそのような要因をどのように判断できますか?
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
>
あなたが何を意味するのかよくわかりません:回帰係数ですが、このウィキペディアの記事で述べたように:MSE
分散分析などの両方の線形回帰手法は、分析の一部として MSE を推定し、推定された MSE を使用して、調査中の因子または予測因子の統計的有意性を判断します。実験計画の目標は、観察結果を分析したときに、推定された治療効果の少なくとも 1 つの大きさに比べて MSE がゼロに近くなるような方法で実験を構築することです。
それはあなたが探している要因のようです。
MSE の計算の詳細については、ウィキペディアの記事を参照してください。
あなたの問題を理解し、それが役立つことを願っています