这可能是个愚蠢的问题,但我在lmfit's documentation中找不到答案。我的问题很简单:如何检索R的平方?(我知道我可以用1 - SS_res / SS_tot手动计算)
更新:
我试着自己计算R平方,并将其与statsmodels中的R平方进行了比较。
两种估计中的参数是相同的,但R平方不是。在
代码:from lmfit import minimize, Parameters
import numpy as np
import statsmodels.api as sm
import random
x = np.linspace(0, 15, 10)
x_ols = sm.add_constant(x)
y = [random.randint(0,15) for r in xrange(10)]
model = sm.OLS(y,x_ols)
results = model.fit()
print "OLS: ", format(results.params[0], '.5f'), format(results.params[1], '.5f'), "R^2: ", results.rsquared
# define objective function: returns the array to be minimized
def fcn2min(params, x, data):
a = params['a'].value
b = params['b'].value
model = a + b