gpt4 book ai didi

statistics - Go语言的线性回归库

转载 作者:IT王子 更新时间:2023-10-29 00:37:06 25 4
gpt4 key购买 nike

我正在寻找一个使用 MLE 或 LSE 实现线性回归的 Go 库。有人见过吗?

有这个统计库,但它似乎没有我需要的: https://github.com/grd/statistics

谢谢!

最佳答案

实现 LSE(最小二乘误差)线性回归非常简单。

Here是 JavaScript 中的一个实现 - 移植到 Go 应该是微不足道的。


Here是一个(未经测试的)端口:

package main

import "fmt"

type Point struct {
X float64
Y float64
}

func linearRegressionLSE(series []Point) []Point {

q := len(series)

if q == 0 {
return make([]Point, 0, 0)
}

p := float64(q)

sum_x, sum_y, sum_xx, sum_xy := 0.0, 0.0, 0.0, 0.0

for _, p := range series {
sum_x += p.X
sum_y += p.Y
sum_xx += p.X * p.X
sum_xy += p.X * p.Y
}

m := (p*sum_xy - sum_x*sum_y) / (p*sum_xx - sum_x*sum_x)
b := (sum_y / p) - (m * sum_x / p)

r := make([]Point, q, q)

for i, p := range series {
r[i] = Point{p.X, (p.X*m + b)}
}

return r
}

func main() {
// ...
}

关于statistics - Go语言的线性回归库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16422287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com