作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
是否有 Ruby 库允许我对一组数据进行线性或非线性最小二乘法逼近。
我想做的是:
我不想尝试移植某些 C/C++/Java 库来获得此功能,因此我希望有一些现有的 Ruby 库可供我使用。
最佳答案
尝试使用“statsample”gem。您可以使用下面提供的示例执行对数、指数、幂或任何其他转换。我希望这有帮助。
require 'statsample'
# Independent Variable
x_data = [Math.exp(1), Math.exp(2), Math.exp(3), Math.exp(4), Math.exp(5)]
# Dependent Variable
y_data = [3, 5, 7, 9, 11]
# Logarithmic Transformation of X data
# Math.log in Ruby has the base of Euler's number 'e' ~= '2.71828',
# instead of the base '10'. Just a note.
log_x_data = x_data.map { |x| Math.log(x) }
# Linear Regression using the Logarithmic Transformation
x_vector=log_x_data.to_vector(:scale)
y_vector=y_data.to_vector(:scale)
ds={'x'=>x_vector,'y'=>y_vector}.to_dataset
mlr=Statsample::Regression.multiple(ds,'y')
mlr.summary
# Provides the value of the y-intercept
#p mlr.constant
# Lists the coefficients of each casual variable. In this case, we have only one--'x'.
#p mlr.coeffs
# The regression output produces the line y = 1 + 2*x, but
# considering that we transformed x earlier, it really produces
# y = 1 + 2*ln(x).
关于用于进行线性或非线性最小二乘近似的 Ruby 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6118471/
我是一名优秀的程序员,十分优秀!